Reading Material
Cloud Computing Foundations & Architecture Lesson 1 of 10
In Progress

Introduction to Cloud Computing & Virtual Private Servers (VPS)


Cloud computing is a technology that uses the internet for storing and managing data on remote servers and then accessing data via the internet.
The examples are:
  • Google Cloud: It is a suite of public cloud services offered by Google. All the application development runs on Google hardware.
  • AWS: Amazon Web Services, Inc. is a subsidiary of Amazon providing on-demand cloud computing platforms and APIs to individuals, companies, and governments, on a metered pay-as-you-go basis.
  • Azure: Microsoft Azure, often referred to as Azure, is a cloud computing service operated by Microsoft for application management via Microsoft-managed data centers.


Reading Material
Cloud Computing Foundations & Architecture Lesson 2 of 10
In Progress

Understanding the Client-Server Model in Network Computing

In harnessing the capabilities of the internet, numerous computers engage in communication facilitated by application programs. It's crucial to note that the communicating entities are the application programs, not the individual computers or users. This communication paradigm adheres to the client-server model, a distributed approach orchestrating network processes between service requestors (clients) and service providers (servers). The establishment of the client-server connection occurs over a network or the Internet, operating on a many-to-one relationship, allowing multiple clients to access the services provided by a single server.

Client-server Model

In this article, we explore the intricacies of the client-server model, breaking down its components, elucidating its operational mechanisms, and shedding light on the advantages it offers. Additionally, we delve into the various types within this model and provide a comparative analysis with peer-to-peer models, offering a comprehensive understanding of the client-server paradigm in network computing.

What are Clients and Servers?

The client-server model is a computer networking design where multiple computers are involved, showcasing a relationship between client computers and a centralized server. In this system, clients request services or resources from the powerful server, emphasizing how devices access information stored in servers. This approach facilitates consistency across devices, allowing multiple clients to open applications or retrieve files from a central server.

Companies in various industries utilize servers for storing and accessing information, benefiting from enhanced processing power and extensive storage space. The model supports both local area network (LAN) connections, which are more secure but lack external capabilities like cloud computing, and wide area network (WAN) connections that use the internet for broader applications and access to larger data collections. However, WAN connections may require additional security measures.

Client-server networks perform several functions, including 

  • Interacting with temporary and local storage
  • Sending data requests to servers
  • Facilitating communication between servers and users
  • Executing database operations
  • Connecting with other servers
  • Processing user requests
  • Writing files on servers
  • Accessing server files
  • Querying databases, and 
  • Creating interactive web applications

Client-Side Components

What is a Client?

Clients, in the context of network computing, are software programs residing on local machines. They play the pivotal role of initiating service requests directed towards servers. These programs operate temporarily, are activated as needed, and conclude their functions upon the fulfillment of the requested service. Specific client-server application programs are designed to support services with high demand, ensuring efficient communication between local machines and servers.

Clients

Communication between Client and Server:

The communication link between clients and servers is typically established through a network, which can be either local, confined within an organization, or global, as exemplified by the vast expanse of the internet. This interaction is facilitated using predefined protocols, such as HTTP for web-based applications or SMTP for email, ensuring standardized and secure communication channels.

Communication between client and Server


Roles and Responsibilities for Client:

Clients bear distinct responsibilities within the client-server model. Primarily, they are accountable for the user interface, managing user input, and initiating service requests. Additionally, clients may locally process certain data or handle presentation aspects, contributing to a seamless and user-friendly experience in the overall networked environment. Understanding these roles is essential for comprehending the intricate dynamics of the client-server interaction.

Server-Side Components

Server

Servers, on the other hand, are application programs operating on remote machines, dedicated to delivering services to clients. Unlike clients, server programs are persistent, running continuously, and poised to receive incoming requests. They respond promptly, providing the required services to clients and contributing to the seamless functioning of the client-server model in network computing.

Server

Roles and Responsibilities for Server:

Servers bear a multifaceted set of responsibilities essential to the client-server model's harmonious operation. They take charge of processing incoming requests, deftly managing resources, and providing an array of services. Their repertoire includes the storage and retrieval of data, execution of computations, and implementation of crucial business logic. Understanding these responsibilities illuminates the pivotal role servers play in the intricate web of network computing, shaping a robust and responsive ecosystem for seamless interactions between clients and servers.

Request-Response Model:

  • The client sends requests to the server, asking for specific services, resources, or data.
  • The server processes these requests and sends back responses containing the requested information or the result of the requested action.
Request-Response Model

Key Concepts

Statelessness:

The client-server model is often designed to be stateless, meaning that each request from a client to a server is independent. The server does not maintain information about the client's state between requests. This simplifies the architecture, making it more scalable and resilient.

Scalability:

