Project Deliverable1 Group11
Project Deliverable1 Group11
Project Deliverable1 Group11
SEC935 - ZAA
PROJECT
DELIVERABLE 1
1
Table of Content
OS Selection………………………………………………………………………………3
2
OS Selection
Introduction:
The choice of an operating system (OS) for our server build is an important choice that will
have a significant impact on the system's overall performance, security, and compatibility. In
this section, three different operating systems—Windows Server, Linux (particularly Ubuntu
their security features. We will choose the OS that is best suited for our server development
Windows Server:
Windows Server is a widely used operating system in enterprise environments due to its
offers a range of security measures, including robust user access controls, secure remote
administration, and built-in firewalls. Microsoft is known for regularly releasing security
patches and updates, ensuring the system's resilience against emerging threats. Additionally,
Windows Server supports various security frameworks and protocols, such as Active
Directory and Secure Socket Layer (SSL), which significantly enhance the overall security
posture.
of security. Firstly, being a proprietary system, its source code is not open to public scrutiny,
potentially limiting the ability to identify and address vulnerabilities. This closed nature of
audits. Moreover, due to its popularity and widespread usage, Windows Server becomes an
3
attractive target for cyberattacks, necessitating diligent monitoring and proactive security
measures.
Linux, particularly Ubuntu Server, is an open-source operating system renowned for its
stability, flexibility, and robust security features. As an open-source system, it benefits from a
large and active community of developers who continuously review the code and promptly
address security vulnerabilities. Ubuntu Server provides robust access controls, strong file
permissions, and extensive encryption options. Additionally, its modular architecture allows
for a streamlined and customized installation, significantly reducing the potential attack
surface.
One of the significant advantages of Ubuntu Server lies in its vast repository of security tools
and packages, such as AppArmor and Fail2Ban, which further enhance the overall security
posture. Furthermore, regular updates and patches are readily available, ensuring a timely
response to emerging threats. The open nature of the OS allows security experts and system
administrators to thoroughly inspect the code, thereby minimizing the risks associated with
undiscovered vulnerabilities.
FreeBSD:
and security. It offers built-in security features, including mandatory access controls (MAC),
secure memory management, and granular file permissions. FreeBSD has a commendable
track record of rapidly addressing vulnerabilities and providing proactive security updates.
4
The system's security-centric design and focus make it particularly suitable for server
However, it is essential to consider that FreeBSD may present a steeper learning curve for
administrators who are not familiar with Unix-like systems. Additionally, the availability of
specific software and commercial support options may be more limited compared to
After conducting a thorough evaluation, we have decided to select Linux, specifically Ubuntu
Server, as the operating system for our server build. Ubuntu Server offers a compelling
combination of security, stability, and customization options. Its open-source nature ensures
continuous improvement, with a vast community actively involved in the development and
security aspects. The extensive repository of security tools and packages provides us with
the necessary flexibility to enhance the server's security posture according to our specific
needs. Furthermore, Ubuntu Server's compatibility with various web server software and
content management systems aligns well with our project requirements, ensuring smooth
By selecting Ubuntu Server, we aim to leverage its robust security features, active
community support, and regular updates to create a secure and reliable server environment
for our project. The open-source nature of the OS, coupled with its extensive security tools
and packages, will allow us to implement stringent security measures, protect against
flexibility and compatibility will provide us with a solid foundation for the subsequent stages
of our project.
5
Web-Server Software Selection
Introduction:
The selection of the web-server software for our server build is a crucial step that will
significantly impact the performance, security, and scalability of our system. In this section,
we will compare and evaluate three different types of web-server software: Apache HTTP
Server, Nginx, and Microsoft Internet Information Services (IIS). Our evaluation will focus
primarily on their security aspects. Subsequently, we will select the most suitable web-
server software for our server build and provide a comprehensive justification for our
choice.
Apache HTTP Server, commonly known as Apache, is one of the most widely used and highly
regarded web-server software. It is renowned for its stability, reliability, and extensive
feature set. Apache has a long history of being a secure web server, with a robust security
track record. It offers various security modules, such as mod_ssl for encrypted connections
Apache's security strengths lie in its flexibility and configurability. It provides a wealth of
and secure communication protocols. Apache's large user community contributes to regular
documentation and community support make it easier to implement and maintain secure
configurations.
6
However, Apache's configurability can be overwhelming for less experienced administrators,
the server's configuration files and directives may require a deeper understanding of web-
Nginx:
and is known for its low memory footprint. Nginx has a strong focus on performance and
security, making it a suitable choice for websites and applications with high traffic loads.
In terms of security, Nginx provides several features to protect against common threats. It
supports secure communication protocols, such as SSL/TLS, and offers configuration options
for secure cipher suites. Nginx's modular architecture allows for the integration of security
modules, such as ModSecurity, to provide web application firewall capabilities. Its ability to
handle Denial-of-Service (DoS) attacks and mitigate the impact of malicious requests is
However, it's important to note that Nginx's extensive configuration options may require a
steep learning curve for administrators who are not familiar with the software. While Nginx
has a growing community and available documentation, it may not have the same level of
Microsoft, primarily for Windows-based systems. It is known for its seamless integration
7
with the Windows Server operating system and the Microsoft technology stack. IIS offers a
user-friendly interface, extensive administrative tools, and integration with other Microsoft
In terms of security, IIS has made significant strides over the years and now includes robust
security features. It supports SSL/TLS encryption, provides granular access controls, and
offers URL rewriting capabilities for enhanced security. Microsoft regularly releases security
patches and updates for IIS, ensuring timely vulnerability resolutions. Additionally, IIS
However, one potential limitation of IIS is its dependency on the Windows Server operating
system. This may restrict its deployment options for organizations using different operating
systems or seeking a more platform-agnostic solution. Additionally, while IIS has improved
its security over time, it may still be a target for attacks due to its widespread usage.
After careful evaluation, we have decided to select Nginx as the web-server software for our
server build. Nginx offers an optimal balance between performance, scalability, and security.
Its efficient handling of concurrent connections and low memory footprint makes it suitable
for our project's requirements. Nginx provides essential security features, such as SSL/TLS
support and configuration options for secure cipher suites, allowing us to establish secure
The modular architecture of Nginx enables the integration of additional security modules,
such as ModSecurity, to enhance the web application firewall capabilities. Nginx's ability to
8
handle DoS attacks and mitigate the impact of malicious requests aligns with our objective
While Apache and IIS are also strong contenders, Nginx's lightweight nature, performance
optimizations, and growing popularity in the industry make it the most suitable choice for
our project. Furthermore, Nginx's active community support and availability of resources
ensure that we can leverage expert knowledge and promptly address any security concerns
Introduction:
The selection of host-based (or endpoint) security software is crucial to protect the integrity,
availability, and security of our Linux server. In this section, we will compare and evaluate
three types of modern host-based security software designed for Linux servers: OSSEC,
rkhunter, and Fail2ban. Our evaluation will focus on their security features, ease of use,
community support, and compatibility with Ubuntu Server. Subsequently, we will select the
most suitable host-based security software for our Ubuntu Server build and provide a
OSSEC:
OSSEC (Open Source Host-based Intrusion Detection System) is a widely adopted and open-
source host-based security software specifically designed for servers. It provides real-time
log analysis, file integrity checking, rootkit detection, and active response capabilities. OSSEC
is known for its strong intrusion detection and prevention features, enabling administrators
9
One of the notable strengths of OSSEC is its centralized management console, which allows
for efficient monitoring and alerting across multiple Linux servers. It provides comprehensive
log analysis, allowing administrators to detect and respond to potential security threats
effectively. OSSEC's extensive rule set and active response capabilities enable the
customization options. It integrates well with other security tools and can be tailored to fit
specific server environments and requirements. However, the initial setup and configuration
of OSSEC may require more technical expertise, and ongoing maintenance and fine-tuning
rkhunter:
software designed to detect and remove rootkits, backdoors, and local exploits on Linux
One of the significant advantages of rkhunter is its simplicity and ease of use. It provides
accessible for administrators with varying levels of technical expertise. rkhunter's regular
updates and community support ensure timely response to emerging threats and
continuous improvement.
10
However, it's important to note that rkhunter primarily focuses on rootkit detection and
system integrity checks. It may not provide advanced intrusion detection or comprehensive
Fail2ban:
protect Linux servers from brute-force attacks, password-guessing attempts, and other
malicious activities. It scans log files, detects suspicious patterns, and automatically blocks
mitigating common attacks targeting SSH, web applications, and other services.
One of the strengths of Fail2ban is its ability to dynamically respond to detected threats,
parameters, such as the number of failed login attempts before blocking an IP address and
the duration of the ban. Fail2ban's straightforward configuration and active community
support make it accessible and easy to integrate into Linux server environments.
However, it's important to consider that Fail2ban primarily focuses on preventing and
mitigating brute-force attacks and may not provide advanced threat detection or rootkit
11
After careful evaluation, we have decided to select Fail2ban as the host-based security
software for our Ubuntu Server build. Fail2ban's ability to dynamically respond to detected
threats, its focus on preventing brute-force attacks, and its ease of use make it the most
By integrating Fail2ban, we can effectively mitigate the risk of unauthorized access and
brute-force attacks on our Ubuntu Server. Fail2ban's log-parsing capabilities and active
varying levels of technical expertise. Fail2ban's compatibility with Ubuntu Server further
Content-Management-System Selection
Introduction:
The selection of a content management system (CMS) is a critical decision that directly
impacts the security, flexibility, and ease of managing content on our server. In this section,
we will compare and evaluate three different types of CMS: WordPress, Drupal, and Joomla,
with a particular focus on their security aspects. Our evaluation will encompass factors such
12
select the most suitable CMS for our server build and provide a comprehensive justification
WordPress:
WordPress is a widely popular open-source CMS known for its user-friendly interface,
extensive plugin ecosystem, and ease of use. It powers a significant portion of websites
worldwide, ranging from personal blogs to enterprise-level platforms. WordPress has a large
and active community of developers, which contributes to frequent updates and security
patches.
In terms of security, WordPress has made significant strides in recent years to address
vulnerabilities and enhance its security features. It provides various security plugins, such as
Wordfence and Sucuri, which offer features like malware scanning, firewall protection, and
login security. Additionally, WordPress follows best practices for secure coding and offers
However, the popularity of WordPress makes it an attractive target for cyberattacks. The
extensive use of plugins, themes, and customizations can introduce potential vulnerabilities
if not managed properly. It is essential to maintain the CMS and its components up to date
Drupal:
Drupal is another open-source CMS known for its robustness, scalability, and security
complex website architectures. Drupal has a dedicated security team that actively monitors
13
vulnerabilities, releases timely security updates, and collaborates with the community to
Drupal's security strengths lie in its access control mechanisms, granular user permissions,
Additionally, Drupal follows a structured release cycle, ensuring regular updates and security
patches.
However, Drupal's complexity and steeper learning curve may require more technical
expertise to implement and maintain compared to other CMS options. While Drupal has a
Joomla:
Joomla is an open-source CMS known for its ease of use, flexibility, and extensibility. It offers
a middle ground between WordPress and Drupal in terms of complexity and features.
Joomla has an active community that contributes to the development, security, and
and granular user permissions. It follows secure coding practices and regularly releases
updates and security patches to address vulnerabilities promptly. Joomla also offers
extensions and plugins that enhance the CMS's security, such as Akeeba Backup and Admin
Tools.
14
However, Joomla's extension ecosystem is not as extensive as WordPress's, which may limit
should evaluate their specific requirements and ensure that Joomla's available features align
After careful evaluation, we have decided to select Drupal as the content management
system for our server build. Drupal's robustness, extensive security features, and dedicated
security team make it the most suitable choice for our project.
structured release cycle, aligns well with our goal of creating a secure server environment.
Its access control mechanisms and granular user permissions enable us to define fine-
grained security policies and manage content effectively. Additionally, Drupal's secure coding
foundation.
While WordPress and Joomla are popular CMS options with their strengths, Drupal's
superior security features, strong community support, and dedicated security team give us
confidence in its ability to provide a secure and scalable CMS for our server build. By
monitoring, and regular updates to ensure the integrity and confidentiality of our content
15