Configure an FTP Server with Linux

This IT Pro Challenge Virtual Lab has the learner take on the role of a Linux administrator. The tasks revolve around installing, configuring and running an FTP server. Other important Linux tasks such as setting up firewall rules and transferring files between systems are also covered.

45 minutes
Join over 3 million cybersecurity professionals advancing their career
Sign up with
Required fields are marked with an *

Already have an account? Sign In »


Lab Overview:

One of the main set of tasks for Linux Administrators is installing and configuring the server’s required for business purposes. Most environments need a way for users to trade files amongst each other, and the most common protocol used is File Transfer Protocol(FTP). This lab covers the entire process of installing, configuring and using an FTP server-client system. Important dependencies such as proper firewall setup are also discussed.

Install the vsftpd package on the CentOS7-A virtual machine:

One of the first things learners must get used to when operating Linux is the concept of package managers. They are a great way for software to be properly installed and maintained/updated by the system. This lab presents one type of package system for CentOS7 known as rpm. The yum package system is also available, though be sure that the versions of the software are the same if using a different manager (note on a Debian based OS the package manager is apt).

Configure the FTP service, and then configure the firewall to permit FTP connections:

One nice feature of Linux is that common file types are usually placed in the same location. For instance in this case configuration files are located in the /etc directory.( Other common directories include /var/log for application logs). The FTP service is meant to be used by clients that are other devices. Usually any connections from outside devices are blocked by the firewall. A firewall is a software service(In this case firewalld) that controls which ports are allowed to receive and/or send connections to the outside. Without changing the default settings no user would be able to connect to your FTP server.

Start the vsftpd service:

Service managers also play a very important role in Linux. They control the allotment of memory and ports given to any instance of a service. Each of these services gets a unique process id that can be used to identify the service. Using commands such as systemctl status we can find out the health and other information of a service. The same command controls whether a service is active or not and whether it will start when the server boots up.

Connect to the FTP server from the CentOS7-B virtual machine:

In order to test your FTP server you must switch to a separate VM that will be the client. From your basic networking concepts remember that the definition of a server is a device that performs services for clients. Once you successfully have installed the FTP client software you should be able to upload/download files.

Transfer a file by using FTP:

The main purpose of the FTP server is to allow users to share files. Once logged in you can use familiar commands to navigate directories and upload/download files. FTP servers have different security options available. One important setting is whether anonymous accounts are allowed versus only those set by the server administrator. For most business purposes anonymous account are not suggested as they have been used in many FTP exploits.

Lab Summary Conclusion:

Linux administrators spend a large portion of their time installing and configuring servers that provide some user function. The FTP server in this lab allows users to share files amongst each other. Important points to remember include that firewall settings must be set that allow clients to connect to these servers and user accounts should be set by the administrator although anonymous accounts may be appropriate in certain circumstances. An administrator uses the service manager to control the status and boot priority of all services on their server which are assigned a specific process id number(PID).

Quick Info

  • Skills: Install ftp packages using rpm, Create and edit files using vim, Check and configure firewall settings using firewall-cmd

Time limit: 45 minutes

  • Skill level: Guided/Beginner
  • Work Roles: Cyber Defense Forensics Analyst, Cyber Operator, Exploitation Analyst, Technical Support Specialist, Vulnerability Assessment Analyst