The following content pack is available for use with a Graylog Illuminate license and Graylog Enterprise or Graylog Security. Contact sales to learn more about obtaining Illuminate.
Sendmail is a free and open-source mail transfer agent (MTA) used to route and deliver email on Unix-based systems. This technology pack will process Sendmail logs and includes parsers and dashboards to visualize key data such as sender/recipient activity, delivery status, ruleset rejections, authentication, and processing statistics.
What is Provided
- 
                                                Rules to parse, normalize and enrich Sendmail log messages and a dashboard with six tabs covering key insights. 
Supported Version(s)
- Tested with Sendmail version 8.15.2 but earlier versions are compatible.
Requirements
- Minimum of Graylog version 5.2.4 with a valid Enterprise license.
Stream Configuration
This technology pack includes 1 stream:
- "Illuminate:Sendmail Mail Server Messages"
                                            
Index Set Configuration
This technology pack includes 1 index set definition:
- "Sendmail Mail Server Logs"
                                            
Log Collection
- Syslog
- Filebeat (with Sidecar)
Syslog Configuration
Sendmail outputs to syslog under mail facility by default.
- 
                                                Create a matching syslog input in Graylog. 
- 
                                                Configure your syslog server (e.g. rsyslog) to send the logs to Graylog. 
                                            
Filebeat Configuration
Please refer to the official documentation to setup Graylog Sidecar for filebeat.
- 
                                                Create a matching Beats input in Graylog. 
- 
                                                Create an API access token and Linux filebeat collector. 
- 
                                                Configure the collector for Sendmail. See the following example snippet: 
- 
                                                Configure the client with filebeat and Sidecar. 
filebeat.inputs:
- input_type: log
  paths:
    - /var/log/mail.log
  type: filestream
  fields_under_root: true
  fields:
    event_source_product: sendmail
                                                event_source_product and - /var/log/mail.log.
Log Format Examples
Receipt Logs
            `qA6KmkmX918730: from=<user@corp.example.com>, size=1286, class=0, nrcpts=1, msgid=<498FC718.7000891@corp.example.com>, proto=ESMTP, daemon=MTA, relay=a.mail.example.com [11.111.11.111]`
Delivery Logs
            `qABK0GcL913544: to=<user@corp.example.com>, delay=00:00:08, xdelay=00:00:01, mailer=esmtp, pri=1314205, relay=aspmx.l.google.com. [173.194.79.26], dsn=2.0.0, stat=Sent (OK 1234567890 g7zy99885643ion.56)`
Ruleset Rejection Logs
            `e5DHeYC11749: ruleset=check_rcpt, arg1=<user@foo.bar.com>, relay=user@mail.bar.com [11.111.11.111], reject=550 5.7.1 <user@foo.bar.com>... Relaying denied`
Authentication Logs
            `AUTH=server, relay=11-111-11-111.srv.foo.bar.com [11.111.11.111] (may be forged), authid=gooduser, mech=PLAIN, bits=0`
STARTTLS Logs
            `STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=OK, cipher=RC4-SHA, bits=128/128`
Connection Logs
            `c22AJzde908658: SMTP outgoing connect on server1.example.com`
Invalid Connection Logs
            `m12Umdcw998259: [11.111.11.111] did not issue MAIL/EXPN/VRFY/ETRN during connection to SSLMTA`
Pregreet Traffic Logs
            `z1ENNTPj905074: rejecting commands from foo.bar.com [11.111.11.111] due to pre-greeting traffic after 0 seconds`
Rejected Discovery Logs
            `u52CZzhr906425: AAAb9625.ne.foo.bar.com [11.111.11.111]: VRFY user [rejected]`
Service Status Logs
            `starting daemon (8.14.4): SMTP+queueing@00:10:00`
Events Processed by This Technology Pack
The Sendmail content pack supports:
- 
                                                Receipt Logs 
- 
                                                Delivery Logs 
- 
                                                Ruleset Rejection Logs 
- 
                                                Authentication Logs 
- 
                                                STARTTLS Logs 
- 
                                                Connection Logs 
- 
                                                Invalid Connection Logs 
- 
                                                Pregreet Traffic Logs 
- 
                                                Rejected Discovery Logs 
- 
                                                Service Status Logs 
Message Fields Included in this Pack
| Field Name | Example Value | Field Type | Description | 
|---|---|---|---|
| General Parsing | |||
| application_name
 | sendmail | keyword | This field is generated by the syslog input. | 
| facility | keyword | This field is generated by the syslog input. | |
| process_id | 5222 | keyword | This field is generated by the syslog input. | 
|  | mailsrv1 | keyword/loweronly | Hostname or IP of the source system that generated the event. | 
| 
 | qABK0GcL913544 | keyword | The queue ID unique to each message. | 
| Receipt | |||
| email_from | user@graylog.com | keyword | Email address of the sender. | 
| email_size
 | 589 | long | Size of the email message in bytes. | 
