Security Logging

Logging overview

mbox series (HSG, CMG, UA, HSA, mlog) have extensive support for user access and system audit logging, via Syslog. Syslogs are classified into different severity (Emergency, Alert, Critical, Error, Warning, Notice, Informational, debugging) and facilities, etc.

Many regulators, such as the Sarbanes-Oxley Act, PCI DSS, HIPAA, etc, require organizations to implement comprehensive security measures, which often include collecting and analyzing logs from various sources. Long time Syslog has become an industry standard for collecting logs from different sources. More details on Syslog can be searched online.

This document focuses on mbox Host’s support for security logging, either as a Syslog collector (eg. HSG/mlog) or a Syslog client. Depending on the deployment requirements, mbox can run in either (or both) of two modes (Syslog Collector/Syslog Client)

  1. Syslog collector. Syslog collector receives either self-originated or incoming logs from external hosts (log clients) via standard Syslog protocol, then the collector parses the received logs and inserts them into SQL database, making the binary logs reachable from intuitive GUI and ready for archival, etc.
  • HSG by default has the ability to store user access logs locally, but with limited storage space. usually no more than 20GB is available for storing logs, which is generally enough to store archived user access logs for up to 90 days.
  • We also have dedicated collector appliances to function as Syslog collectors (mlog series: LOG-500, LOG-1000, LOG-2000). mlog appliances are unique variants of mbox models with additional SSD/HDD storage capacity. mlog series are typically deployed as a central logging warehouse to consolidate logs from all devices within customer networks. Any devices supporting standard Syslog protocol can potentially export their logs to the mlog collector. NOTE, there’re 3rd-party opensource software converters to convert Windows Event Log into Syslog to export to mlog.
  • HSG/mlog also comes with an intuitive log analyzer/GUI to display live incoming logs, with sophisticated searching functions for investigation and compliance reporting purposes.

  1. Syslog client. Syslog clients are basically devices, they generates messages in Syslog format and exports the logs to an external Syslog server/collector.

NOTE

All mbox product families (CMG, HSG, HSA) can be configured as Syslog clients, track network packets, generate user access logs, and export as Syslog messages to local (in the case of HSG) or external Syslog server (mlog or other 3rd-party Syslog servers).

Below code samples shows the different type of logs supported by mbox appliances.

Firewall access logs. This is generated by the firewall module, by inspecting up to the transport layer (layer 4) of each packet. Below is a raw sample firewall log output.

INFO:

The MAC option in the following log combines src/dst/type together. For example below MAC value consists of 3 parts. Source MAC, Destination MAC, and frame type.

MAC=00:90:0b:34:b4:7f:00:90:0b:3e:05:0c:08:00

00:90:0b:34:b4:7f : Destination MAC=00:90:0b:34:b4:7f. This is the next-hop router MAC address.
00:90:0b:3e:05:0c : Source MAC=00:90:0b:34:b4:7f. This is the device (eg. user PC or phone) MAC address.
08:00 : Type=08:00 (ethernet frame carried an IPv4 datagram). This value is the same for all logs in an Ethernet environment.

URL access logs. This is generated by web proxy by tracking each user browsing session, with the full URL path for each request.

This is applicable only for HTTP-based traffic. mbox proxy doesn’t intercept HTTPS traffic. As an alternative, you can consider DNS logging for tracking HTTPS requests, but unlike proxy logs, DNS logs don’t track the full URL path. Below is a raw sample URL log output:

  • DNS access logs. This is enabled by default for HSG/CMG/HSA.

DNS log tracks all requests, for both http/https-based URL requests and all other applications (eg. even mobile apps requests), but not up to the full URL path. It’s a very effective method and is commonly used by many other products for user behavior analytics and URL filtering (eg. SafeDNS and OpenDNS). Below is a raw sample DNS log output

  • DHCP logs. DHCP logging is enabled by default. This log captures user device DHCP request and mbox offer/reply to the device, which is essential to track device NAME, MAC, and IP mapping.
  • RADIUS session logs. RADIUS session logging is available for HSG only and it’s enabled by default. It captures user device authentication and connection requests on a per-connection basis.

