DocsConcepts

Read-only sources

Devexana sources only read your systems. Separate features can write to business systems. In this release, Devexana disables network-device configuration changes in code.

Available
Read-only checks on sources, with administrator approval for each read function
In production use
Read-only switch reads over SSH and SNMP on Aruba/HP AOS-S (ProCurve) switches
In production use
Barracuda CloudGen syslog, received by the syslog listener
Off by default
Listeners for syslog, SNMP traps and NetFlow
On this page

The short answer

  • Sources only read. When a source loads, Devexana rejects it if it declares a write operation.
  • Each read function needs approval. Each read function stays off until an administrator approves it.
  • Switch commands pass an allowlist. Devexana sends a switch only commands that pass a read-only command allowlist.
  • Network-device changes are locked. In this release, changes to network-device configuration are disabled in code.
  • Sources need read access only. Give each source a read-only account. Do not give a source account permission to change configuration.
  • Business-system writes are separate. The What can write table lists the business-system writes and their defaults. None of them can change network-device configuration.

Access that Devexana needs

SystemAccount to createNetwork path from the appliance
Switches and routersAn SSH account with a read-only role, an SNMPv2c read-only community, or an SNMPv3 read-only userSSH (TCP 22) and SNMP (UDP 161)
Barracuda CloudGen firewallAn SSH account with the fewest rights that allow the read commandsSSH (TCP 22)
Helpdesk, monitoring and other API systemsA read-only API key or tokenHTTPS
DirectoryA read-only LDAPS bind, or Entra ID application credentials with read permissionsLDAPS (TCP 636) or HTTPS
Syslog, SNMP traps and NetFlowNone. Devices send to a listener on the applianceInbound to the appliance only

Create read-only accounts gives the steps for each account. Devexana stores each credential encrypted on the appliance.

Checks on the read path

Each type of source has its own guard. Devexana checks API source declarations and requires administrator approval for each read function. Switch and firewall reads over SSH and SNMP pass the command guard for their transport. Directory sources use a read-only bind. A read that fails a check does not leave the appliance.

Diagram titled Checks on the read path. Under the Devexana service are three columns. Web API sources: check 1, read-only at load, where a source that declares a write method is rejected; check 2, approved per read function, where an administrator approves each one. Switches and firewalls: the command guard allows SSH read commands, SNMP GET and GETNEXT, and NAPALM getters. Device changes: a hatched box, disabled in this release, refused before a connection opens. A footer says that directory reads use a read-only bind and that DHCP lease files are read as files.
API sources require read-only declarations and administrator approval for each read function. Switch and firewall reads pass the command guard for their transport. Network-device changes take a separate path, and a lock in the code closes it in this release. Open full size
  1. Each source must declare itself read-only when it loads (API sources). Devexana rejects a source that declares any HTTP method other than GET, HEAD or OPTIONS. It also rejects a read function whose name contains a write verb.
  2. An administrator approves each read function (API sources). Every read function starts off. An administrator approves the read functions in the last step of adding a source, or later on the source's page. Devexana records the approval in the audit log. The approval path cannot approve a write. Switch, firewall SSH, directory and DHCP lease file sources have no read functions to approve. An administrator adds the source, and the guard for its transport limits what it reads.
  3. Devexana checks each command (switch and firewall reads). Devexana checks each command before it leaves the appliance. Each transport has its own guard. The next section lists what each guard allows.

The NetBox and Nautobot readers follow the same rule. They reject write attributes when they load, and they are off by default.

Screenshot of step 4 of 4 of the Add connector wizard, titled Approve reads, for a Cisco Meraki Dashboard source. Each read function is listed with its HTTP method, GET, and its own toggle. The standard reads are preselected. At the bottom, the button Approve 7 reads and finish.
The Approve reads step. The administrator turns off any read that is not needed, then approves the rest. Fictional sample data. Open full size

What each transport allows

Devexana sends a switch only commands that start with a read verb such as show, display or get. It refuses shell metacharacters, so a read command cannot be chained to another command.

