Reference no: EM132659106 , Length: word count:1300
Task 1: DNS configuration
Implement server a simple local DNS server called ns1.StudentLastName.org.au. The Local DNS accepts queries from clients and tries to resolve them, first by checking its local cache. The Local DNS must reply to A, NS, and CNAME requests. Before you start to implement your server, you should have a clear understanding of the DNS protocol and, specifically, of the message format. You can find good information online in Learning DNS by Cricket Liu or the textbook and the lecture slides.
Local DNS must be able to resolve queries iteratively starting from a given root name server. In other words, Local DNS must work even with a root server that does not support recursive queries. Local DNS must also correctly handle canonical names (www). This means that a server (the root server or others) might reply with a CNAME record in response to a request for the A record for www.ns1.studentLastName.org.au. In this case, Local DNS should first resolve the CNAME record and then reply to the original request with a DNS message that includes both the canonical-name record (CNAME) for the original name and the address record (A) for the canonical name.
You should demonstrate your Local DNS fully functional and tests your local DNS using dig tool to submit queries to your DNS server. Below is a summary of the most important requirements for your implementation:
Your configuration must compile,
Your server must reply to DNS requests of types A, NS, PTR, and CNAME. Other types are optional,
If your server receives a CNAME response from a name n while looking for the A record of n, your server should first recursively resolve the name returned in the CNAME record,
you have to demonstrate that DNS configuration/zone files are free from errors by using named-checkconf, named-checkzone and systemctl status named with the proper arguments,
You have to install Local DNS using BIND to implement local DNS,
You can easily test your implementation using the dig command with the proper arguments.
Task 2: Simple Web Services
Installing LAMP software on Ubuntu Server. LAMP is a standard bundle in the Ubuntu Server platform. Once complete set up this Server 2 to host a website using the Apache web server. The server should have a statically assigned address which matches that specified in the A record for host www. Test your Apache Server by using a web browser on another host and trying to browse the website LastNameStudentID.org.au. Once you have set up the webserver and tested it, install an FTP server. The FTP server would allow users to upload/ download files to the webserver. Configure the server appropriately and then test from another host.
Next: in Ubuntu Server, your task is to configure the Apache web server for the DNS name www.StudentName.org.au. The server is implemented using the HTTP protocol listening on port 8282. Your challenge is to make the same site accessible using the HTTPS protocol. To do this set up SSL with a self-signed certificate for the site.
Once configured correctly you should be able to access www.StudentName.com.au on both HTTP/HTTPS ports. Naturally, you will need to make appropriate changes to your firewall rules.
Task 3: Security and System-hardening (Configuring SELinux)
Linux security is built on UNIX security. UNIX security consists of different solutions that were never developed with current IT security needs in mind. Most of the UNIX solutions focus on a part of the operating system only. That means that you need to collect a lot of different security solutions to get a secure operating system, which may be very hard. SELinux was developed to provide a complete and mandatory security solution. The basic principle is that if it is not specifically allowed it will be denied. That is what SELinux will do for you and that is what UNIX security won't bring you. As a result, all unknown services will always need additional configuration to enable them in an environment where SELinux is enabled. Overall, SELinux makes your system more secure, because it is one overall security solution, where things are only allowed to happen if the system administrator really wanted to allow them. In this task, you are required to:
Search about SELinux and AppArmor (Write a paragraph SELinux vs AppArmor )
describes the difference between SELinux enforcing and permissive modes,
enable and enforcing permissive SELinux on Server 2,
Ensure that the httpd service is running on server 2,
Make sure that the httpd service runs on ports 80 and 8282,
Once you have configured port numbers, use netstate -Ztulpen to check that port 8282is being enforced by SELinux,
if not, use set SELinux to enforce a permissive policy to fix the problem,
use netstate -Ztulpen to check if the port 8282 is enforced by SELinux
Now change/add httpd service port 8282 to port 8081,
restart httpd service using systemctl,
explain why the httpd service might fail to start,
fix and add the httpd service port on 8081,
demonstrate that you successfully change and add the port to the httpd service.
Note:
Task 1, you are required to configure network virtual machines based on the above diagram,
Task 1, document all the steps and challenges while configuring the DNS with a clear description of each step,
Task 1, submit all your zone/config files as an appendix.
Task 2, document all the steps and challenges while configuring the LAMP with a clear description of each step,
Task 3, requires research and a reflection of your learning. Write a maximum of 500-700 words of your learning.