Administrator systemu Linux - zainstaluj anonimowy FTP

Zanim zagłębimy się w instalację FTP na CentOS, musimy dowiedzieć się trochę o jego użyciu i bezpieczeństwie. FTPto naprawdę wydajny i dopracowany protokół do przesyłania plików między systemami komputerowymi. Protokół FTP jest używany i udoskonalany od kilku dziesięcioleci. Do wydajnego przesyłania plików przez sieć z opóźnieniem lub ze względu na samą szybkość, FTP jest doskonałym wyborem. Bardziej niż SAMBA lub SMB.

Jednak FTP ma pewne problemy z bezpieczeństwem. Właściwie kilka poważnych problemów z bezpieczeństwem. FTP używa naprawdę słabej metody uwierzytelniania za pomocą zwykłego tekstu. Z tego powodu uwierzytelnione sesje powinny opierać się na sFTP lub FTPS, gdzie TLS jest używany do pełnego szyfrowania sesji logowania i transferu.

Biorąc pod uwagę powyższe zastrzeżenia, zwykły stary serwer FTP nadal jest używany w środowisku biznesowym. Głównym zastosowaniem są anonimowe repozytoria plików FTP. Jest to sytuacja, w której pobieranie lub przesyłanie plików nie jest uzasadnione. Niektóre przykłady anonimowego użycia FTP to:

  • Duże firmy programistyczne nadal używają anonimowych repozytoriów ftp, umożliwiając użytkownikom Internetu pobieranie shareware i poprawek.

  • Umożliwienie użytkownikom internetu przesyłania i pobierania dokumentów publicznych.

  • Niektóre aplikacje automatycznie wysyłają zaszyfrowane, zarchiwizowane dzienniki lub pliki konfiguracyjne do repozytorium za pośrednictwem protokołu FTP.

Dlatego jako administrator CentOS możliwość instalacji i konfiguracji FTP jest nadal zaprojektowaną umiejętnością.

Będziemy używać demona FTP o nazwie vsFTPlub Very Secure FTP Daemon. vsFTP był używany przez jakiś czas w rozwoju. Ma reputację bezpiecznego, łatwego w instalacji i konfiguracji oraz niezawodnego.

Step 1 - Zainstaluj vsFTPd za pomocą menedżera pakietów YUM.

[root@centos]# yum -y install vsftpd.x86_64

Step 2 - Skonfiguruj vsFTP, aby uruchamiał się przy rozruchu za pomocą systemctl.

[root@centos]# systemctl start vsftpd 
[root@centos]# systemctl enable vsftpd 
Created symlink from /etc/systemd/system/multi-
user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

Step 3 - Skonfiguruj FirewallD, aby umożliwić kontrolę FTP i sesje transferu.

[root@centos]# firewall-cmd --add-service=ftp --permanent 
success 
[root@centos]#

Upewnij się, że nasz demon FTP jest uruchomiony.

[root@centos]# netstat -antup | grep vsftp 
tcp6       0       0 :::21       :::*       LISTEN       13906/vsftpd         
[root@centos]#

Step 4 - Skonfiguruj vsFTPD dla anonimowego dostępu.

Utwórz katalog główny FTP

[root@centos]# mkdir /ftp

Zmień właściciela i grupę root FTP na ftp

[root@centos]# chown ftp:ftp /ftp
Set minimal permissions for FTP root:

[root@centos]# chmod -R 666 /ftp/

[root@centos]# ls -ld /ftp/
drw-rw-rw-. 2 ftp ftp 6 Feb 27 02:01 /ftp/

[root@centos]#

W tym przypadku daliśmy użytkownikom dostęp do odczytu / zapisu do całego głównego drzewa FTP.

Skonfiguruj /etc/vsftpd/vsftpd.conf "

[root@centos]# vim /etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.

Będziemy chcieli zmienić następujące dyrektywy w pliku vsftp.conf .

  • Włącz przesyłanie anonimowe, odkomentowując anon_mkdir_write_enable = YES

  • chown przesłane pliki do użytkownika ftp w systemie

    chown_uploads = TAK

    chown_username = ftp

  • Zmień użytkownika systemu używanego przez vsftp na użytkownika ftp: nopriv_user = ftp

  • Ustaw baner niestandardowy, który użytkownik będzie czytał przed zalogowaniem.

    ftpd_banner = Witamy w naszym anonimowym repozytorium FTP. Wszystkie połączenia są monitorowane i rejestrowane.

  • Ustawmy tylko połączenia IPv4 -

    słuchać = TAK

    Listen_ipv6 = NIE

Teraz musimy ponownie uruchomić lub HUP usługę vsftpd zastosować nasze zmiany.

[root@centos]# systemctl restart vsftpd

Połączmy się z naszym hostem FTP i upewnijmy się, że nasz demon FTP odpowiada.

[root@centos rdc]# ftp 10.0.4.34 
Connected to localhost (10.0.4.34). 
220 Welcome to our Anonymous FTP Repo. All connections are monitored and logged. 
Name (localhost:root): anonymous 
331 Please specify the password. 
Password: 
'230 Login successful. 
Remote system type is UNIX. 
Using binary mode to transfer files. 
ftp>