GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur Server FTP di VPS Ubuntu:Panduan Utama

Pada artikel ini, Anda akan mempelajari cara mengatur server FTP di VPS Ubuntu. Kami akan menggunakan server vsftpd, yang secara luas dianggap sebagai server FTP tercepat dan teraman untuk sistem mirip UNIX.

Apa Itu FTP?

FTP, atau File Transfer Protocol, adalah sarana untuk berbagi file antar komputer melalui koneksi internet menggunakan protokol TCP/IP. Itu juga menggunakan kerangka klien-server dan keamanan SSL/TLS untuk memastikan transfer data yang aman dan andal.

Ini agak mirip dengan HTTP (HypertText Transfer Protocol) atau SMTP (Simple Mail Transfer Protocol). Perbedaannya adalah FTP bertanggung jawab untuk mengangkut file melalui internet sementara HTTP dan SMTP menangani transfer halaman web dan email, masing-masing.

Sebelum kita mulai, perlu diingat bahwa kami akan memandu Anda dalam mengonfigurasi server FTP di Ubuntu 18.04. Oleh karena itu, Anda perlu memastikan VPS Anda berjalan di OS tersebut.

Cara Menyiapkan Server FTP di Ubuntu

Tutorial ini mengharuskan Anda untuk mengetahui cara terhubung ke server melalui SSH. Jika Anda memiliki VPS Hostinger, detail login tersedia di Server tab hPanel.

Langkah 1 – Menginstal vsftpd

  1. Pertama-tama, kita harus mendapatkan pembaruan paket sebelum melanjutkan dengan vsftpd instalasi. Untuk memulai, jalankan perintah berikut:
    sudo apt-get update

    Tunggu hingga semua proses selesai, dan Anda akan melihat konfirmasi segera setelah pembaruan selesai.

  2. Setelah selesai, instal vsftpd daemon menggunakan perintah di bawah ini:
    sudo apt-get install vsftpd

    Anda akan diminta dengan pesan konfirmasi, yang mengharuskan Anda mengetik Y dan tekan Enter untuk melanjutkan penginstalan.

  3. Setelah penginstalan selesai, Anda harus mencadangkan file asli sehingga Anda dapat memulai dengan file konfigurasi kosong:
    sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

    Sekarang kita siap untuk mengkonfigurasi firewall.

Langkah 2 – Mengizinkan Traffic FTP dari Firewall

  1. Agar server FTP Ubuntu dapat berkomunikasi melalui internet, server harus melewati firewall. Tapi pertama-tama, mari kita lihat apakah firewall sudah diaktifkan di mesin Anda atau belum. Cukup jalankan perintah ini untuk memverifikasi status:
    sudo ufw status

    Jika Anda melihat pesan berikut:

    ufw: command not found

    Itu berarti firewall tidak diinstal. Anda dapat menginstal dan mengaktifkannya dengan mengetik:

    sudo apt-get install ufw
    sudo ufw enable
  2. Jika sudah aktif, Anda masih perlu memastikan lalu lintas FTP diizinkan. Untuk melakukannya, jalankan perintah berikut satu per satu:
    sudo ufw allow OpenSSH
    sudo ufw allow 20/tcp
    sudo ufw allow 21/tcp
    sudo ufw allow 990/tcp
    sudo ufw allow 40000:50000/tcp

    Rangkaian perintah ini akan membuka beberapa port:

    • OpenSSH diperlukan jika Anda masih ingin mengakses server Anda melalui SSH. Terkadang, opsi ini diaktifkan secara default.
    • port 20 dan 21 untuk lalu lintas FTP.
    • port 40000:50000 akan dicadangkan untuk rentang port pasif yang nantinya akan disetel dalam file konfigurasi.
    • port 990 akan digunakan saat TLS diaktifkan.
  3. Sekarang mari kita lihat lagi statusnya:
    sudo ufw status

    Outputnya akan terlihat seperti ini:

    Status: active
    To                         Action From
    --                              ------ ----
    OpenSSH                    ALLOW Anywhere
    990/tcp                    ALLOW Anywhere
    20/tcp                     ALLOW Anywhere
    21/tcp                     ALLOW Anywhere
    40000:50000/tcp            ALLOW Anywhere
    OpenSSH (v6)               ALLOW Anywhere (v6)
    20/tcp (v6)                ALLOW Anywhere (v6)
    21/tcp (v6)                ALLOW Anywhere (v6)
    990/tcp (v6)               ALLOW Anywhere (v6)
    40000:50000/tcp (v6)       ALLOW Anywhere (v6)

