OPS335 Lab 4
MAIL SERVER RESOURCES
- OPS335 Mail Server Notes Course Note providing Concepts and Overview of mail server setup
- Postfix for Dummies Good Basic Guide to setup Postfix MTA
- Mail Send Command (examples how to send e-mail using mail command)
- View and Manage Received e-mail Mesages (Common commands to view and manage received email messages)
OVERVIEW & PREPARATION
This lab will show you how to set up a Postfix email server (MTA) on your VM2 machine to send an e-mail message to an external e-mail server (i.e. myseneca.ca). You will also be setting up on your VM2machine the mailx package (MUA) to allow users of that VM to send a text-based e-mail to your Seneca mail account (only send, but not receive), and to send and receive e-mails locally on your VM2 machine.
In order to send e-mail messages between your different VMs, a more complex set-up is required, and will be addressed in the second part of lab4.
The diagram below shows the layout of the what this lab should be able to accomplish:
INVESTIGATION 1: INSTALL & SETUP THE MAIL TRANSFER AGENT (MTA)
Confirm Network Connections
Before proceeding with this lab, we need to confirm our machines have connectivity to the Internet before we can install and start sending e-mail messages.
Perform the following steps:
- Make certain that you can connect to the Internet on your Host Machine via web-browser.
Since your host should be using VM1 as its DNS server, you will need to make certain that the VM1 machine is running as well.
- Start a web-browser on your Host Machine, and access your Seneca e-mail account (https://myseneca.ca).
- Confirm that you can access the web from your VM2 machine. You can install the wget or lynx applications in order to test this for your text-based server.
Install and Configure Postfix Package (MTA) on a VM
We will now be installing the postfix application which will act as the Mail Transfer Agent (MTA) that will send e-mail messages to other e-mail servers.
In our case, between our servers vm2 and an outside server which is your Seneca College email account (https://myseneca.ca).
Perform the following steps:
- Switch to your VM2 machine.
- Check the status of the sendmail service by using the systemctl command. If the sendmail service is running, use the systemctl command to stop and disable that service.
- Issue the following command to install the postfix application (MTA):
yum install postfix
- What is the purpose of installing the postfix application in terms of using e-mail? Record your answer in your lab logbook.
- We need to configure our MTA (postfix application) to recognize our recently-created domain name that was created in lab3.
Edit the Postfix configuration file called /etc/postfix/main.cf replacing the existing contents with only the contents displayed below:
mydomain = senecaID.org
myorigin = $mydomain
mynetworks = 127.0.0.0/8, 192.168.X.0/24
Your MTA has the ability to resolve "fake" public address to an actual user account name. For example, if you have a user account called "msaul", you can have the MTA resolve the fake name "murray.saul" to the account name "msaul". In order to do this, you will need to create an alias which is contained in the MTA's alias file.
- Edit the /etc/postfix/aliases file and add your first name as an alias to be resolved to your VM2's account name:
- In order to update the MTA's database for the newly-create alias, issue the following command:
- Finally, to start and enable your MTA, issue the following commands:
systemctl start postfix.service
systemctl enable postfix.service
- Check the /var/log/messages file to see that your MTA server started without error. If there are any errors, correct them before continuing.
Record steps, commands, and your observations in INVESTIGATION 1 in your OPS335 lab log-book
INVESTIGATION 2: INSTALL & SETUP THE MAIL USER AGENT (MUA)
We will be using a simple text-based Mail User Agent (MUA) called mailx in this lab to send and receive mail messages within your VM1 machine and to send mail messages to your Seneca e-mail account.
NOTE: Due to the simplicity of this mail server setup, and the setup of Seneca College's mail server, you cannot send Seneca e-mail messages to your VM2 machine.
Installing the Mail User Agent (MUA)
Perform the following Steps:
- Make certain you are in your vm2 machine.
- Issue the following command to install the mailx application (MUA):
yum install mailx
- NOTE: You can refer to the link below to acquaint yourself on how to send e-mail messages using mailx application:
Mail Send Command Examples
Testing mail with the internet
We will now test to see if your MTA for your VM2 machine is correctly running by sending email messages from your VM2 machine to your Seneca e-mail account.
Perform the following steps:
- Make certain you are still in your vm2 machine.
- Test email from your machine by sending an email to your Seneca email account using the following command:
mail -s "Lab4a - test1" <Your Seneca email address>
NOTE: after you type in the body of the mail message, move to an empty line, type period "." and press the ENTER key to send the message.
- Check your Seneca email account to see if you got the email (note that it may take a few minutes to arrive, so you may also wish to try an alternate email account if you have one like gmail, etc). When you do receive that email, make a note of the return address.
- If you did not receive the mail, check the mail logs on your vm2 machine to determine any errors messages that would indicate a mail server setup problem.
- Test email from your Host Machine by sending an email to your Seneca account using the following command:
mail -r "hacker.com (Canadian Revenue Agency)" -s "Lab4a - test2" <Your Seneca email address>
- Check your Seneca email to see if you got the email. If you did, make a note of the return address. How would you think that including the -r option could be used by penetration hackers to gain access to a computer system? What sort of steps do you think should be taken to help prevent this type of attack from happening?
Testing email on Local VM Machine (vm2)
We will now test both your MUA (mailx) and MTA (postfix) by sending and receiving e-mail messages on the local VM2 machine only.
Perform the following Steps:
- Send an email message locally (i.e. only within) your VM2 machine by issuing the command:
mail -s "Lab4a - Local - Test1" <yourSenecaID>
- After you type in the body of the mail message, move to an empty line, type period "." and press the ENTER key to send the message.
- Issue the following command to read the mail message you send to yourself:
NOTE: You can refer to the link below to view a reference chart on how to read and delete received e-mail messages at the mail command prompt:
Commands to View and Manage Received e-mail Mesages
- If you received an e-mail message, the message and subject line should appear as a listing in your mail command.
If you did not receive a mail message, check your mail server settings, check to see if you mail server is running and also check /var/log/messages.
- Issue the following command: cat /var/log/spool/mail/<yourSenecaID>
What do you see? What does this show you in terms of where mail is stored on your e-mail server?
- Type the mail message number that is displayed in your e-mail message list in the prompt and press ENTER. You should be able to confirm the message body that you sent.
- Exit the mail program by typing the letter q and press ENTER.
- Re-issue the mail command. What happened?
- Exit the mail command. Create a directory in your home directory called: mail.
- Re-issue the mail command, and enter the following command at the mail prompt: save 1 mail/msg1
Use the cat command to check the contents of /var/spool/mail<yourSenecaID> and ~/mail/msg1. Exit the mail command.
- Try sending another e-mail from your VM2 account to yourself, but using your first name instead by issuing the following command:
mail -s "Lab4a - Local - Test2" <yourFirstName>
- Issue the mailq command on your VM2 machine (you will need to be root) to view the mail queue. Why would this command be useful for an administrator?
- Now, issue the mail command to see if you received that e-mail message. Did it work? If so, why?
Record your observations in your OPS335 lab logbook.
- Finally, issue the following mail commands (using various e-mail addresses):
mail -s "Lab4a - Local - Test3" <yourSenecaID>.<vm2-IPADDR>
mail -s "Lab4a - Local - Test4" <yourFirstName>.<vm2-IPADDR>
mail -s "Lab4a - Local - Test5" <yourSenecaID>.vm2.<yourSenecaID>.org
mail -s "Lab4a - Local - Test6" <yourFirstName>.vm2.<yourSenecaID>.org
- Which of the following commands worked? Record your observations in your OPS335 lab logbook.
Record steps, commands, and your observations in INVESTIGATION 2 in your OPS335 lab log-book
COMPLETING THE LAB
Upon completion of this lab, you should have the postfix mail server running on your VM2 machine, and starting automatically when they do. Arrange proof that your VM2 Mail Transfer Agent is running and enabled.
Arrange proof that you can send e-mail from your VM2 machine to your Seneca College e-mail account, and than you can send and receive e-mail messages locally on your VM2 machine only.
- What does the term MTA mean? What is the purpose of an MTA?
- What does the term MUA mean? What is the purpose of an MUA?
- Briefly list the steps to install and configure your MTA on your server.
- Briefly list the students to install the MUA on your server for text-based messaging.
- Briefly list the steps to trouble-shoot your server if you could not send e-mail messages from your VM2 machine to an external e-mail server.
- Write the command to send an e-mail message from your VM2 to your Seneca College e-mail account.
- What are the commands to issue in the mail prompt to:
- Read the first e-mail message displayed
- Delete the 3rd e-mail message displayed
- Exit the mail command prompt and return to the shell
- What were the results of sending emails locally on your VM2 machine? Show log segments to verify your answers.