When a device is configured to export syslogs to an external Syslog server, we call it a Syslog client. HSG can function as both log server/collector and client.

NOTE

CMG and HSA work as log clients only

Different vendor products have their own syntax in tracking firewall access logs and enabling Syslog exports, please consult the respective product guides.

This section focuses on firewall access logging and how to export logs out for CMG/HSG/HSA.

Configuration steps for a logging client:

  • Enable firewall access logging (CMG, HSG, HSA, UA).

NOTE

DNS logging, DHCP logging, and HSG RADIUS logging are enabled by default.

  • Configure log-out rules to export out logs

ENABLE FIREWALL ACCESS LOGGING

  1. Enable Firewall Access Logging

We use mfusion firewall-access rules to log each packet passing through mbox.

For HSG/HSA/UA to enable logs for each hotspot instance, we use the command line to configure the logs within the instances.

User can configure mfusion firewall-access rules by navigating to ‘ORCHESTRATOR > Configuration‘, click on the mbox host mac address and navigate to ‘Security tab’ > ‘Firewall Policies menu’ > select ‘Access Rules‘ section .

To add new rules click on the button to create a permit log rule.

Code to configure firewall-access rules to log

The below command is for HSG/HSA/UA to maintains a separate set of firewall rules for each hotspot instance, so we enable logging using hotspot-access rules under each hotspot instance.

  1. Configure Log-out Rules to Export Logs.

The log-output rule defines what type of logs to export out and to which servers (using the log-output xx command). If there’re multiple log-output rules, they work in top-down sequences.

Users can SSH to the device command line to configure the below rule.

  • <ACL Number> defines a sequence of output rules. It is like firewall rules, processed from top-down, once a log is matched with an upper rule, it will not be processed by lower rules. So it’s important to plan the rules sequence when we have many rules.
  • <collector-ip> specifies the IP address of external Syslog collector (eg. LOG-500).

NOTE

If there’s a firewall in between, the firewall needs to open UDP/514 for the traffic to pass through.

  • <filter> defines filtering rules based on Syslog fields to determine the matched logs to export. below is a list of available options:
    • msg <text> filter by messages containing configured text
    • fac <facility> filter by facility (eg. local1, local2, local3, local4…up to local7)
    • prio filter by log priority/severity (eg. ALERT, NOTICE, INFO, etc), containing the configured priority.
    • tag filter by Syslogtag, containing the configured text.
    • all send all logs.

The log-output rule defines what type of logs to export out and to which servers (using the log-output xx command). If there’re multiple log-output rules, they work in top-down sequences.

  • <ACL Number> defines a sequence of output rules. It is like firewall rules, processed from top-down, once a log is matched with an upper rule, it will not be processed by lower rules. So it’s important to plan the rules sequence when we have many rules.
  • <collector-ip> specifies the IP address of external Syslog collector (eg. LOG-500).

NOTE

If there’s a firewall in between, the firewall needs to open UDP/514 for the traffic to pass through.

  • <filter> defines filtering rules based on Syslog fields to determine the matched logs to export. below is a list of available options:
    • msg <text> filter by messages containing configured text
    • fac <facility> filter by facility (eg. local1, local2, local3, local4…up to local7)
    • prio filter by log priority/severity (eg. ALERT, NOTICE, INFO, etc), containing the configured priority.
    • tag filter by Syslogtag, containing the configured text.
    • all send all logs.

In real practice, if we are unsure which filter options to use, we use “all” first, then mbox will export out all the logs. After we study the logs from Syslog collector GUI and decide what field to use for filtering, then we can fine-tune the log-out rules for better control.

wpChatIcon
wpChatIcon