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-portsMengkonfigurasi 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-portsKonfigurasikan 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 memilihEncryption
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:
SebagaiLogon 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>