Order ready-to-submit essays. No Plagiarism Guarantee!
Note: Our papers are 100% human-written, not AI-generated.
We Write Essays for Students
Tell us about your assignment and we will find the best writer for your paper
Get Help Now!
”
Part 1: Networking 101 & 102 1
Networking 101 2
Networking 102 2
Part 2: Dynamic DNS Configuration 2
Task 1: Create VMs & DNS Records 2
Task 2: Server Applications 2
Task 3: Verifying Each other’s network 3
Task 4: Log Analysis 3
Part 3: Authentication Service 3
Task 1: Design Document 4
Task 2: Protocol Design 4
Task 3: User Identity and Authentication 4
Introduction
In this project, you will be working individually or in teams of two to design three and deploy
three networks with three domains. Each network is hosted under a Google Cloud Platform. In
order to get an idea of how Virtual Private Network (VPC) works, you will work individually on a
practice lab, then you will use that experience to design your own subnets and will configure
routing among them.
Part 1: Networking 101 & 102
Follow the instructions provided to you in the following links. Be aware that some of the
resources have changed and you may have to search GPC for updated commands. Keep in
mind that you have limited credit and these two labs are very expensive if left on for days. Make
sure to clean up after each lab to avoid consuming all your credits.
1. Networking101
2. Networking102
Create a Google Document and take screenshots of each step that you make progress. Make
sure to provide a brief explanation of your work presented in each screenshot.
Part 2: Dynamic DNS Configuration
In this part, you need to follow the exercise we did in class and create new dynamic DNS
records.
You may choose any free dynamic DNS service provider such as no-ip.com or cloudns.net.
Task 1: Create VMs & DNS Records
Create three VMs at Google Cloud Platform (GCP), and one at Amazon Webservices (AWS).
Once you get the external IP address of each server, you are ready to create your Dyn DNS
records using two different domain names. One set of the domain for your VMs running on GCP
and one for the VM running on the AWS.
Try to use appropriate names for the DNS record of your VMs. Use nslookup to show that your
DNS registration is working and accessible.
Analyze your work using dig command too. Make a note of the network that you are executing
dig from.
Along with your report draw your network topology.
Task 2: Server Applications
On each VM you have used in the previous section, you will need to install the following server
applications which some you implement and for others, you may use open source software:
– A TCP and UDP listening on port 53
– Server listening on port 80 and 443
– Both TCP and UDP
– Make sure on of them is an actual Web Server configured as such
– A server listening on port 22
– A server with UDP ports 1194, 8080, 9201 and 53
– A TCP 110
In all servers, you are going to collect meaningful data from random connections coming to your
servers for future assignments. You will learn about scanning and how others might find about
you on the Internet
Makes sure to have a log of connections and also the actual data which has been sent to your
server application. You will need this data in the following section.
Task 3: Verifying Each other’s network
Every student would share the IP address of their servers in Google doc that is available here
The deadline for this part is tomorrow night 10/3/2019
Once everyone created and shared their IP addresses, you will be checking each server for
service discovery and compile a report which includes the DNS record for the server.
Make sure to do this using your VMs in the cloud and not your home or school Internet
Task 4: Log Analysis
Run your application for 7 days then compile a record showing the origin of each connection
came from and identify which one has come from known sources like your classmates.
Part 3: Authentication Service
In this part, you are going to take one of your server applications and the client application
which you developed in the previous part. Make appropriate modifications before adding a new
layer to your code.
The new version of your server application will provide a service to authenticate users. Any
application, including your client application, would use this service by supplying user
credentials (which you define) to authenticate users.
Task 1: Design Document
Think about use cases of authentication service and different expected functionality to support
such use cases. Then identify individual components that makes a successful service. Now that
all components have been identified, you can create an action plan to develop your code.
In case you need help to start your work, try reading the upcoming tasks to get a general idea
about some of the components
Task 2: Protocol Design
The server and client communicate via sockets. However, sockets are not providing any
application-level protocols other than establishing connections using network protocol, TCP or
UDP. When two applications are communicating with each other, both ends of the connection
need to understand the other end-point in terms of message types and their contents and type
of request.
For this phase of the project, you need to identify all types of messages that the client and
server application are going to exchange. Then define the order in which they are sent and
received. The last step is handling the data that comes with each message.
Here are some basic functionalities:
– First-time user authentication
– Tracking multiple failed user authentication requests
– Tracking source IP addresses
– Lock & Unlock accounts
– Admin privileges vs regular users
– Password reset request
– Multi-Factor authentication
It is highly recommended to start simple and add services gradually.
Task 3: User Identity and Authentication
For the server application to authenticate users and point of reference deems necessary. Think
about a type of repository to store user information such as first name, last name, email
address, password and any other piece of information your design needs to operate. Your
repository will meet the following guidelines:
– Don’t store user passwords as plain text
– If you are going to use a file, to store user data, encrypt the file
– You may need to think about a file structure in which user information will be
stored. For example, storing one user per line.
– If you are going to store information into a database, make sure at least passwords are
not stored in plain text.
– Here are a few ideas for multi-factor authentication:
– Two or more personal questions
– Emailing a temp pin-code
– The client application should allow admin user(s) to create accounts, reset passwords,
and delete accounts1
– Each authenticated user should be able to update the password, security question, and
email address.
– Make sure that these requirements are considered in your protocol design.
1 Hint: you may need to share a temp key or code with a user to distinguish between regular users and
admin users and their permissible level of access to services.
Welcome to originalessaywriters.com, our friendly and experienced essay writers are available 24/7 to complete all your assignments. We offer high-quality academic essays written from scratch to guarantee top grades to all students. All our papers are 100% plagiarism-free and come with a plagiarism report, upon request
Tell Us “Write My Essay for Me” and Relax! You will get an original essay well before your submission deadline.