Langkah 3 – Membuat Direktori Pengguna

  1. Setelah firewall diatur, kita harus membuat pengguna yang akan menggunakan akses FTP. Begini caranya:
    sudo adduser hostinger

    Ingatlah untuk mengubah nama pengguna sesuai dengan preferensi Anda sendiri.

  2. Kemudian, masukkan kata sandi untuk pengguna dan isi semua detail yang diperlukan.
    Idealnya, FTP harus dibatasi pada satu direktori tertentu untuk tujuan keamanan. Itulah sebabnya vsftpd menggunakan penjara chroot , yang membatasi pengguna lokal ke direktori home mereka secara default.
    Namun, mungkin karena vsftpd keamanan, pengguna mungkin tidak dapat menulis ke direktori itu. Untuk memperbaikinya, kita tidak perlu menghapus hak menulis dari folder rumah. Sebagai gantinya, kita akan membuat direktori ftp yang berfungsi sebagai chroot . Ini berisi direktori yang dapat ditulis yang akan bertanggung jawab untuk menyimpan file yang diperlukan.
  3. Gunakan perintah berikut untuk membuat folder FTP:
    sudo mkdir /home/hostinger/ftp

    Kemudian, atur kepemilikan menggunakan:

    sudo chown nobody:nogroup /home/hostinger/ftp

    Terakhir, hapus izin menulis:

    sudo chmod a-w /home/hostinger/ftp

    Sekarang, gunakan perintah berikut untuk memverifikasi izin:

    sudo ls -la /home/hostinger/ftp

    Outputnya akan terlihat seperti:

    total 8
    dr-xr-xr-x 2 nobody nogroup 4096 Oct 8 11:32 .
    drwxr-xr-x 3 hostinger   hostinger 4096 Oct 8 11:32 ..
  4. Selanjutnya, kita akan membuat direktori penyimpanan file dan menetapkan kepemilikan:
    sudo mkdir /home/hostinger/ftp/files
    sudo chown hostinger:hostinger /home/hostinger/ftp/files

    Terakhir, tambahkan file pengujian ke direktori yang akan digunakan saat kita menguji semuanya nanti:

    echo "vsftpd sample file" | sudo tee /home/hostinger/ftp/files/sample.txt

Langkah 4 – Mengonfigurasi vsftpd