| email_message_id | 200046040409.e5EECA205337@foo.bar.com | keyword | Email Message ID. | 
| vendor_class | 0 | long | The queue class (numeric precedence) of the message. | 
| vendor_nrcpts | 1 | long | Number of recipients for the email. | 
| vendor_daemon | MTA | keyword | The name of the sender daemon. | 
| vendor_relay_user | user@graylog.com | keyword | User of the client relay, the host from which a message was received. | 
| vendor_relay_warning | may be forged | keyword | Warning that relay IP or name may be forged. | 
| source_ip | 10.1.2.3 | keyword | IP address of the client relay, the host from which a message was received. | 
| source_hostname | graylog.com | keyword | Hostname of the client relay, the host from which a message was received. | 
| network_protocol | esmtp | keyword | The protocol used when the message was received. | 
| Delivery | |||
| email_to | user@graylog.com | keyword | Email address of the recipient. | 
| vendor_ctladdr
 | mailadmin | keyword | The controlling user, the name of the user whose credentials are used for delivery. | 
| vendor_delay | 00:08:52 | keyword | The total time the message took to be processed from reception to attempted delivery. | 
| vendor_delay_total_seconds
 | 532 | long | The total message delay described in seconds. | 
| vendor_xdelay | 00:00:04 | keyword | The total time the message took to be transmitted during final delivery. | 
| vendor_mailer
 | esmtp | keyword | The name of the delivery agent used. | 
| vendor_pri | 30589 | long | The initial priority assigned to the message. | 
| vendor_dsn
  | 2.0.0 | keyword | Delivery Status Notification indicating the outcome of an email delivery attempt. | 
| vendor_status_full
 | Sent (e6FDCEv13455 Message accepted for delivery) | keyword | The full delivery status of the message. | 
| vendor_status
 | Sent | keyword | The abbreviated delivery status of the message. | 
| vendor_status_text
 | e6FDCEv13455 Message accepted for delivery | keyword | The delivery status information returned by the delivery agent or destination host. | 
| vendor_relay_user
 | user@graylog.com | keyword | User of the destination relay, the host that receives a message. | 
| vendor_relay_warning
 | may be forged | keyword | Warning that relay IP or name may be forged. | 
| destination_ip
 | 10.1.2.3 | keyword | IP address of the destination relay, the host that receives a message. | 
| destination_hostname | graylog.com | keyword | Hostname of the destination relay, the host that receives a message. | 
| Ruleset Rejection | |||
| vendor_ruleset | check_rcpt | keyword | The ruleset that was used to screen the rejected message. | 
| vendor_arg1
 | spammer@spammy.com | keyword | The argument to a ruleset check, usually an IP, domain or email address. | 
| vendor_arg2 | 127.0.0.4 | keyword | Additional argument to a ruleset check, often the query result from abuse lookup services. | 
| vendor_relay_user
 | user@graylog.com | keyword | User of the client relay, the host from which a message was received. | 
| vendor_relay_warning | may be forged | keyword | Warning that relay IP or name may be forged. | 
| source_ip | 10.1.2.3 | keyword | IP address of the client relay, the host from which a message was received. | 
| source_hostname | graylog.com | keyword | Hostname of the client relay, the host from which a message was received. | 
| vendor_reject | 550 5.7.1 Mail from 11.111.11.111 rejected by SPAMHAUS. | keyword | The reason a message was rejected, often containing the server SMTP response. | 
| vendor_smtp_response_message | <spammer@spammy.com.>... SPAM REJECT | keyword | The information provided in an SMTP response. | 
| smtp_response_code | 550 | keyword | SMTP basic status code. | 
| smtp_response_code_description | Mailbox unavailable | keyword | SMTP basic status code description. | 
| smtp_response_enhanced_class_code | 5 | keyword | SMTP enhanced status class code. | 
| smtp_response_enhanced_class_code_description | Permanent Failure | keyword | SMTP enhanced status class code. | 
| smtp_response_enhanced_status_code | 7.1 | keyword | SMTP enhanced status enumerated status code. | 
| smtp_response_enhanced_subject_code | 7 | keyword | SMTP enhanced status subject code. | 
| smtp_response_enhanced_subject_code_description | Security or Policy Status | keyword | SMTP enhanced status subject code description. | 
| Authentication | |||
| vendor_auth
 | client | keyword | Indicates whether Sendmail acted as the client or server during authentication. | 
| vendor_authid | mailadmin | keyword | The authentication identifier, usually a username. | 
| vendor_mech
 | LOGIN | keyword | The authentication mechanism used. | 
| vendor_bits | 0 | keyword | The strength of encryption used during authentication, or none used. | 
| 
 | user@graylog.com | keyword | User of the client/destination relay depending on the direction of authentication. | 
