About the Client
The Client is a leader in the development of real-time monitoring, auditing and computer forensics technologies for Windows and Novell networks. Its flagship product is used to secure the assets of the world’s largest corporations, banks, and government agencies, educational and healthcare institutions.
The Client had a significant install base for its flagship software on Novell Netware OS. Novell’s adoption of Linux as the migration path for Netware OS created both an opportunity and a challenge for the Client. To continue supporting its Netware user base through Linux migration, the client wanted to port its monitoring and auditing solution to support SUSE Linux, Novell eDirectory and NSS (Novell Storage Services).
The Client did not have in-house Linux Systems programming expertise, especially with file systems & security knowledge and approached Silicus.
Need help with a Software Modernization & Re-engineering project?Contact Silicus Sales
The software had two parts – the agent (client) and the server. The agent was a module that was installed on the PC’s to be audited, and sends information on PC activities to a server installed at a centralized location. Termination of Netware required the agent to be re-developed/ported to Linux.
Silicus commenced a feasibility study to address a few unknowns in the project:
- Identify the auditing modules available on SuSE Linux
- XML libraries that could be used
- Multi-threading architecture to be used for agent development
Silicus created a software architecture and design for the remote management agent. The agent was developed leveraging 3rd party tools to perform the auditing, monitoring of the Linux systems and communication with the remote server.
Agent was developed using C, C++ language on SuSE Linux. Libxml2 XML C libraries were used for parsing XML files that were output from the agent. Agent was designed for higher performance without OS overhead through the use of Pthreads or POSIX threads. Pthreads help realize performance gains by creating multi-threaded programs.
Auditing and Monitoring
- Inotify linux kernel sub system API for file and directory monitoring
- Novell API for NSS and eDirectory for auditing
- Connectivity and Server Communication
IP*Works! and IP*Works! Secure SNMP was used for building secure integration between the agent and server, for SNMP and SMTP alerts. The tools incorporated security features for authentication, authorization, and access control.
Packaging and Deployment
RPM Package Manager (a.k.a Red Hat Package Manager) was used for agent packaging and deployment.
Tools / Libraries (if any)
IP*Works, RPM Package Manager, inotify API, Novell API and Libxml2 libraries
Accelerated time to market
The Client wanted to offer a Linux migration path as early as possible and avoid impacting an existing revenue stream from its Netware install base. Additionally, the client wanted to leverage this opportunity to gain competitive advantage. Silicus helped the client quickly achieve its goals leveraging its Linux systems programming expertise.
Lower risks through reliable, predictable processes
A mature and process oriented approach towards requirements assessment, design, development and testing provided visibility and predictability of project progress at all times, significantly reducing the software engineering risks.
Expertise from low cost location
Developing a security auditing and monitoring solution using C, C++ on SuSe Linux requires fairly niche skills. The client leveraged Silicus expertise from a cost effective location to achieve significant monetary gains.