Langkah selanjutnya adalah mengkonfigurasi vsftpd dan akses FTP kita. Dalam contoh ini, kami akan mengizinkan satu pengguna untuk terhubung menggunakan akun shell lokal. Dua konfigurasi kunci yang diperlukan untuk ini sudah diatur dalam konfigurasi (vsftpd.conf ) berkas.

  1. Untuk memulai, gunakan perintah nano untuk membuka vsftpd file konfigurasi.
    sudo nano /etc/vsftpd.conf

    Verifikasi bahwa konten memiliki pengaturan yang mirip dengan ini:

    . . .
    # Allow anonymous FTP? (Disabled by default).
    anonymous_enable=NO
    #
    # Uncomment this to allow local users to log in.
    local_enable=YES
    . . .

    Di file yang sama, kami akan menghapus # (batalkan komentar) dan pastikan kami mengaktifkan write_enable .

    . . .
    write_enable=YES
    . . .
  2. Anda juga perlu membatalkan komentar chroot untuk memastikan bahwa pengguna FTP hanya mengakses file dalam direktori yang diizinkan. Ubah TIDAK nilai ke YA , demikian juga. Perlu diingat bahwa ada dua baris seperti ini, dan Anda harus menghapus komentar keduanya.
    . . .
    chroot_local_user=YES
    . . .
  3. Ada beberapa nilai baru yang juga harus Anda tambahkan ke bagian bawah file. Yang pertama adalah user_sub_token di jalur direktori local_root . Ini akan memungkinkan konfigurasi untuk bekerja dengan pengguna saat ini atau pengguna lain yang selanjutnya ditambahkan:
    user_sub_token=$USER
    
    local_root=/home/$USER/ftp
  4. Untuk memastikan bahwa sejumlah besar koneksi tersedia, kami akan membatasi jumlah port file konfigurasi:
    pasv_min_port=40000
    pasv_max_port=50000
  5. Dalam tutorial ini, kami bermaksud untuk mengizinkan akses berdasarkan kasus per kasus. Oleh karena itu, kami akan menyetel konfigurasi untuk memberikan akses hanya kepada pengguna yang telah Anda tambahkan secara eksplisit ke daftar:
    userlist_enable=YES
    userlist_file=/etc/vsftpd.userlist
    userlist_deny=NO

    Saat Anda menyetel tanda penggunalist_deny untuk TIDAK , hanya pengguna tertentu yang akan diizinkan mengakses. Setelah selesai, klik CTRL+X diikuti oleh Y untuk menyimpannya, lalu Enter untuk mengonfirmasi perubahan file.

  6. Terakhir, kita akan membuat daftar pengguna dan menambahkan pengguna ke file:
    echo "hostinger" | sudo tee -a /etc/vsftpd.userlist

    Verifikasi bahwa pengguna memang aktif dengan menjalankan perintah berikut:

    cat /etc/vsftpd.userlist

    Outputnya harus "hostinger" seperti yang ditunjukkan pada tangkapan layar ini:

  7. Mulai ulang daemon menggunakan perintah berikut untuk memuat perubahan konfigurasi:
    sudo systemctl restart vsftpd

Langkah 5 – Membuat FTP Aman

  1. Secara default, FTP tidak mengenkripsi data, jadi kami akan menggunakan SSL/TLS sertifikat untuk mengamankan transfer data. Langkah pertama adalah kita perlu membuat sertifikat SSL untuk server FTP Ubuntu.
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

    –hari flag membuat sertifikat berlaku selama satu tahun dan kami telah menyertakan 2048-bit RSA pribadi masukkan perintah yang sama.

  2. Setelah diminta, masukkan detail pribadi yang sesuai di bidang yang tersedia.
  3. Setelah Anda selesai membuat sertifikat, buka kembali file konfigurasi:
    sudo nano /etc/vsftpd.conf

    Akhir file harus berisi dua baris yang dimulai dengan rsa .

    # rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    # rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

    Sekarang, kita akan mengarahkan file konfigurasi ke sertifikat yang baru saja kita buat. Tambahkan direktori berikut tepat di bawah baris sebelumnya:

    rsa_cert_file=/etc/ssl/private/vsftpd.pem
    rsa_private_key_file=/etc/ssl/private/vsftpd.pem
  4. Selanjutnya, kami akan mengaktifkan SSL dan memastikan bahwa hanya klien yang memiliki SSL aktif yang dapat menghubungi kami. Cukup masukkan baris ini:
    ssl_enable=YES

    Kemudian, tambahkan baris berikut untuk melarang koneksi anonim melalui SSL:

    allow_anon_ssl=NO
    force_local_data_ssl=YES
    force_local_logins_ssl=YES

    Konfigurasikan server untuk menggunakan TLS menggunakan:

    ssl_tlsv1=YES
    ssl_sslv2=NO
    ssl_sslv3=NO
  5. Sekarang kita akan mengubah dua opsi lagi. Pertama, nonaktifkan penggunaan ulang SSL untuk mencegah klien FTP mogok. Kedua, kita akan menggunakan suite cipher enkripsi tinggi, yang memastikan bahwa panjang kunci sama dengan atau lebih besar dari 128 bit.
    require_ssl_reuse=NO
    ssl_ciphers=HIGH

    Simpan file lagi dengan menekan CTRL+X diikuti oleh Y , lalu tekan Enter .

  6. Mari kita mulai ulang vsftpd sekali lagi untuk menerapkan konfigurasi baru:
    sudo systemctl restart vsftpd

