GNU/Linux >> Belajar Linux >  >> Cent OS

Penyiapan server ProFTPD yang aman di CentOS 7 dengan TLS

Tujuan

Tujuannya adalah untuk terlebih dahulu mengonfigurasi server ProFTPD dasar pada CentOS 7. Setelah kita memiliki pengaturan server FTP dasar, kita kemudian akan menambahkan mode pasif FTP dan meningkatkan keamanan dengan menambahkan Transport Layer Security ( TLS ).

Terakhir, kami menambahkan konfigurasi anonim opsional untuk memungkinkan pengguna anonim masuk ke server FTP tanpa nama pengguna dan kata sandi.

Sistem Operasi dan Versi Perangkat Lunak

  • Sistem Operasi: – CentOS Linux merilis 7.5.1804
  • Perangkat Lunak: – ProFTPD Versi 1.3.5e

Persyaratan

Akses istimewa ke Sistem Ubuntu Anda sebagai root atau melalui sudo perintah diperlukan.

Kesulitan

SEDANG

Konvensi

  • # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
  • $ – perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa

Petunjuk

Konfigurasi FTP Dasar

Mari kita mulai dengan instalasi dasar dan konfigurasi server ProFTP. Ini termasuk, penginstalan, definisi aturan firewall, dan pengujian klien.

Penyiapan Server

Server FTP ProFTPD adalah bagian dari repositori EPEL. Oleh karena itu, langkah pertama adalah mengaktifkan repositori EPEL dan kemudian menginstal server ProFTPD:

# yum install epel-release
# yum install proftpd

Selanjutnya, mulai server ProFTPD dan konfirmasikan permulaan yang benar dengan memeriksa port yang terbuka 21

# service proftpd start
# ss -nlt

Selanjutnya, kita perlu memasukkan keseluruhan ke dalam firewall server untuk memungkinkan lalu lintas masuk pada port 21

# firewall-cmd --add-port=21/tcp --permanent
# firewall-cmd --reload 

Untuk mengonfirmasi port masuk yang terbuka 21 jalankan:

# firewall-cmd --list-ports

Mengkonfigurasi server FTP Basig menggunakan ProFTPD di CentOS 7

Pada tahap ini setiap pengguna sistem yang ada dapat login FTP ke server ProFTPD yang baru dikonfigurasi. Secara opsional, kami dapat membuat pengguna baru, mis. lubos dengan akses ke direktori /var/ftp-share :

# useradd lubos -s /sbin/nologin -d /var/ftp-share
# passwd lubos
# chmod -R 750 /var/ftp-share
# setsebool -P allow_ftpd_full_access=1

Koneksi Klien

Pada titik ini kita harus dapat melakukan koneksi FTP dari komputer klien jarak jauh. Tes termudah adalah dengan menggunakan ftp perintah.

Mengingat bahwa server ProFTPD kami dapat diselesaikan melalui ftp.linuxconfig.org nama host dan pengguna lubos ada eksekusi:

$ ftp ftp.linuxconfig.org
Connected to ftp.linuxconfig.org.
220 FTP Server ready.
Name (ftp.linuxconfig.org:lubos): lubos
331 Password required for lubos
Password:
230 User lubos logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 
CATATAN:Harap dicatat bahwa saat ini kami hanya dapat membuat "Koneksi FTP Aktif" saja! Setiap upaya untuk membuat "koneksi FTP Pasif" akan gagal.

Konfigurasi FTP mode pasif

Penyiapan Server

Untuk mengaktifkan server FTP kami untuk menerima juga koneksi FTP pasif, jalankan perintah berikut untuk mengaktifkan koneksi pasif pada rentang port ephemeral terdaftar IANA:

echo "PassivePorts 49152 65534" >> /etc/proftpd.conf

Mulai ulang server ProFTPD:

# service proftpd restart

Buka firewall untuk port dalam rentang 49152-65534 :

# firewall-cmd --add-port=49152-65534/tcp --permanent
# firewall-cmd --reload

Konfirmasikan bahwa port telah dibuka dengan benar:

# firewall-cmd --list-ports

Konfigurasikan server ProFTPD untuk menerima koneksi FTP pasif.