TransportWhat Devexana allows
SSH to switches and routersCommands that start with show, display, get, cat, more, ls, ip, ifconfig, netstat, uptime, version or dir. Devexana refuses shell metacharacters (; & | $ > < ( ) and line breaks). It also refuses the write forms of ip and ifconfig
SNMPGET and GETNEXT only. Devexana never sends an SNMP SET. SNMPv3 uses HMAC-SHA authentication and AES-128 privacy
NAPALMGetter methods only
Barracuda CloudGen over SSHOne fixed batch of read commands. Devexana checks each command
Aruba AOS-S RESTGET only. Devexana refuses the /cli path
Aruba InstantSix fixed show commands
Cisco CUCM (AXL)A fixed list of read operations
Sophos XG (XML API)Read (Get) requests only
Windows (WinRM)WQL SELECT queries only
REST sourcesGET, HEAD and OPTIONS only

What is recorded

Devexana records device commands in two places.

CommandWhere Devexana records it
A command that a person runs from the read-only consoleThe audit log, including blocked commands
A command that the assistant runsThe audit log, including blocked commands
A scheduled readThe command log for that network device. It keeps the latest 500 commands for each device

Devexana also protects the data it reads:

  • It masks secrets in device output before it stores the output. This covers RADIUS and TACACS+ keys, SNMP communities, password hashes and private keys.
  • It records the SSH host key of each network device at the first connection. Later, it refuses a different host key.

What Devexana reads by default

By default, Devexana reads each switch's running configuration once a day. A wider set of read commands is an installation setting. Switches over SSH and SNMP lists the commands.

Restrict the device account too

Restrict the device account as well as the commands. Configure both controls.

  1. Give Devexana a dedicated account on each network device. Create read-only accounts gives the steps.
  2. Give that account a read-only role on the network device.
  3. On Linux-based network equipment, limit the files that the account can open.
  4. Use an SNMP read-only community or an SNMPv3 read-only user.

Listeners

Listeners receive syslog, SNMP traps and NetFlow. The listener sockets cannot send.

PropertyValue
ProtocolsSyslog over UDP, with optional TCP · SNMP traps v1 and v2c · NetFlow v5 and v9 · IPFIX
DefaultOff. An administrator turns on each listener
Setting namessyslog_listener_enabled, snmptrap_listener_enabled, flow_listener_enabled
AddressThe loopback address, until an administrator sets a LAN address. Devexana refuses a public address
SendingBlocked. A listener socket cannot send data
Size limit8,192 bytes for each message
Rate limit2,000 packets per second from each source address

The device-change lock

In this release, a lock in the code refuses every network-device change before any connection to the device opens. No setting or approval releases it. Devexana records each refusal in the audit log.

The lock covers:

  • Changes to switches and routers.
  • Changes to firewalls, network access control, cloud-managed networks and voice systems.
  • The interactive SSH terminal.
  • The serial console.

Change proposals and human approval describes the change-approval design behind the lock.

What can write

This table lists the write paths in Devexana and the default of each. In this release, none of them can change network-device configuration.

Write pathWhat it writesDefault
HTTP actionsA request to an HTTP destination that you declare. Devexana refuses DELETEInactive until an administrator sets it up
Laserfiche filingA document filed in your Laserfiche repositoryInactive until an administrator sets it up
Lansweeper helpdesk notesA note on a Lansweeper helpdesk ticketInactive until an administrator sets it up
Routine resultsA fixed-format result sent to one of the three write paths aboveInactive until an administrator attaches the action to a Routine
Asset write-backUpdates to a closed list of asset fields in Lansweeper. Tickets and purchase orders from fixed templates in FreshserviceOff by default
Directory password resetA password reset in your directory, over LDAPSOff by default
Alert emailA notice with a severity, a count and a link back to the applianceOff by default
Change ticketsA change ticket in your ticketing system, linked to a network-device changeExists, but cannot be configured in this release
Network-device changesChanges to switches, routers, firewalls, network access control, cloud-managed and voice systemsRefused by the change lock in this release
The appliance itselfA setup assistant runs a closed list of nine maintenance actions on the applianceEach action needs a typed confirmation at the appliance console

The device-change lock does not cover the business-system writes in this table. Their own settings and approvals control them.

Limits

Supported vendors and protocols gives the support tier for each vendor. Outbound connections: the complete list lists the outbound connections and their defaults.

Applies to Devexana release 0.3.182. Page updated 2026-10-20. Questions or corrections: support@devexana.com.