Kerja bagus! Anda sekarang telah mengonfigurasi server FTP di VPS Ubuntu Anda untuk bekerja dengan protokol SSL/TLS.

Langkah 6 – Menguji Koneksi dengan FileZilla

Saat ini, sebagian besar klien FTP mendukung konfigurasi enkripsi TLS. Ini adalah cara yang bagus untuk menguji apakah server FTP Ubuntu Anda berfungsi dengan baik. Untuk menguji koneksi, kami akan menggunakan FileZilla FTP Client.

  1. Untuk memulai, luncurkan FileZilla dan klik Pengelola Situs ikon. Kemudian, klik Situs Baru tombol di jendela yang diminta untuk memasukkan detail server FTP Ubuntu.
  2. Isi semua kolom yang diperlukan dengan informasi server FTP Ubuntu yang baru Anda buat. Karena kami mengonfigurasinya untuk menggunakan TLS, kami juga dapat memilih Gunakan FTP eksplisit di atas TLS pilihan. Konfigurasi akhir akan terlihat seperti ini:
  3. Setelah siap, klik Hubungkan, dan layar yang meminta untuk memasukkan kata sandi pengguna FTP akan muncul. Setelah itu, tekan Oke .
  4. Terakhir, Anda perlu memverifikasi sertifikat SSL server FTP Anda di VPS Ubuntu. Setelah mengonfirmasi, direktori root dengan file uji sekarang akan muncul di layar Anda.

Itu saja! Sekarang, Anda dapat melakukan berbagai transfer file dari komputer Anda ke server FTP Ubuntu dan sebaliknya.

Kesimpulan

Memiliki server FTP Ubuntu memudahkan Anda untuk berbagi file antara VPS/server Ubuntu dan komputer Anda. Ini adalah metode transfer data yang aman dan andal, berkat keamanan SSL/TLS dan protokol TCP/IP.

Dalam tutorial ini, Anda telah mempelajari cara mengatur server FTP di Ubuntu 18.04 menggunakan vsftpd. Ada lima langkah yang harus Anda ikuti. Mari kita lihat sekali lagi.

  1. Instal vsftpd di server Ubuntu Anda dan buat cadangan file konfigurasi asli.
  2. Izinkan koneksi FTP melalui firewall.
  3. Buat direktori pengguna yang hanya dapat diakses oleh pengguna tertentu.
  4. Konfigurasikan vsftpd .
  5. Amankan server FTP.
  6. Uji koneksi FTP Anda dengan FileZilla.

Semoga berhasil, dan pastikan untuk melihat tutorial VPS kami yang lain!


Ubuntu
  1. Cara Mengatur VPN WireGuard di Ubuntu (Panduan Langkah-demi-Langkah)

  2. Bagaimana mengizinkan pengguna untuk menggunakan Sudo di Ubuntu Linux

  3. Cara menginstal Ansible di Ubuntu Server 21.04

  1. Cara Mengatur Server FTP di Raspberry Pi Anda

  2. Cara Menginstal Server FTP Di Ubuntu dengan vsftpd

  3. Cara Menginstal Server FTP di Ubuntu 20.04

  1. Cara Mengatur Server OpenVPN di Ubuntu 18.04

  2. Cara Mengatur Blok Server Nginx di Ubuntu 20.04

  3. Cara Menginstal GUI di Server Ubuntu (Panduan Mudah)