LinuxCBT Sendmail Edition, a component of LinuxCBT Mail Edition, focuses on the leading Linux/UNIX Mail Transfer Agents (MTAs); Sendmail v8.
Linux/UNIX systems are responsible for moving the overwhelming majority of electronic mail across private and public networks. Sendmail is the most widely-deployed MTA across Linux/UNIX systems. Consequently, savvy Systems Admins. are expected to have a solid foundation in Sendmail and ancillary components for general and automated mail-based applications.
Let LinuxCBT SendMail Edition help to solidify your understanding of the Sendmail MTA and ancillary components.
Recommended Prerequisites:
- Familiarity with electronic mail concepts (MUA/MTA/etc.)
- Access to a GNU/Linux-based PC to install the MTAs and ancillary components used

LinuxCBT Sendmail v8 Edition - Disc 1
- Sendmail - Installation
- Network & systems architecture review
- Download current Sendmail v8.x.x source files
- Import PGP-compatbile public keys
- Verify source archive against imported public keys
- Discuss required applications
- Install GNU C Compiler (GCC) and ancillary applications
- Backup existing Postfix implementation and prepare for Sendmail installation
- Explore Sendmail source tree - identify key components
- Configure & compile Sendmail
- Discuss M4 & CF configuration files (sendmail.{mc,cf}, submit.{mc,cf})
- Discuss default Sendmail operating modes - MSP & MTA
- Prepare default Mail Submission Program (MSP) configuration based on MC
- Prepare default Mail Transfer Agent (MTA) configuration based on MC
- Install Berkeley DB libraries for hashed lookups
- Complete installation
- Explore post-installation Sendmail environment
- Sendmail - Mail Submission Program (MSP) mode
- Discuss local injection of messages
- Explain required Sendmail MSP shell arguments for queue-runner mode
- Start Sendmail in MSP mode
- Verify Operating System (OS) results using BASH exit status
- Verify monitored queue in MSP mode
- Examine resultant Sendmail MSP Process Identification (PID) file creation
- Kill running instance of Sendmail in MSP mode
- Invoke Sendmail queue-runner mode
- Inject test messages into the local queue
- Examine the queue files generated by Sendmail MSP
- Examine Syslog configuration using GREP
- Discuss Sendmail logging
- Identify Sendmail log files
- Examine specific Sendmail log entries using GREP
- Sendmail - Mail Transfer Agent (MTA) mode
- Discuss Sendmail's separation of duties; MSP/MTA
- Explain required shell arguments for Sendmail MTA mode
- Invoke Sendmail in MTA mode running as a daemon
- Confirm Sendmail running in MTA mode
- Force delivery of locally-injected messages
- Confirm delivery of queued messages
- Sendmail - Local Mail
- Discuss Sendmail's local delivery mechanism
- Explore & discuss legacy /var/spool/mail directory
- Identify user mbox files
- Discuss mbox permissions
- Illustrate local mail injection flow
- Use mutt MUA to retrieve locally delivered mail
- Use mutt to reply to envelope sender by local injection using MSP
- Identify local mailer (procmail) used by Sendmail MTA
- Invoke Sendmail in verbose mode
- Attempt delivery to valid and invalid users & examine output
- Explain Sendmail verbose-mode transcript (local vs. remote)
- Sendmail - Logs
- Discuss Syslog semantics (facilities & levels)
- Discuss log rotation
- Examine logs & discuss entries
- Parse logs for interesting entries
- Identify sourced messages
- Discuss record types (receipt vs. delivery attempt(s))
- Follow the message trail based on queue ID
- Explain Sendmail fields
- Identify PID related to various delivery attempts
- Identify total delivery time and transfer time
- Sendmail - Aliases
- Discuss aliases applications
- Identify aliases database
- Explain Sendmail's aliases expansion logic
- Discuss the default aliases - (mailer-daemon, postmaster, etc.)
- Test delivery to defined aliases
- Define additional aliases
- Rebuild aliases database using newaliases to route messages accordingly
- Verify deliverablility of aliases database entries
- Test delivery of messages to newly-defined aliases
- Examine Sendmail logs to view transcript of delivery to aliased user
- Explain the different types of supported Sendmail aliases
- Define lists using aliases - one-to-many mappings
- Test delivery to lists
- Define alias to deliver messages to mbox-compliant file
- Debug I/O errors related to Sendmail's attempt to write to mbox-compliant file
- Implement lists using file system includes
- Define piped aliases to redirect messages to the input stream of other applications
- Implement Sendmail's per-user .forward file for user-based message routing
- Setup aliases using pipes to the vacation program to enable auto-response
- Sendmail - Simple Mail Transfer Protocol (SMTP) Mail
- Discuss SMTP prerequisites
- Examine local name resolution configuration
- Confirm resolution of remote Sendmail server
- Identify available remote recipients
- Compose and deliver message to remote recipient
- Confirm receipt
- Reveal returned message headers using mutt MUA
- Disable message forwarding on remote host
- Confirm receipt of smtp-based messages
- Explain Sendmail's name resolution logic during delivery attempt
- Emulate Sendmail's name resolution logic to illustrate logic
- Demonstrate Sendmail delivering messages based on static HOSTS resolution
- Disable static name resolution for remote host
- Debug message delivery errors related to invalid name resolution
- Create DNS entry for remote server on primary DNS server
- Confirm DNS resolution using system tools
- Confirm mail delivery based on DNS resolution
- Sendmail - Mail Exchange (MX) based messaging
- Explain Sendmail's name resolution logic
- Use system tools to determine MX handler
- Attempt delivery to undefined MX handler
- Update DNS configuration to include MX & A records for second-level domain
- Attempt delivery to defined MX handler
- Confirm delivery based on MX resolution via logs and MUA
- Explain MX distances (priority) field
- Define additional MX host for second-level domain in DNS zone
- Test delivery to backup MX host for failover
- Sendmail - m4 Configuration Technique
- Discuss Sendmail.cf
- Explain advantages of using m4
- Identify m4 templates in Sendmail source tree
- Explain m4 templates hierarchy
- Describe the structure of standard Sendmail m4-compliant files
- Use m4 to generate new Sendmail.cf file
- Increase logging verbosity
- Reload current instance of Sendmail and examine output
- Restrict the number of recipients
- Restrict the size of each message
- Use m4 to generate and test new configuration features
- Sendmail - Masquerading
- Discuss masquerading features and applications
- Explore default Sendmail masquerading configuration using MUA
- Alter Fully Qualified Domain Name (FQDN) of outbound messages using masquerading
- Regenerate Sendmail.cf using m4 technique
- Configure system to receive messages for new FQDN defined using masquerading
- Alter message envelope using masquerading feature
- Add Windows 2003 Host to DNS configuration & confirm resolution
- Masquerade outbound domain to reflect second-level domain
- Sendmail - Relay Control
- Discuss Sendmail's default relay rules
- Configure promiscuous relay & test consequences
- Relay mail to Internet-based host and confirm delivery using SSH
- Restrict relaying by defining relay domains
- Define & test file-based relay domains to permit hosts & subnets to relay
- Recompile Sendmail.mc using m4 technique
- Examine relaying with unresolvable domains
- Confirm relay to Internet-based host using relay domains and Windows 2003 Host
- Discuss benefits of using access db
- Define mc directives for access db invocation
- Create access db file using makemap
- Explore access db directives
- Discuss mailertable feature
- Define mailertable with forced SMTP routes
- Simulate DMZ-based MTA-front-end relaying messages to corporate back-end MTA
- Test results
- Confirm SMTP Auth pre-requisites
- Configure SMTP Auth support
- Recompile Sendmail to support SMTP Auth
- Test relaying from Outlook Express on Windows 2003 Host
- Sendmail - Smart Host Configuration
- Discuss Smart Host applications
- Configure Sendmail to use remote server as a Smart Host
- Rebuild configuration files
- Test local mail routing
- Test smart host routing
- Sendmail - Null Client Configuration
- Discuss Null Client applications
- Undefine Smart Host configuration
- Configure Sendmail as a null client
- Test mail routing as a null client
- Confirm forced SMTP route
- Sendmail - Virtual Domains
- Explain applications
- Define basic-global virtual domains applied to all mailboxes
- Update DNS configuration to route messages to appropriate Virtual Domain server
- Confirm delivery of messages to users at virtual domain
- Add new DNS zone for additional domain to route traffic accordingly
- Discuss virtual user tables applications
- Updated Sendmail.cf to include virtual user tables support
- Define virtual user domains hash
- Define virtual user maps
- Test delivery to various users at various domains
- Define and test a catchall address for a virtual domain
- Rebuild virtual user maps using makemap
- Relay virtual domains to remote recipients
- Sendmail - Malware Framework
- Discuss Malware Framework (MailScanner/ClamAV/SpamAssAssin)
- Dowload MailScanner
- Download Clam Anti-Virus (ClamAV)
- Download SpamAssAssin
- Clam Anti-Virus (ClamAV)
- Install requisite ClamAV components
- Compile & install ClamAV
- Identify key ClamAV binaries
- Update ClamAV configuration files for basic operation
- Update ClamAV definitions
- Invoke ClamAV as a daemon
- SpamAssAssin Installation
- Identify requisite SpamAssAssin components
- Compile & install SpamAssAssin
- Invoke SpamAssAssin as a daemon
- MailScanner Implementation
- Compile & install MailScanner
- Identify MailScanner-related directories
- Explore MailScanner's primary configuration
- Enable ClamAV & SpamAssAssin support
- Alter Sendmail queue configuration to support MailScanner
- Restart Sendmail
- Start MailScanner
- Test message delivery through malware framework
- Test sample Spam through malware framework
- Test sample Virus-laden file through malware framework
- top
|