Koneksi klien FTP

Seperti sebelumnya, sekarang kita dapat menguji koneksi pasif FTP dengan menggunakan ftp memerintah. Pastikan kali ini Anda menggunakan -p pilihan seperti yang ditunjukkan di bawah ini:

$ ftp -p ftp.linuxconfig.org
Connected to ftp.linuxconfig.org.
220 FTP Server ready.
Name (ftp.linuxconfig.org:lubos): lubos
331 Password required for lubos
Password:
230 User lubos logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,1,111,209,252).
150 Opening ASCII mode data connection for file list
226 Transfer complete
ftp> 

Semua bekerja seperti yang diharapkan!

Server FTP aman dengan TLS

Penyiapan Server

Jika Anda berencana untuk menggunakan server FTP Anda di luar jaringan area lokal Anda, disarankan untuk menggunakan semacam enkripsi. Untungnya, mengonfigurasi ProFTPD dengan TLS sangat mudah. Pertama, jika belum tersedia, instal openssl paket:

# yum install openssl

Selanjutnya, buat sertifikat menggunakan perintah berikut. Satu-satunya nilai yang diperlukan adalah Common Name yang merupakan nama host server FTP Anda :

# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
Generating a 1024 bit RSA private key
...++++++
.......++++++
writing new private key to '/etc/pki/tls/certs/proftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:ftp.linuxconfig.org
Email Address []:

Selanjutnya, sebagai pengguna root, buka /etc/sysconfig/proftpd menggunakan editor teks favorit Anda dan ubah:

FROM:
PROFTPD_OPTIONS=""
TO:
PROFTPD_OPTIONS="-DTLS"

Setelah siap, restart server ProFTPD:

# service proftpd restart

Koneksi klien

Kali ini kami menggunakan FileZilla sebagai klien pengujian FTP kami:

Buat koneksi FTP baru. Untuk menguji TLS pastikan Anda memilih Encryption yang benar dan Logon Type .

Klien FTP akan memperingatkan Anda tentang Unknown Certificate . Centang Always Trust dan tekan OK .

Koneksi terenkripsi TLS berhasil.

Konfigurasikan pengguna FTP anonim

Penyiapan Server

Untuk mengizinkan pengguna anonim masuk ke server FTP, buka /etc/sysconfig/proftpd menggunakan editor teks favorit Anda dan ubah:

FROM:
PROFTPD_OPTIONS="-DTLS"
TO:
PROFTPD_OPTIONS="-DTLS -DANONYMOUS_FTP"

Di atas kami berasumsi bahwa Anda sudah mengaktifkan TLS sebelumnya. Saat siap restart server FTP:

# service proftpd restart

Koneksi klien

Menggunakan FileZilla sebagai klien pengujian FTP kami:

Sebagai Logon Type pilih Anonymous

Koneksi FTP anonim berhasil.

Lampiran

Blokir/Tolak akses FTP Pengguna

Jika Anda perlu memblokir/menolak akses ke server FTP dari pengguna sistem mana pun, tambahkan nama pengguna ke /etc/ftpusers . Satu nama pengguna per baris. Melakukannya, setiap upaya pengguna untuk masuk akan gagal dengan 530 kesalahan masuk:

$ ftp ftp.linuxconfig.org
Connected to ftp.linuxconfig.org.
220 FTP Server ready.
Name (ftp.linuxconfig.org:lubos): lubos
331 Password required for lubos
Password:
530 Login incorrect.
Login failed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Cent OS
  1. Server ProFTPD

  2. Siapkan Server VPN IPSec dengan Libreswan di CentOS 8

  3. Cara menginstal server FTP di CentOS 7

  1. Cara Menginstal Server FTP di CentOS 7 Dengan VSFTPD

  2. Cara Mengatur Server FTP dengan VSFTPD di Ubuntu 20.04

  3. Cara Mengatur Server FTP dengan VSFTPD di Ubuntu 18.04

  1. Amankan Apache dengan Lets Encrypt di CentOS 7

  2. Cara Setup Server FTP dengan VSFTPD di CentOS 7

  3. Amankan Apache dengan Lets Encrypt di CentOS 8