The emulator makes extensive use
of OOP, particularly of the features offered by the C++ language. While C and
C++ are reviled by some for their perceived cryptic nature (although there is no
rule that says C or C++ code has to be cryptic), they are commonly considered to
be the languages of choice for low-level, portable programming found in
operating systems, device drivers, and emulators. C and C++ give programmers a
level of control over the bits and bytes of their code few other high-level
languages offer, and C and C++ compilers that produce blazingly fast code are
available for virtually any platform.
The Intrusion Prevention System generates a wealth of
evidence for its effectiveness including assorted MultiNet log files, OPCOM,
SNMP and the OpenVMS Security Audit logs.
There are several log files created by MultiNet IPS:
- MULTINET:FILTER_SERVER.OUT is the primary log file for the filter server
process.
- MULTINET:FILTER_SERVER_HOURLY_LOG.yyyymmdd is a “day file” containing a
summary of filter actions each hour during the day. A new file is created
every day at 1am.
Here is an extract from the
FILTER_SERVER.OUT file on one
of our systems:
FILTER_SERVER V1.0.0
20-MAR-2009 12:14:07.28 - Using configuration file
MULTINET_ROOT:[MULTINET]FILTER_SERVER_CONFIG.TXT;
20-MAR-2009 12:14:07.30 - Processing include file
"multinet:ssh_filter_config.txt"
20-MAR-2009 12:14:07.30 - Using configuration file
MULTINET_ROOT:[MULTINET]SSH_FILTER_CONFIG.TXT;
20-MAR-2009 20:37:03.46 - Event message received
20-MAR-2009 20:37:03.46 - Component: SSH
20-MAR-2009 20:37:03.46 - Rule : SSH_BOGUS_ID
20-MAR-2009 20:37:03.46 - Time : 20-MAR-2009 20:37:03.46
20-MAR-2009 20:37:03.47 - Src Port : 54232
20-MAR-2009 20:37:03.47 - Src Addr : 68.54.152.69
20-MAR-2009 20:37:03.47 - Dst Addr : 150.101.13.12
20-MAR-2009 20:37:03.47 - Process : SSHD Master
20-MAR-2009 20:37:03.47 - PID : 208000AD
20-MAR-2009 21:12:01.31 - Event message received
20-MAR-2009 21:12:01.31 - Component: SSH
20-MAR-2009 21:12:01.31 - Rule : SSH_INVALIDUSER
20-MAR-2009 21:12:01.31 - Time : 20-MAR-2009 21:12:01.31
20-MAR-2009 21:12:01.32 - Src Port : 55839
20-MAR-2009 21:12:01.32 - Src Addr : 68.54.152.69
20-MAR-2009 21:12:01.32 - Dst Addr : 150.101.13.12
20-MAR-2009 21:12:01.32 - Process : SSHD 0000
20-MAR-2009 21:12:01.32 - PID : 20800B83
20-MAR-2009 21:12:06.49 - Event message received
20-MAR-2009 21:12:06.49 - Component: SSH
20-MAR-2009 21:12:06.49 - Rule : SSH_INVALIDUSER
20-MAR-2009 21:12:06.49 - Time : 20-MAR-2009 21:12:06.49
20-MAR-2009 21:12:06.50 - Src Port : 55991
20-MAR-2009 21:12:06.50 - Src Addr : 68.54.152.69
20-MAR-2009 21:12:06.50 - Dst Addr : 150.101.13.12
20-MAR-2009 21:12:06.50 - Process : SSHD 0001
20-MAR-2009 21:12:06.50 - PID : 20800C04
... Event messages
removed for brevity ...
20-MAR-2009 21:12:47.13 - Event message received
20-MAR-2009 21:12:47.13 - Component: SSH
20-MAR-2009 21:12:47.13 - Rule : SSH_INVALIDUSER
20-MAR-2009 21:12:47.13 - Time : 20-MAR-2009 21:12:47.12
20-MAR-2009 21:12:47.13 - Src Port : 50039
20-MAR-2009 21:12:47.13 - Src Addr : 68.54.152.69
20-MAR-2009 21:12:47.14 - Dst Addr : 150.101.13.12
20-MAR-2009 21:12:47.14 - Process : SSHD 0009
20-MAR-2009 21:12:47.14 - PID : 20800C20
20-MAR-2009 21:12:47.14 - Creating a filter for component ssh rule
ssh_invaliduser
20-MAR-2009 21:12:47.14 - src address = 68.54.152.69/32
20-MAR-2009 21:12:47.14 - dst address = 150.101.13.12/27
20-MAR-2009 21:12:47.14 - interface = se0
20-MAR-2009 21:12:47.14 - filter expires 20-MAR-2009
21:17:47.14
21-MAR-2009 00:00:00.50 - Performing daily maintenance
The extract above shows that the filter server started at
20-MAR-2009 12:14:07.28 and loaded a single service-specific configuration file
(for SSH). At 20:37:03.46 the SSH server reported suspicious activity but this
was not followed by any other such activity within the specified timeout (5
minutes by default) and so was ignored. Then at 21:12:01 the SSH server
reported more suspicious activity and this time the remote system (68.54.152.69)
persisted in its breakin attempts. After ten such reports in the space of under
a minute the IPS created a packet filter to block the remote system.
The FILTER_SERVER_HOURLY_LOG files contain hourly snapshots
of IPS activity. For example the time period corresponding to the extract above
looks like this:
Filter server hourly snapshot for hour 21 of 03/20/2009
Component ssh
Rule ssh_bogus_id
number of hits: 0
destination address: 150.101.13.12/27
Address 68.54.152.69/32
number of still-queued events: 0
number of all events: 0
number of filters created: 0
Address entry to be deleted: 21-MAR-2009 00:42:03.46
Rule ssh_authfailed
number of hits: 0
destination address: 150.101.13.12/27
Rule ssh_userauth
number of hits: 0
destination address: 150.101.13.12/27
Rule ssh_invaliduser
number of hits: 10
destination address: 150.101.13.12/27
Address 68.54.152.69/32
number of still-queued events: 0
number of all events: 10
number of filters created: 1
Address entry to be deleted: 21-MAR-2009 01:12:47.19
In addition to the log files, the regular MultiNet
interface commands can be used to see what packet filters are in place at any
given moment:
$
mu show/int se0/filter
Device se0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,D2>
VMS Device = EWA0
IP Address = 150.101.13.12
No common links defined
MultiNet Packet Filter List for se0:
Logging is disabled
Source Address / Port
Action Proto Hits Destination Address / Port
------ ----- ----- ---------------------------------------------------drop tcp 29 213.174.151.17/32
150.101.13.0/27
FLTSVR,LOG
$
Note: The above output was generated some days after
the events shown in the log file extracts. |