The client-server model allows for scalability by distributing the load between multiple servers. This is achieved through techniques like load balancing, where incoming requests are distributed across a pool of servers to ensure optimal performance and resource utilization.

Examples:

  • Web Applications: In a typical web application, the user's browser acts as the client, making requests to a web server that hosts the application. The server processes these requests and sends back the corresponding web pages.
  • Email: In an email system, the client is an email client application, and the server is responsible for storing, sending, and receiving emails.

Types of Client-Server Computing Architectures:

Client-server computing embraces diverse architectures, each tailored to meet specific needs within server networks. IT professionals leverage these architectural types to optimize performance and efficiency. Here are the prominent classifications:

One-tier Architecture:
    • Description: A one-tier server deploys a single device to run a program, simplifying the architecture. This approach aids in reducing network traffic, as it doesn't necessitate constant network access.
    • Advantages: Streamlined operation and reduced network dependencies.


    Two-tier Architecture:
      • Description: Two-tier systems involve a client, server, and program. The graphical user interface (GUI) resides on the client's device, while the domain logic is stored on the server. This architecture often employs Java or C++ coding languages for GUI display.
      • Advantages: Efficient separation of GUI and domain logic, catering to specific programming languages.


      Three-tier Architecture:
        • Description: Three-tier servers introduce a presentation tier (GUI layer), an application tier (service layer for detailed processing), and a data tier (database server storing information). This segmentation enhances organization and facilitates efficient data management.
        • Advantages: Clear separation of concerns, enabling specialized functionality in each tier.
        N-tier Architecture:
          • Description: An N-tier server involves multiple layers, each responsible for specific functions. This segregation helps manage dependencies, and physical tiers can run on different machines, enhancing system scalability. N-tier architectures can operate in an open-layer or closed-layer programming model, offering flexibility in communication.
          Multilayer Architecture
            • Advantages: Enhanced scalability, efficient separation of responsibilities, and adaptable communication models.

            Advantages and Disadvantages

            Advantages

            • Centralized Management: The server centralizes data and resources, making it easier to manage and secure.
            • Scalability: The model allows for easy scalability by adding more servers to handle increased demand.
            • Specialization: Servers can be specialized for specific tasks, such as database servers, web servers, or file servers.

            Disadvantages:

            • Single Point of Failure: If the server fails, clients may lose access to services.
            • Complexity: Implementing and maintaining a client-server architecture can be complex, especially in large-scale systems.
            Google Cloud Platform (GCP) & Virtual Machines Lesson 3 of 10
            In Progress

            Setting Up Google Cloud Platform (GCP) Free Tier ($300 Credits)

            Google Cloud enables developers to build, test, and deploy applications on Google’s highly scalable and reliable infrastructure. Google cloud platform is a set of modular cloud-based services that allow you to create anything from simple websites to complex applications.


            The best thing that I like most is it gives you 300 USD credit to check whether you comfortable with it or not.



            1. Open your browser and visit Google Cloud Platform and click on “get started for free”. On the Next page select country and accept all the terms and conditions for Google Cloud Platform. After all these, you have to verify your payment information. After successful verification, it will provide a panel.



            2. Now at this place, we have to create a VM. So click on compute Engine.

            3. Now click create to create a Virtual Machine. Change the name, region, and hardware preferences as per your need, and also you have to allow HTTP and HTTPS traffics. When all fill, click create to create the VM.

            Congratulation! We have successfully created a Linux VM on the Google Cloud Platform.

            4. Let's Connect via SSH. Click on SSH and you get the session.

            Google Cloud Platform (GCP) & Virtual Machines Lesson 4 of 10
            In Progress

            Deploying an Ubuntu Desktop GUI on Google Cloud Platform

            Google Cloud enables developers to build, test, and deploy applications on Google’s highly scalable and reliable infrastructure. Google cloud platform is a set of modular cloud-based services that allow you to create anything from simple websites to complex applications.

            To Learn More:



            Steps to Install Ubuntu Desktop on GCP

            1. First, we have to create a new VM. To do so, open the navigation menu > Compute Engine > Create.

            • Give the name of your instance.
            • Change the region.
            • The configuration side changes them on the machine according to your requirements. More CPUs mean more cost, so look into them first.
              • Change the boot disk. I am here installing Ubuntu. The version is 20.04 LTS. 
              • Change the size of the disk.
              • Click select.
            • At this place, HTTP and HTTPS traffic are not required to keep them blank.
            • Click create.

            technoscsoln@ubuntu-desktop:~$ sudo su
            root@ubuntu-desktop:/home/technoscsoln# sudo apt-get update && sudo apt-get upgrade

            2. It may take time to activate the VM instance and click SSH to connect with the Ubuntu terminal.

            • On the terminal screen type sudo su, which gives you administrator privileges.
            • So from here update and also upgrade your Ubuntu using the following commands.

            3. If you want to interact with Ubuntu graphically you have to install Ubuntu Desktop. 

            • To install just type the following command:
            root@ubuntu-desktop:/home/technoscsoln#sudo apt-get ubuntu-desktop

            To interact with Ubuntu graphically we need remote connection software:

            1. Download no machine on Ubuntu. So open the NoMachine official website, and Click on NoMachine for Linux DEB amd64.

            • Right-click on the Download button and click Inspect.
            • Copy the element by right-clicking on the mouse.


            2. Copy this "ahref" code to Notepad and copy the Download URL. Open the SSH terminal and type the following command:

            root@ubuntu-desktop:/home/technoscsoln# wget https://download.nomachine.com/download/7.4/Linux/nomachine_7.4.1_1_amd64.deb
            root@ubuntu-desktop:/home/technoscsoln# ls
            nomachine_7.4.1_1_amd64.deb
            root@ubuntu-desktop:/home/technoscsoln# apt install ./nomachine_7.4.1_1_amd64.deb

            3. Now you have to set the firewall rule. To create a firewall rule, click on three dots and click on view network details > Click on Firewall > Click on “Create Firewall Rule”.

            • Set the name to NoMachine.
            • Set target tags type NoMachine.
            • Set the source IP range to 0.0.0.0/0.
            • Click TCP and here type 4000.
            • Now click Create to create the Firewall rule.

            4. Now go back to VM instances and click on Ubuntu-desktop.
            • Click edit.
            • On-network tags type NoMachine and hit enter.
            • Save it.

            5. Again open the SSH terminal. 
            • Set a new password for the Ubuntu desktop.
            • Open sshd_config with a nano text editor.
            root@ubuntu-desktop:/home/technoscsoln# passwd
            New Password:
            Retype New Password:
            passwd: password updated sucessfully
            root@ubuntu-desktop:/home/technoscsoln#nano /etc/ssh/sshd_config
            root@ubuntu-desktop:/home/technoscsoln# adduser mrdev
            ..........................................................................
            ..........................................................................
            ..........................................................................
            root@ubuntu-desktop:/home/technoscsoln# usermod -a -G sudo,adm mrdev
            root@ubuntu-desktop:/home/technoscsoln# reboot
            • Set the password authentication to yes.
            • Save it using CTRl+X and hit enter.

            6. Create a new user for the Ubuntu desktop and give the user sudo and administrator permission.

            6. To interact with Ubuntu Desktop, download NoMachineand Install it.

            a. Run NoMachine software and click on new to create a new one.

            b. Don’t have to change the protocol.

            c. Click continue and add host IP and port number. Click continue.

            d. Give a name for the connection. Click connect to connect.


            e. Give the username and password.


            7. In the same way, you can install Ubuntu-Desktop.
            Google Cloud Platform (GCP) & Virtual Machines Lesson 5 of 10
            In Progress

            Deploying Windows Server on GCP with Remote Desktop (RDP)

            Hey there, In This Article we are going to discuss, why is Linux better than a Windows server? And also you are going to learn how you can run Windows servers on the Google Cloud Platform.


            What we are going to Learn?

               

            Steps to install Windows on GCP

            1. Open GCP(Google Cloud Platform) console. 
            2. First, we have to create a new VM. So go to navigation menu > Compute Engine > click create to create a new one. 
            3. On this page, configure the following settings: 
            • First, give the Name of your Instance
            • At the machine, the configuration side changes them as per your requirement. 
            4. For the boot disk settings, click on ‘Change’ in front of the boot disk and it will populate many boot disk options. 
            • Select the “Windows Server 2019 datacenter” and size as 50 GB. 
            5. Now click select. Here at this place HTTP and HTTPS traffic not required keep them blank. Click create. It may take time to activate the VM instance
            6. Here at the place of SSH, here you see RDP. The full form of RDP is Remote Desktop Protocol. It means you can connect Windows-Server by using a Remote Desktop Connection. Here click you see the similar thing that I have told about it. So first you need to set the username and password by clicking on “Set Windows password”. 
            7. Now open Remote Desktop Connection Application. This application comes pre-installed with any Windows platform.

            7. Here type your External IP address. Now click connect to connect with the windows server. 

            8. But here on the screen, an error occurs. This is because I have not yet forward the port. Now we have to use the firewall rule. 

            9. To create a Firewall Rule, click on three dots and click on View Network Details > Firewall > Create Firewall Rule
            • Set the name to windows
            • Here on target tags type windows. 
            • Set the source IP range to 0.0.0.0/0
            • Click TCP and here type 3389
            • Now click create to Create The Firewall Rule

            10. Now, go back to the VM instances page and click on the VM instance that you have created(On my side click on windows-server). Click edit. 
            • Here on Network tags type windows and hit enter. 
            • Save it.

            11. Now open the Remote Desktop Application. Enter IP Address and click Connect

            12. Now here you have to type the Username and Password

            13. Now Click ok to connect with windows. Now you can manage your windows server RDP. 

            Why Linux server is mostly used than, windows? 

            Have you ever visit GoDaddy, Hostinger, Bluehost. If yes, then you see there are two types of Webhosting available that are Windows Hosting, and Linux hosting

            If you see their price they are quite different. If you compare them then you will see windows server installation is the cost is more than Linux. 

            Because Windows server charges for the usage of windows operating system, where Linux is free for all.  This is why Linux is most popular than windows.

            Web Hosting, Server Stacks & Control Panels Lesson 6 of 10
            In Progress

            aaPanel: Automated Linux Web Hosting Control Panel Setup

            AaPanel, a simple but powerful control panel, can manage the webserver through a web-based GUI (Graphical User Interface). AaPanel provides the one-click function such as one-click install LNMP/LAMP developing environment and software.

            Let it install on CentOS 7 on the Google Cloud Platform. If you don't know how to install CentOS on GCP then go from here.


            Steps to Install aaPanel

            1. Connect to your Linux server via SSH and update all the currently installed software to the latest version. I already have CentOS7 installed on my GCP console. So click on the SSH to connect with the cent OS terminal.

            Type the following commands to update and upgrade all the currently installed software to the latest version

            [technoscsoln@centos7 ~]$ sudo su
            [root@centos7 technoscsoln]# yum update -y

            2. Now download and install the latest version of aaPanel. Open the official website of aaPanel and click on free install. You have to copy the link and paste it into the SSH terminal.

            [root@centos7 technoscsoln]#yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh
            3. It will take time. After completion, it will show aaPanel internet address, user name, and password.

            4. To access aaPanel, you have to set Firewall Rules for Port no 8888. So click on three dots on VM instance and click on view network details and click on the firewall.

            5. Click on Create Firewall Rule

            • Give a proper name and a proper description.
            • Set the target to a specified service account.
            • Set target service account to compute engine default service account.
            • Set source IP range to 0.0.0.0/0.
            • Set the second source filter to none.
            • Check the box for TCP and give the required port number is 8888.


            6. By default, aaPanel uses a self-signed SSL certificate, so your web browser will warn you that the connection is not secure. You can accept the self-signed SSL certificate and proceed to the log-in screen.


            • Here provide the username and password.

            7. In the aaPanel dashboard, you can see some basic information about your system. After a few minutes, you see a new pop-up appear. This is a one-click install of all useful software, click as per your choice.

            This may take a couple of minutes to complete. After completion let’s check, what can we do with it? The modules and services that you can manage through aaPanel are listed on the left panel.

            8. The setting is most useful for security purposes. Here you can modify the username password and port number just click modify.

            9. In the website section, you can manage your website. Click Add Site to add a new website.

            Reading Material
            Web Hosting, Server Stacks & Control Panels Lesson 7 of 10
            In Progress

            Setting Up a Custom LAMP (Linux, Apache, MySQL, PHP) Server

            LAMP stands for "Linux, ApacheMySQL, and PHP". LAMP is an open-source platform and works on the Linux operating system. It uses an Apache web serverMySQL relational database management system, and PHP object-oriented scripting language. Since this platform has four layers, it can also be called a LAMP stack. It is highly secure working with Linux OS

            mrdev@ubuntu:~$sudo apt update
            mrdev@ubuntu:~$sudo apt install apache2
            mrdev@ubuntu:~$sudo service apache2 start
            mrdev@ubuntu:~$sudo apt install mysql-server
            mrdev@ubuntu:~$sudo service mysql start
            mrdev@ubuntu:~$sudo apt install php libapache2-mod-php
            mrdev@ubuntu:~$sudo a2enmod php
            mrdev@kali:~$sudo service apache2 restart
                <?php
                    phpinfo();
                ?>

            The LAMP is easy to code with PHP. It is a cheap and ubiquitous hosting platform. Instead of only serving static HTML pages, a LAMP server can generate dynamic web pages that run PHP code and load data from a MySQL database.

            Steps to install LAMP

            To install LAMP on your computer, you will need to install and configure Apache, MySQL, and PHP separately. Here are the steps to install LAMP on a Linux system:

            Install Apache:

            Open a terminal and run the following command to update the package manager repository: 

            Run the following command to install Apache:

            After installing Apache, run the following command to start the Apache service

            To verify that Apache is running, open a web browser and go to "http://localhost". You should see the Apache "It works!" page.


            Install MySQL

            1. Run the following command to install MySQL:

            2. During the installation process, you will be prompted to set a password for the MySQL root user. Make sure to choose a strong password and remember it.

            3. After installing MySQL, run the following command to start the MySQL service:

            Install PHP

            1. Run the following command to install PHP and the Apache PHP module: 

            2. After installing PHP, you will need to enable the Apache PHP module. Run the following command to do this:

            3. Restart Apache to apply the changes: sudo service apache2 restart

            Test PHP:

            To test that PHP is working correctly, create a PHP file in the Apache document root folder (usually "/var/www/html"). 

            For example, you can create a file called "info.php" with the following content:

            Open a web browser and go to "http://localhost/info.php". You should see a page with information about your PHP installation.

            After installing LAMP, you can start and stop the Apache and MySQL servers using the appropriate service commands. 

            For example, to start Apache, you can use the command sudo service apache2 start, and to stop Apache, you can use the command sudo service apache2 stop. Similarly, to start MySQL, you can use the command sudo service mysql start, and to stop MySQL, you can use the command sudo service mysql stop.

            Multi-Cloud, Remote Administration & Hardening Lesson 8 of 10
            In Progress

            AWS (Amazon Web Services) Free Tier Setup & EC2 Deployment

            Similar to Google Cloud Platform, AWS also widely used in Cloud Computing. 

            To Learn More about Google Cloud Platform:

            Hello my readers I welcome you all, In this blog you are going to know how to get a VPS for a complete 1 year.

            What is AWS? 

            Amazon Web Services (AWS) is a subsidiary of Amazon providing on-demand cloud computing platforms and APIs to individuals, companies, and governments, on a metered pay-as-you-go basis.


            Signing up Process

            1. Sign Up for AWS

            • Visit the below webpage or search AWS on Google.
            • Select “Create a new AWS account” and complete the form in five easy steps.

            2. Add Billing Information:

            • To get a free account, add your billing information. 
            • If you don't have a Visa debit card, you can create a virtual card online using various applications.

            3. Verify Identity:

            • Confirm your identity using your mobile number.

            4. Select Free Support:

            • Choose free support services and complete your sign-up process. 
            • This may take up to 24 hours.

            Creating a Free Tier Virtual Instance on AWS

            1. Sign In:

            • Once your account is ready, sign in to the AWS console.

            2. Launch a Virtual Machine:

            • On the AWS console, click “Launch a Virtual Machine”.
            • Select an Amazon Machine Image (AMI). For a free AMI, check the "free tier" option on the left side.
            • Choose "Ubuntu server" from the list. Select "micro" as the instance type, which is available for the free tier.

            3. Choose an Instance Type

            • Click "Next", and after selecting "Ubuntu Server", you'll need to choose an instance type that is available under the Free Tier.

            4. Configure Instance Details:

            • Review the instance details and proceed if there are no issues.

            8. Add Storage:

            • Add storage size up to 30 GB, which is free under the free tier.

            9. Add Tags:

            • Optionally, add tags to your instance.

            10. Configure Security Group:

            • Configure the security group, which is crucial for connecting to your instance.
            • Add your IP address or select the "My IP" option. Alternatively, choose a custom IP address.

            11. Review and Launch:

            • Review all settings and click “Launch”.
            • Select "Create a new key pair".
            • Key Pair name it, and download it.

            • Once downloaded, you will look at the Key pair file.

            12. Instance Creation:

            • Click on "View Instance". 
            • View the status of your instance once created.

            13. Connect Using SSH:

            • Download and install PuTTY, an SSH client tool, from its official page.
            • Convert the downloaded PEM file to a PPK file using PuTTYgen.
            • Load your key in PuTTYgen and generate a private key file.
            • Open PuTTY and enter your hostname (retrieved from the instance connection details in AWS).
            instance connection details in AWS
            Paste the Hostname
            • Upload your authentication key in PuTTY.
            • Save the session and click "Open" to connect to your server.

            14. Successful Connection:

            • Once connected, you have successfully set up and configured Ubuntu on AWS.

            15. Additional Resources:

            • For a GUI version setup, refer to a Google Cloud Platform video.

            I hope this guide helps you set up and configure Ubuntu on AWS!

            Multi-Cloud, Remote Administration & Hardening Lesson 9 of 10
            In Progress

            Secure Remote Server Administration & Access Methods

            There are times when you wish you could remotely access your desktop or laptop computer from anywhere on the Internet. Whether you need to remotely access a document, photograph, video, or even a software application the Google Chrome Remote Desktop app allows you to quickly and securely connect to your computer from anywhere on the web using a computer, tablet, or mobile device.


            The Google Chrome Remote Desktop is a free application available as both a browser app and mobile app for both Android and iOS platforms. 

            Steps to Get Started

            1. Visit Google Chrome Remote Desktop's official site and click "Get started". 
            It is no necessary to install the chrome extension, It depends on You.

            2. Click on the Download button to download the Remote Desktop Application and install the application.

            3. Click on TURN ON, and Set your desktop PC name. Click next to set the six-digit passcode.



            4. Now click start and you are online.

            Get connected to the Remote Desktop

            You can get a remote session from Android or From Computer.

            From Android Device

            Download the app from the Play Store, if you are an Android user.

            1. Login Remote Desktop Application with the same Gmail account that you registered with Chrome.

            2. Click on Appeared Device and enter the passcode to get connected.

            3. You can control your desktop PC from anywhere on the Internet.
            • The main reason I think it is best that is it supports a touch screen.

            From Anywhere on the Internet

            There is another ability that I like most. I think that impresses me a lot. You can access your friend's PC without a Gmail account. But the condition is you can access only just one time.


            1. Visit the Google Chrome Remote Desktop website again and click here on the remote support tab.


            2. This section is divided into parts. One section will generate a code and another one will help you to access the system.
            • Click on generate code. It will generate a code. 
            • Send this code.

            Reading Material
            Multi-Cloud, Remote Administration & Hardening Lesson 10 of 10
            In Progress

            Protecting Cloud Servers and Client Infrastructure


            • Because a client computer is connected to an organization’s network, which may have direct and indirect access to servers and network resources, it is important to protect the client computer
            • A computer virus is a program that can copy itself and infect a computer without the user’s consent or knowledge. 
            • A backdoor is a program that gives some remote, unauthorized control of a system or initiates an unauthorized task. 
            • Some viruses, worms, rootkits, spyware, and adware are made possible because they exploit some security holes within Windows, Internet Explorer, or Microsoft Office. 
            • The first step that should be taken to protect yourself against malware is to keep your system up-to-date with the latest service packs, security patches, and other critical fixes for Windows (as well as other Microsoft products, such as Internet Explorer and Microsoft Office). 
            • A virus hoax is a message warning the recipient of a non-existent computer virus threat, usually sent as a chain email that tells the recipient to forward it to everyone they know. It is a form of social engineering that plays on people’s ignorance and fear and may include emotive language and encouragement to forward the message to other people. 
            • User Account Control (UAC) is a feature that was introduced in Windows Vista and is included with Windows 10 that helps guard against malware. 
            • Microsoft recommends always using the Windows Firewall
            • Offline files are copies of network files that are stored on your computer so that they can be accessed when not connected to the network or when the network folder with the files is not connected. 
            • Offline files are not encrypted unless you choose to encrypt them. Consider encrypting your offline files if they contain sensitive or confidential information, and you want to make them more secure by restricting access to them. 
            • By restricting users to standard user accounts, you can limit what software those users can install. 
            • Use group policies to restrict what software can be executed on a client's computer
            • Most of the emails will be unsolicited emails called spam or junk email. 
            • The best place to establish an anti-spam filtering system is on your email relay, on a dedicated server or appliance, or as part of a firewall device or service. 
            • Many anti-spam solutions will also use Real-time Blackhole Lists (RBLs) or a DNS-based Blackhole List (DNSBL), which can be accessed freely. RBLs and DNSBL are lists of known spammers that are updated frequently. 
            • Sometimes, spammers will try to spoof a legitimate email address or IP address when the message actually comes from one with an email address or IP address that would likely be identified as spam. 
            • Simple Mail Transfer Protocol (SMTP) is used to transfer email from one server to another and it is also responsible for outgoing mail transport. 
            • Spammers look for unprotected SMTP servers through which they can relay their email. 
            • A cookie is a piece of text stored by a user’s web browser. It can be used for a wide range of items, including user identification, authentication, storing site preferences, and shopping cart contents. 
            • While some pop-up windows are useful website controls, most are simply annoying advertisements, with some attempting to load spyware or other malicious programs. 
            • To help manage Internet Explorer security when visiting sites, Internet Explorer divides a network connection into four content zones or types. For each of these zones, a security level is assigned. 
            • Phishing and pharming are forms of attacks to get users to a bogus website in an attempt to spread malware or collect personal information. 
            • When surfing the internet, there are times when it is necessary to transmit private data such as credit card numbers, Social Security numbers, and so on. During these times, it is important to use http over SSL (https) to encrypt the data sent over the internet. 
            • The server should be kept in a secure location. In addition, the servers should be in their own subnet to reduce the amount of traffic to the servers, especially broadcasts.
            • To secure a server is to harden the server by reducing its surface of attack and thereby reducing the server’s vulnerabilities. To harden a server, look for security guides and best practices for Windows servers and for the specific network services that you are installing. 
            • Windows servers provide support for the dynamic update functionality. Dynamic DNS lets client computers dynamically update their resource records in DNS. 
            • To keep your DNS server secure, secure DNS makes it so that only members of an Active Directory domain can create records on the DNS server.

            Multiple Choice 

            Select the correct answer(s) for each of the following questions. 
            1. Which type of malware copies itself onto other computers without the owner’s consent and will often delete or corrupt files? 
            1. Virus 
            2. Worm 
            3. Trojan horse 
            4. Spyware 

            (a)

            A computer virus is a program that can copy itself and infect a computer without the user’s consent or knowledge. Early viruses were usually some form of executable code that was hidden in the boot sector of a disk or as an executable file (a file name with an .exe or .com extension).

            2. Which type of malware collects personal information or browsing history, often without the user’s knowledge? 
            1. Virus 
            2. Worm 
            3. Trojan horse 
            4. Spyware 

            (d)

            Spyware is a type of malware that is installed on computers and collects personal information and browsing habits, often without the user’s knowledge. Spyware can also install additional software, which can redirect your web browser to other sites or change your home page.

            One type of spyware is the keylogger, which records every key a user presses. Therefore, when typing credit card numbers, Social Security numbers, and passwords, that information gets recorded and is eventually sent to and read by someone without the user’s knowledge. It should be noted that not all keyloggers are bad, because some corporations use them to monitor their corporate users.

            Adware is any software package that automatically plays, displays, or downloads advertisements to a computer after the software is installed on it or while the application is being used. While adware may not necessarily be bad, it is often used with ill intent.

            3. Which of the following is most likely the problem when a computer seems to be slow and a different default web page displays? 
            1. The ISP has slowed the network connection. 
            2. The computer has been infected with malware. 
            3. The computer has not been updated. 
            4. The user accidentally clicked the turbo button. 

            (b)

            Malicious software, sometimes called malware, is software designed to infiltrate and adversely affect a computer system without the owner’s informed consent. It is usually associated with viruses, worms, Trojan horses, spyware, rootkits, and dishonest adware. As a network administrator or computer technician, it is important to know how to identify malware, how to remove malware, and how to protect a computer from malware

            4. Which of the following is the best thing to do to protect a computer against malware, besides installing an antivirus software package? (Choose the best answer.)
            1. Keep the computer up-to-date with the latest security patches. 
            2. Reboot the computer on a regular basis. 
            3. Change the password on a regular basis. 
            4. Spoof the IP address. 

            (a)

            To avoid malware, be sure to use common sense by following these suggestions: 
            • Don’t install unknown software or software from an unknown source. 
            • Don’t open strange email attachments. 
            • Don’t click hyperlinks from strangers or if it’s unclear what the link is supposed to do. This also applies to sources like Yahoo!, AOL, and MSN. 
            • If your email client supports auto launch, turn it off. Otherwise, you might automatically activate a computer virus just by opening the email. 
            • Don’t visit questionable websites, especially sites that allow downloading software from music and video piracy sites and pornography sites. 
            • If your web browser alerts you that a site is known for hosting malware, pay attention to these warnings. 
            • If you surf the internet and browser pop-ups indicate that you need to download the newest driver or check your system for viruses, use caution. 
            • Don’t forget to perform regular backups. So, if a computer does get a virus and data is lost, you can restore from a backup.
            5. Which of the following refers to a thoroughly tested, cumulative set of hotfixes and other patches? 
            1. Recommended update 
            2. Hotfix pack 
            3. Service pack 
            4. Critical update

            (c)

            The first step that should be taken to protect yourself against malware is to keep your system up-to-date with the latest service packs, security patches, and other critical fixes for Windows (as well as other Microsoft products, such as Internet Explorer and Microsoft Office).

            6. Which technology is used by Windows to prevent unauthorized changes to your system? 
            1. UAC 
            2. Protected mode 
            3. Windows Defender 
            4. ProtectGuard 

            (a)

            User Account Control (UAC) is a feature that was introduced in Windows Vista and is included with Windows 10 that helps guard against malware.

            7. When using UAC, which of the following tasks requires administrative permissions or rights? 
            1. Install updates from Windows Update. 
            2. Change the date and time. 
            3. Reset the network adapter. 
            4. Install drivers from Windows Update. 

            (b)

            UAC can be enabled or disabled for any individual user account. Of course, if UAC is disabled for a user account, the computer will be at higher risk. However, if you perform a lot of administrative tasks on a computer, the UAC prompts can be annoying and can stop you from doing certain activities, including saving to the root directory of a drive, or using an application that is not compatible with UAC.

            8. When attempting to change the display settings, which of the following causes a pop-up that prompts if a user wants to continue? 
            1. Windows Firewall 
            2. Protected Mode 
            3. Windows Update 
            4. UAC 

            (d)

            UAC can be enabled or disabled for any individual user account. Of course, if UAC is disabled for a user account, the computer will be at higher risk. However, if you perform a lot of administrative tasks on a computer, the UAC prompts can be annoying and can stop you from doing certain activities, including saving to the root directory of a drive, or using an application that is not compatible with UAC.

            9. Which host-based firewall software comes with Windows 10? 
            1. Windows Firewall 
            2. Windows Protected Mode 
            3. UAC 
            4. Windows GuardIt 

            (a)

            Microsoft recommends always using the Windows Firewall.

            10. Which program can be used to configure IPsec on a computer running Windows Server 2016? 
            1. Windows Firewall with IPsec Plugin 
            2. IPsec Monitor 
            3. Windows Firewall with Advanced Security 
            4. IPsec Configuration console 

            (c)

            In addition to the Windows Firewall found in Control Panel, newer versions of Windows include Windows Firewall with Advanced Security. Windows Firewall with Advanced Security combines a host firewall and Internet Protocol security (IPsec). Windows Firewall and Windows Firewall with Advanced Security are tightly coupled together, allowing better control of a firewall. In addition, Windows Firewall with Advanced Security provides computer-to-computer connection security, because it can be used to require authentication and data protection for communications via IPsec.

            11. Which of the following tasks is recommended if sensitive or confidential information is stored in offline files? 
            1. Clear the cache. 
            2. Encrypt the offline files. 
            3. Clear the cookies. 
            4. Execute ipconfig /renewip. 

            (b)

            Offline files are not encrypted unless you choose to encrypt them. Consider encrypting your offline files if they contain sensitive or confidential information, and you want to make them more secure by restricting access to them.

            12. Which of the following tasks should be performed if legitimate emails are being blocked at a spam-blocking device? 
            1. Flush out the quarantined items. 
            2. Reboot the spam-blocking device. 
            3. Add the email address or domain to the allow list. 
            4. Add the email address or domain to the block list. 

            (c)

            13. SMTP uses which of the following TCP ports? 
            1. 43 
            2. 25 
            3. 80 
            4. 443 

            (b)

            14. When using IE, how many content zones are there? 
            1. 8

            (c)

            15. Which of the following refers to a social engineering technique in which a user receives an email stating that his account has just expired and he should log on to a legitimate-looking website to fix the problem? 
            1. Phishing 
            2. Pharming 
            3. Phaking 
            4. Spoofing the IP address 

            (a)

            Phishing and pharming are forms of attacks to get users to access a bogus website so the phisher or pharmer can spread malware and/or collect personal information.

            16. Which of the following is used to stop a program from running on a Windows 10 system? 
            1. AppLocker 
            2. Windows Defender 
            3. Microsoft Passport 
            4. Smart card 

            (a)

            Use AppLocker to control how users access and use programs and files, and extend the functionality originally provided by the Software Restriction policy found in earlier versions of Windows operating systems. In Windows 10, AppLocker is located in the Local Group Policy Editor.

            17. Which type of account is used with outlook.com and OneDrive and can be used to synchronize a desktop across multiple computers? 
            1. Domain account 
            2. Microsoft account 
            3. Local account 
            4. Virtual account 

            (b)

            18. Which of the following is a collection of security settings that can be used to configure client settings? 
            1. Biometrics 
            2. Windows Defender 
            3. Security baseline 
            4. Windows Store 

            (c)

            A security baseline is a collection of security settings. Security baselines should include Microsoft’s recommendations for configuring those settings. To help with faster deployments, and to ease the managing of Windows, Microsoft provides customers with security baselines that can be used with Group Policy Objects (GPOs).

            19. Which of the following is a free tool that allows administrators to quickly configure and manage desktops and users using Group Policy? 
            1. STRIDE 
            2. DREAD 
            3. Trusted Platform Module 
            4. Security Compliance Manager

            (c)

            Cloud Computing Foundations & Architecture Quiz

            Cloud Foundations Quiz

            2 questions • Test your knowledge

            Question 1
            Which cloud service model provides raw virtualized computing resources (VMs, storage, networking) where users install and manage their own OS and software?
            Question 2
            What is the primary difference between a Virtual Private Server (VPS) and shared hosting?
            Google Cloud Platform (GCP) & Virtual Machines Quiz

            GCP Virtual Machines Quiz

            2 questions • Test your knowledge

            Question 1
            Which GCP service is used to create and run Virtual Machine instances in the cloud?
            Question 2
            Which protocol is used by default to connect to Windows Server instances for graphical remote management?
            Web Hosting, Server Stacks & Control Panels Quiz

            Web Hosting & Server Stacks Quiz

            2 questions • Test your knowledge

            Question 1
            What does the acronym "LAMP" stand for in web server infrastructure?
            Question 2
            What is the main benefit of deploying aaPanel on a cloud VPS?
            Multi-Cloud, Remote Administration & Hardening Quiz

            Multi-Cloud & Server Hardening Quiz

            2 questions • Test your knowledge

            Question 1
            In AWS EC2, what component acts as a virtual firewall controlling inbound and outbound traffic to instances?
            Question 2
            Which best practice should always be followed when securing SSH access to a cloud server?
            High-Resolution Preview