Project Managements Text
Project Managements Text
net/publication/373256495
CITATIONS READS
0 722
9 authors, including:
All content following this page was uploaded by Mohamed Mahmoud Ashour on 21 August 2023.
Project
Implementation of network infrastructure
for an interior design company
BY
Omar Ahmed Elsnossy Omar Ezzat Elgraihy
Omar Ahmed Omar Omar Hamdy Elnaghy
Olees Hazem Sayed Aia Waleed Elgendy
Supervisor
DR/Mohammed Ashour
Assistant
Eng/Haitham Abd Elghany
2
Table of Contents
1. Executive Summary .................................................... 8
1.1 Overview ...........................................................................................9
2. Logical Design………………………..…………………………….11
3.5 EVE-NG………………………………………………………………………………………17
4. Sophos XG Firewall……………….…..….…………………….18
4.1 IP Addressing………………..……………………..…………………………………….19
4.2 Zones………………..…………………………………………………………………..…..20
5. Rules………………………………….……………………………..…21
5.1 Firewall Rules…………………..…………………………………………………………21
3
5.3 Add Firewall and NAT Rules…………………..…………………………………..22
DHCP Lease………………………………………………………………………………………38
4
12.3 Join Domain…………………………….……………………………………….……..46
13. VPN……………………….…………………...…….……………...47
13.1 Site to Site VPN………………………………………………………………………..48
14. Security……………………..……………..………………………50
14.1 Rules and Policies on Firewall……………………………….…….…………..50
5
16. The Website……….…..……..………………….….......……63
16.1 Executive Summary…………….……………………………………………..…….63
16.2 Overview………………………………………………………………………………….63
17. Application………….….………………………………..………85
VS Code………………………………………………………………………………..………….85
Android Studio……………………………………………………………………………..….88
Flutter…………………….………………………………………………………..……………..92
Debugging VS Code………………………………………………………………..………..95
Company’s Application………………………………………………………….……….101
18. References………………………………………..…………….107
6
7
1. EXECUTIVE SUMMARY
8
1.1 OVERVIEW
9
1.2 PROJECT OBJECTIVES
• network security
• network performance
• network availability
• Streamline network management
• network scalability
• Ease of use and manageability of the network
• Adaptability to new and changing user, application, and device
needs
• A user-friendly and responsive interface Application.
• Well planned information architecture Website.
• Hardware
• Network analysis
• Logical network design
• Physical network design
• Group policy: authentication and violation of info security
• Security
• Firewall
• Application
• Website
• Documentation
10
1.4 SUMMARY OF RECOMMENDATION
In summary, the primary goal of this project is to design the network
of AOM company. Accomplishment of the goal will be the design of
the company LAN and the WAN links, the creation of an isolated VLAN
for every department, and superior firewall protection. As part of our
design recommendation, the inclusion of the logical design and
specifications for the network is shown on a diagram. A security
evaluation attained to determine the security of the network,
incorporate toward the establishment of AOM network security policy
that takes into account the network design.
2. LOGICAL DESIGN
To meet AOM’s business and technical goals, the team applied the
Cisco SAFE Architecture in designing AOM network
The logical network topology for AOM is divided into three functional
areas (also called modules), as illustrated in the logical design below.
11
• Enterprise Campus - This area contains all the functions required
for independent operation within one campus location; it does
not provide remote connections.
• Enterprise Edge - This area contains all the functions required for
communication between the Enterprise Campus and remote
locations, including the Internet, remote employees, partners,
and so forth.
• Access Layer
• Distribution Layer
12
The Distribution layer provides access between workgroups and to the
Core. Routing is implemented in this layer. This layer controls access
to services by implementing filters or access lists. Redundant switches
and redundant links to both the access and backbone is also
implemented. So, in case the one of the routers or links will be down,
the network can still continue to function.
• Core Layer
The data center contains internal AOM servers. These servers include
e-mail, file, and print servers, or any other servers that are necessary
for the network solutions. Redundancy is also implemented within this
layer and to the Core so that authorized users always have access to
the servers they need.
14
3. A.O.M Network Scenario Implementation
\
3.1 Summary of our A.O.M Company Project Implementation
Advantages:
• Eight Fast Ethernet LAN ports for high-speed wired connections
• D-Link Green Technology features power-saving by link status
and by cable length
• Auto-sensing ports automatically detect network connections
and adjust accordingly
15
3.2 Topology of first branch
16
3.4 Hardware used in every topology
17
4. Sophos XG Firewall
What is Firewall?
• Commonly describes systems or devices that are placed
between a trusted and an untrusted network.
• A firewall could control which user’s traffic is allowed through
the firewall.
• A firewall can detect and block malicious data.
What is Sophos XG?
Sophos XG Firewall is a comprehensive network security device, with
a zone-based firewall, and identity-based policies at its core.
XG Firewall does not only protect wired networks, but as a wireless
controller for Sophos access points, can provide secure wireless
networking functionality.
18
4.1 IP Addressing
19
4.2 Zones
20
5. Rules
You can allow or disallow traffic flow between zones and networks
based on the matching criteria. You can implement policies, specify
access for endpoint devices and servers, and prioritize traffic
21
5.3 Add Firewall and NAT Rules
Each OSPF router distributes information about its local state (usable
interfaces and reachable neighbors, and the cost of using each
interface) to other routers using a Link State Advertisement (LSA)
message. Each router uses the received messages to build up an
identical database that describes the topology of the AS.
From this database, each router calculates its own routing table using
a Shortest Path First (SPF) or Dijkstra algorithm. This routing table
contains all the destinations the routing protocol knows about,
associated with a next hop IP address and outgoing interface.
23
6.1 Applying OSPF Routing Protocol on Sophos XG
Router-id
Networks
24
Areas
25
7. VLANs (Virtual Local Area Network)
26
7.1 Trunking Protocols
1- ISL:
• Cisco proprietary
• It encapsulates the original ethernet frame with 30 bytes.
• 26 bytes header and 4 bytes trailer.
• The VLAN ID in the header is 10 bits.
• Support any layer 2 protocol
• No Native VLAN
27
2- IEEE 802.1q (dot1q):
28
7.2 Switchport Mode
29
Devices Interface Switchport mode VLANs
E0/0 Trunk all
E0/1 Trunk all
L3 Switch 1 E0/2 Trunk all
E0/3 Trunk all
E1/0 Trunk all
E0/0 Trunk all
L3 Switch 2 E0/1 Trunk all
E0/2 Trunk all
E0/0 Trunk all
E0/2 Access 40
Switch 1 E0/3 Access 40
E1/0 Access 40
E1/1 Access 40
E0/0 Trunk all
Switch 2 E0/1 Access 30
E0/2 Access 30
E0/0 Trunk all
Switch 3 E0/1 Access 20
E0/2 Access 20
E0/0 Trunk all
Switch 4 E0/1 Access 10
E0/2 Access 10
30
8. VLAN Trunking Protocol (VTP)
VLANs Name
10 Servers
20 Sales
30 HR
40 Designers
31
VLANs created automatically on the other Switches.
32
9. Inter VLAN Routing
VLANs are used to segment switched Layer 2 networks for a variety of
reasons. Regardless of the reason, hosts in one VLAN cannot
communicate with hosts in another VLAN unless there is a router or a
Layer 3 switch to provide routing services.
33
10. DHCP Server
34
DHCP servers can be configured to provide optional data that fully
configures TCP/IP on a client. Some of the most common DHCP option
types configured and distributed by the DHCP server during leases
include default gateway, router, DNS, and WINS parameters.
35
Add the IP address range
36
Scopes created in DHCP Server to distribute IPs to each VLAN.
37
10.3 DHCP Lease
During the DHCP lease period, the client can ask the server for a lease
termination, in order to free the IP address so that it can be used for
another client on the network. This process is generally automatically
performed when a host shuts down.
38
Obtain IP address for VPC in VLAN 20
39
When a network device requests an IP address and a DHCP server
responds with one, it’s called an address lease that assign the
information of IP addresses leased to clients and the name of clients
and their lease expiration time.
IP addresses Leased out to clients in VLAN 40
40
• Every switch will take a copy of the BPDU and resend it to other
switches.
• BPDU is sent every two seconds.
• The loops are then removed by shutting down selected bridge
interfaces and placing redundant switch ports in a backup, or
blocked, state.
Spanning TreeProtocol Types
42
The benefits of domain controller:
43
• New deployment or addition. Whether planning for a new
deployment of AD domain controllers or adding a new controller
for an existing domain, determine the domain controller location
and the resources needed to run the centralized domain
controller and any virtual domain controllers.
44
12.2 Create Organization Units
45
12.3 Join Domain
46
13. VPN
Uses of VPN:
47
• Kill switch: If your VPN connection is suddenly interrupted,
your secure connection will also be interrupted. A good VPN
can detect this sudden downtime and terminate preselected
programs, reducing the likelihood that data is compromised.
48
13.2 Configure VPN Site to Site on Sophos XG on two branches
49
VPN connection is created between the two branches
14. Security
Policies take effect when you add them to firewall rules. The default
set of policies specifies some common restrictions. You can change
one of the default policies to fit your requirements or create new
policies.
50
• An action to take when the firewall encounters HTTP traffic that
matches the rule criteria.
• You can also specify a separate action for HTTPS traffic and set a
schedule for the rule.
Policy quota:
• Using time quota, you can allow access to restricted websites for
a limited period. This applies to all the restricted web categories
in the policy with a quota action. Time quota applies to all the
rules in the web policy. Users can have individual quotas for each
web policy.
• When you change the quota, the changes aren't applied if the
web policy is invalid, the user has no time quota left, or has an
active quota session in the web policy.
51
52
14.1.2 Application Filter
53
Allow traffic from Microsoft 365 (cloud application):
54
14.2 Intrusion Prevention
With IPS policies, you can prevent network attacks using rules.
The firewall enforces the actions specified in the rules and logs the
corresponding events. The set of default policies prevents network
attacks for several common types of traffic. You can create custom
policies with rules that meet your traffic requirements.
55
14.2.2 DoS & Spoof Protection
56
15. Network Traffic Monitoring
By having the proper insight into network use, your services will be
provided error-free and running at high speeds to assure users will be
pleased with the quality of your network.
57
15.1 Monitoring using SysLog Server
What is Syslog?
System Logging Protocol (Syslog) is a way network device can use a
standard message format to communicate with a logging server. It
was designed specifically to make it easy to monitor network devices.
Devices can use a Syslog agent to send out notification messages
under a wide range of specific conditions.
These log messages include a timestamp, a severity rating, a device ID
(including IP address), and information specific to the event. Though
it does have shortcomings, the Syslog protocol is widely applied
because it is simple to implement, and is open-ended, allowing for a
lot of different proprietary implementations, and thus the ability to
monitor almost any connected device.
The advantages of Syslog Server:
• A big advantage of syslog is that the log server can monitor a vast
number of syslog events via log files. Routers, switches, firewalls,
and servers can generate log messages, as well as many printers
and other devices.
The Syslog data can be used in a variety of other ways, for example for
detailed reporting, as well as the generation of diagrams to clarify the
structure of the network.
58
15.2 Monitoring using Sophos XG Firewall
59
15.2.1 Control Center
The Control center shows the features in use and the health and
security of the network.
log viewer utility enables you to view, merge, sort, search, and filter
information contained in message and trace logs.
60
15.2.3 Packet Capture
Packet capture shows the details of the packets that pass through
an interface. You can see the connection details and details of the
packets processed by each module, such as firewall and IPS. Packet
capture also shows the firewall rule number, user, web, and
application filter policy number. This information can help you
troubleshoot instances where firewall rules fail.
61
15.2.5 System Graphs
62
16. The Website
16.2 OVERVIEW
Here are the top reasons it’s important for the business to have a
website:
Credibility
One of the main reasons you should have a website for your business
is to increase your organization's credibility. Chances are there are
several providers offering a similar service to yours. One way you can
stand out is by having a website that looks good and clearly
communicates quality information to your customers.
63
Brand
This is also something that can set you apart from your competitors.
Without a website, it can be incredibly challenging to do this because
people can't easily find quality and reliable information on your
business.
Leads
Perhaps one of the most intriguing reasons to have a website for your
business is because it can increase your chances of getting leads.
Organic Traffic
Once you're online and have a Search engine optimized website, you
have a chance of showing up in Google search results. This means that
when people are searching for a product or service, there is a chance
your website will show up in the results. This gives you the opportunity
to drastically increase your customer base.
64
Saving You Time + Customer Service
Digital Marketing
65
In the end we all must know that the website is very important to any
company regarding the field to improve its business.
So, we decided to complete our mission in building the network
system of OA company for interior designing by creating a website
with a stylish unique eye-catching design for the customers and an
easy effective system with data base for the employees so they can
sign up and login to the system easily and have access to the data base
of the company such as clients phone numbers and addresses.
ALSO, they have the ability of changing any item exhibited by the
website developer and update their work on the website.
So, we built the website with registration form separate the
customers login and the employee's login.
we start our journey with designing the website front page and this is
our first trial.
66
This is our first sight in designing the website front page, but we found
that color is dark, so we chose to change the background colour with
a picture of olive coloured bedroom as shown:
67
We didn’t stop here we decided to add some more in the home page
of the website. As we show below there is some information about
every style in interior designing and short quote about it. Every style
is unique and beautiful in itself.
68
69
The server used to achieve this task:
This is the design of admin registration form for the employees to have
the ability of changing any item exhibited by the website developer
and update their work on the website.
70
Not only the employees can have account on the website client also
can create an account can place an order correctly by providing their
phone numbers and address so the employees of the company can
contact them easily, but they cannot add anything or edit anything,
but the employees can.
And this is the final trial of the form page we created:
71
Last but not least, we decided to add make an appointment form for
the client who admired the company work and want the company
designers to design for them their interior places, so we designed
make an appointment form as shown:
72
Now we added user profile page we designed it as shown:
73
16.4 Coding the front-end code of home page
we start coding the front-end code of home page with HTML and CSS.
we initialized the code with html as a base of the website and we
restyled with CSS file and linked them together. we started the code
with the head section then the header section then the body section
then we uploaded the files on github platform.
then we start coding user registration form with html and linked it
with CSS file to bring the design to real then we again uploaded the
files on github platform.
74
now we do the same with login form after we wrote the code with
html and linked it with CSS file, we uploaded the files on github
platform
then user profile page after we designed the page, we wrote the code
with html and linked it with its CSS file then we uploaded the files on
github platform
Now we finished designing the website and the writing the html and
CSS codes.
75
So, this is the final result of the website
76
77
78
79
80
16.5 The Coding Languages and the programs used
After we finished front end coding there is some of friends helped us.
The coding languages used in coding and programing the front end of
the website:
1. HTML5 2. CSS3
81
The programs used in this operation:
1. Google chrome 2. ui/ux adobe xd 3. visual studio code
After font end coding we decided to upload our site on GitHub online
platform so anyone can open the website easily
82
We didn’t stop here.
At last, we decided to link the website to the network of the company
so the users can go to the website by one click using Internet
Information Services (IIS) Web server installed on our Windows
Server.
Web servers are used in web hosting, or the hosting of data for
websites and web-based applications or web applications.
83
16.7.1 Internet Information Services (IIS)
An IIS web server runs on the Microsoft .NET platform on the Windows
OS. It’s versatile and stable, and it’s been widely used in production
for many years.
Install IIS services on windows Server:
Add HTTP files for AOM company website then Start IIS
84
17. Application
7.1.1 VS Code
85
• Setup VS Code
1. Open VS Code setup icon, the license applies to VS Code
product. You must read the license agreement and accept the
terms of the agreement before continuing with the
installation. Check I accept the agreement and press next.
86
3. Click Install then click Finish
87
17.1.2 Android Studio
88
4. Before start downloading, you must read and agree to the
terms and conditions and accepting the Android Software
Development Kit License Agreement. Check I have read and
agree with the above terms and conditions, then start
downloading.
89
2. Check Android Virtual Device to install AVD. Android studio is
located by default in Program Files. Click Next.
90
3. Click Install in the appeared panel. Wait until the installation
finishes, then click next, click Finish.
91
17.1.3 Flutter
• Download Flutter
1. Go to https://docs.flutter.dev/get-started/install . Select the
operating system on which you are installing Flutter (1), after
installing Flutter follow the documentation in the same page
(2) to setup Flutter on your device.
92
• Installing Flutter on VS Code
1. Open Extensions on VS Code (1). Write on the Search ‘dart’
(2). Install the following extension (3).
93
• Developer Options on Android Device
There are hidden sets of developer options on Android devices
you can access such as USB debugging, unlock your bootloader
so you can root your Android phone. Change the animation draw
speed to give the phone slicker feel.
94
17.2 Debugging on VS Code
95
17.3 Applications
1) Configurations Application
Configurations application is used to display the configurations
of routers in the topology. It is supposed to help the network
administrators in showing running configurations.
• System Environment
1- Android Studio (Version 4).
2- Visual Studio Code.
3- Programming Language: Dart.
4- Platform: Flutter.
5- Database: SQflite.
6- Sign-up: Firebase.
96
2. Go to https://pub.dev/packages/provider/install . Repeat the
same steps to install provider package.
3. Go to https://console.firebase.google.com/u/0/?pli=1 . Click
add project to create your project.
97
4. Select the project name (at least four letters) then click
continue. Enable Google Analytics for this project, click
continue. Choose the default account for Firebase, click
create project.
5. Tap on continue.
Now the project is ready
To start coding.
98
17.4 Screens of The Application
99
• User Journeys
For a regular user, fist the user will have to log in with email and
password or log in directly with Gmail. Second, there will be the
screen that shows routers and switches. The user will choose
which device he wants to show its running configurations. Third,
there will be all the devices in the network to choose from them.
• Feature List
1. Sign-up & login
2. Login with Google
• Dependencies
1. Google sign-in
2. Provider
3. Read more
4. Firebase
• Adobe XD
Adobe XD is user experience design tool for web apps and mobile
apps. It is available for macOS and Windows and there are
versions for iOS and Android to help preview the result of the
work directly on mobile devices.
100
17.5 Company's Application
101
System Environment
1- Android Studio (Version 4).
2- Visual Studio Code.
3- Programming Language: Dart.
4- Platform: Flutter.
5- Database: SQflite.
6- Sign-up: Firebase.
7- Adobe XD.
102
• Feature List
1- Responsive.
2- Login & Sign up with Firebase.
3- Login with Google & Facebook with Firebase.
• Splash Screen
When creating a flutter project. A splash
screen is generated among the other files.
It is shown before the first frame when
flutter is rendering widgets to screen.
103
o styles.xml looks like this before editing:
104
o AndroidManifest.xml will look like this:
105
Adaptive and responsive can be viewed as separate dimensions
of an app which means you can have an adaptive app that is not
responsive or vice versa. And an app can be both, or neither.
- Responsive
A responsive app has its layout tuned for the available screen
size which means re-laying out the UI if the user resizes the
window or changes the device’s orientation. This is specially
necessary when the same app can be run on a variety of
devices like phone, laptop, watch or desktop computer.
- Adaptive
Adapting applications to run on different device types such as
phones and desktop requires dealing with mouse and
keyboard input as well as touch input. It also means there are
different expectations about the app’s visual density, how
component selection works, using platform-specific features
and more.
106
18. References
Trunking Protocol
• https://www.geeksforgeeks.org/inter-switch-link-isl-ieee-802-1q/
• https://en.wikipedia.org/wiki/IEEE_802.1Q
Switchport modes
• https://www.gns3network.com/switchport-mode-trunk-and-
access/
107
VLAN Trunking Protocol (VTP)
• https://en.wikipedia.org/wiki/VLAN_Trunking_Protocol
• https://www.geeksforgeeks.org/vlan-trunking-protocol-vtp/
DHCP Lease
• https://www.efficientip.com/glossary/dhcp-
lease/#:~:text=A%20DHCP%20lease%20is%20a,a%20limited%20pe
riod%20of%20time.
108
Spanning Tree Protocol (STP)
• https://www.techtarget.com/searchnetworking/definition/spannin
g-tree-protocol
Domain Controller
• https://en.wikipedia.org/wiki/Domain_controller#:~:text=A%20do
main%20controller%20(DC)%20is,security%20policy%20for%20a%
20domain.
• https://www.techtarget.com/searchwindowsserver/definition/do
main-controller
VPN
• https://www.kaspersky.com/resource-center/definitions/what-
is-a-vpn
• https://www.paloaltonetworks.com/cyberpedia/what-is-a-site-
to-site-vpn
Security
• https://docs.sophos.com/nsg/sophos-firewall/18.5/Help/en-
us/webhelp/onlinehelp/AdministratorHelp/GettingStarted/index.h
tml
109
Application
• https://docs.flutter.dev/development/ui/layout/adaptive-
responsive#:~:text=Flutter%20allows%20you%20to%20create,you
%20get%20a%20BoxConstraints%20object
• https://api.flutter.dev/flutter/widgets/MediaQuery/of.html
• https://api.flutter.dev/flutter/widgets/LayoutBuilder-class.html
• https://pub.dev/packages/flutter_native_splash
Website
110