Components of the Open-AudIT Architecture

Open-AudIT has three main components. The database, the web server and the audit host. Typically in smaller organisations these are installed on the same server, but this need to be the case if a large number of devices are being audited. The Open-AudIT server can be either a Linux or windows based machine. 

The Database

The database (at present) is MySQL. The CodeIgniter PHP framework does allow for abstracted databases and the actual SQL code in Open-AudIT does not use MySQL specific extensions so converting the application to use another database should not be a large undertaking. The database does not have to be on the same server as the web application. Opening the file open-audit/code_igniter/application/config/database.php will reveal the usual array of variables to connect to the database server.

The Web Server

The web server acts as the brains of the application. At present Apache is the preferred web server however other web servers can be used if they support PHP. All logic is contained on the web server. Minimal logic is contained in the audit scripts or database. As well as processing the audit results and displaying the web pages, the web server can query Active Directory for user credentials (php_ldap), query devices directly using snmp (php_snmp), cater for multi byte character sets (php_mbstring) in audit results and initiate nmap subnet discovery.

The Audit Host

The audit host is simply the computer that has the audit scripts installed. This can be the Web Server itself or a second (or third, forth) server with the scripts configured to send results back to the Web Server upon completion of it's scheduled tasks (or cron jobs). Using a separate machine for auditing can reduce the load on the web server which has to process the audit results. Audit Hosts can audit different domains and types of computers within those domains - all separate from one another. For some examples, How to use Active Directory Discovery.


A basic diagram is below.