| vendor_relay_warning | may be forged | keyword | Warning that relay IP or name may be forged. | 
| source_ip | 10.1.2.3 | keyword | IP address of the client relay, the host authenticating to the server. | 
| source_hostname | graylog.com | keyword | Hostname of the client relay, the host authenticating to the server. | 
| destination_ip | 10.1.2.3 | keyword | IP address of the destination relay, the server being authenticated to by a client. | 
| 
 | graylog.com | keyword | Hostname of the destination relay, the server being authenticated to by a client. | 
| STARTTLS | |||
| vendor_starttls | server | keyword | Indicates whether Sendmail acted as the client or server during STARTTLS negotiation. | 
| vendor_tls_version
 | TLSv1/SSLv3 | keyword | The TLS version used. | 
| vendor_tls_cipher | AES128-SHA | keyword | The cipher suite negotiated for the secure connection. | 
| vendor_tls_cipher_size
 | 128/128 | keyword | The key size used for encryption. | 
| vendor_starttls_verify
 | OK | keyword | The result of the server certificate verification. | 
| vendor_starttls_error
 | accept failed | keyword | The error that occurred during STARTTLS negotiation. | 
| vendor_starttls_error_code | -1 | keyword | The result code assigned to a STARTTLS negotiation error. | 
| vendor_starttls_error_reason
 | sslv3 alert bad certificate | keyword | The reason for a STARTTLS negotiation error. | 
| vendor_relay_user
 | user@graylog.com | keyword | User of the client/destination relay depending on the direction of connection. | 
| vendor_relay_warning
 | may be forged | keyword | Warning that relay IP or name may be forged. | 
| source_ip | 10.1.2.3 | keyword | IP address of the client relay, the host connecting to the server. | 
| source_hostname
 | graylog.com | keyword | Hostname of the client relay, the host connecting to the server. | 
| destination_ip | 10.1.2.3 | keyword | IP address of the destination relay, the server receiving the connection. | 
| destination_hostname
 | graylog.com | keyword | Hostname of the destination relay, the server receiving the connection. | 
| Connection | |||
| vendor_event_action
 | connect | keyword | The action taken in the event. | 
| vendor_relay_user | user@graylog.com | keyword | User of the client/local relay. | 
| vendor_relay_warning | may be forged | keyword | Warning that relay IP or name may be forged. | 
| vendor_relay_ip | 10.1.2.3 | keyword | IP address of the local relay used to send a message. | 
| vendor_relay_host | graylog.com | keyword | Hostname of the local relay used to send a message. | 
| source_ip | 10.1.2.3 | keyword | IP address of the client relay, the host from which a connection was received. | 
| source_hostname | graylog.com | keyword | Hostname of the client relay, the host from which a connection was received. | 
| Invalid Connection | |||
| vendor_relay_user
 | suspicious@domain.tld | keyword | User of the client relay, the host from which the invalid connection was received. | 
| vendor_relay_warning | may be forged | keyword | Warning that relay IP or name may be forged. | 
| source_ip
 | 10.1.2.3 | keyword | IP address of the client relay, the host from which the invalid connection was received. | 
| source_hostname
 | domain.tld | keyword | Hostname of the client relay, the host from which the invalid connection was received. | 
| Pre-greet Traffic | |||
| vendor_event_action | rejecting | keyword | The action taken in the event. | 
| vendor_relay_user | suspicious@domain.tld | keyword | User of the client relay, the host from which the pre-greeting traffic was sent. | 
| vendor_relay_warning | may be forged | keyword | Warning that relay IP or name may be forged. | 
| source_ip | 10.1.2.3 | keyword | IP address of the client relay, the host from which the pre-greeting traffic was sent. | 
| 
source_hostname | domain.tld | keyword | Hostname of the client relay, the host from which the pre-greeting traffic was sent. | 
| Rejected Discovery | |||
| vendor_relay_user | suspicious@domain.tld | keyword | User of the client relay, the host potentially scanning the server. | 
| vendor_relay_warning
 | may be forged | keyword | Warning that relay IP or name may be forged. | 
| source_ip | 10.1.2.3 | keyword | IP address of the client relay, the host potentially scanning the server. | 
| source_hostname | domain.tld | keyword | Hostname of the client relay, the host potentially scanning the server. | 
| Service Status | |||
| vendor_event_action | starting | keyword | The event action indicating the status of the Sendmail daemon. | 
| vendor_version | 8.14.7 | keyword | The Sendmail version running. | 
| vendor_event_outcome_reason
 | signal | keyword | The specific cause for a service status change. | 
Graylog Illuminate:Sendmail Spotlight Content Pack
The Graylog "Illuminate:Sendmail Spotlight" offers a dashboard with 6 tabs: Sendmail Mail Server Overview, Activity, Delivery Status, Rule Rejection, Authentication, and Processing Statistics.
 
                                        
                                             
                                        
                                             
                                        
                                             
                                        
                                             
                                        
                                             
                                        
