FTP adalah tokoh veteran dalam aplikasi Internet, yang memfasilitasi berbagi file oleh pengguna perusahaan. Namun, masalah keamanan selalu ada di sekitar FTP. Bagaimana mencegah penyerang mencuri informasi penting dari server FTP melalui cara ilegal; bagaimana mencegah penyerang menggunakan server FTP untuk menyebarkan Trojan dan virus, dll. Ini adalah masalah yang perlu diperhatikan oleh administrator sistem. Kali ini saya akan mengambil VSFTP yang paling banyak digunakan pada platform sistem operasi Linux sebagai contoh untuk membahas tentang cara meningkatkan keamanan server FTP.
1. Melarang pengguna tingkat sistem untuk masuk ke server FTP.
Untuk meningkatkan keamanan server FTP, yang terbaik bagi administrator sistem adalah menyiapkan akun FTP terpisah untuk karyawan daripada memberikan pengguna tingkat sistem kepada pengguna biasa, yang akan membawa risiko keamanan yang besar. Di server VSFTP, akun login dapat dikelola melalui file konfigurasi vsftpd.ftpusers. Namun, akun ini ada dalam daftar hitam, dan orang yang termasuk dalam akun ini tidak akan dapat menggunakan akunnya untuk masuk ke server FTP. Setelah menerapkan server VSFTP, kita dapat menggunakan perintah vi untuk melihat file konfigurasi dan menemukan bahwa file tersebut sudah memiliki banyak akun default. Diantaranya, root pengguna super sistem juga ada di antara mereka. Terlihat bahwa untuk alasan keamanan, server VSFTP melarang akun root untuk masuk ke server FTP secara default. Jika administrator sistem ingin mengizinkan akun sistem seperti root untuk masuk ke server FTP, dia perlu menghapus root dan nama pengguna terkait lainnya di file konfigurasi ini. Namun, mengizinkan akun sistem untuk masuk ke server FTP akan berdampak negatif pada keamanannya. Oleh karena itu, saya tidak menyarankan administrator sistem melakukan hal ini. Sebaiknya administrator tidak mengubah akun sistem apa pun yang terkait dalam file ini dan mempertahankan pengaturan akun tersebut.
Jika karena alasan lain Anda perlu menonaktifkan akun lain, Anda dapat menambahkan nama akun ke file ini. Misalnya, server FTP dan server database dapat disebarkan di server secara bersamaan. Untuk alasan keamanan, sebaiknya tambahkan akun administrator database ke daftar hitam ini.
2. Memperkuat kontrol terhadap pengguna anonim.
Pengguna anonim mengacu pada akun yang belum ditentukan di server FTP, dan administrator sistem FTP masih memerlukan mereka untuk masuk untuk kemudahan pengelolaan. Namun bagaimanapun juga, mereka belum mendapatkan otorisasi dari server. Untuk meningkatkan keamanan server, izin mereka harus dibatasi. Ada juga banyak parameter di server VSFTP yang dapat digunakan untuk mengontrol izin pengguna anonim. Administrator sistem perlu melakukan pekerjaan konfigurasi yang relevan berdasarkan tingkat keamanan server FTP. Perlu dicatat bahwa semakin ketat kontrol izin pengguna anonim, semakin tinggi keamanan server FTP, namun pada saat yang sama kenyamanan akses pengguna juga akan berkurang. Oleh karena itu, pada akhirnya, administrator sistem tetap perlu menjaga keseimbangan antara keamanan dan kenyamanan server.
Di bawah ini adalah beberapa konfigurasi yang saya rekomendasikan untuk pengguna anonim. Jika Anda tidak tahu cara mengonfigurasinya, Anda dapat merujuk ke konfigurasi ini. Konfigurasi ini mempertimbangkan keamanan server dan kenyamanan pengguna.
Salah satunya adalah parameter anon_world_readable_only. Parameter ini terutama digunakan untuk mengontrol apakah pengguna anonim dapat mengunduh file yang dapat dibaca dari server FTP. Jika server FTP digunakan dalam perusahaan dan terutama digunakan oleh karyawan internal, yang terbaik adalah mengatur parameter ini ke YA. Kemudian letakkan beberapa formulir umum perusahaan dan dokumen lain yang tersedia untuk umum di dalamnya, sehingga karyawan dapat mengunduh dokumen tersebut secara anonim. Hal ini tidak akan mempengaruhi keamanan server FTP, tetapi juga akan memudahkan pengoperasian karyawan lainnya.
Yang kedua adalah parameter anon_upload_enable. Parameter ini menunjukkan apakah pengguna anonim dapat mengunggah file ke server FTP dengan akses anonim. Biasanya, parameter ini harus disetel ke Tidak. Artinya, pengguna tidak diperbolehkan mengunggah file selama akses anonim. Sebaliknya, jika ada yang bisa mengunggah file, maka jika pihak lain mengunggah file virus, perusahaan akan dirugikan. Oleh karena itu, pengguna anonim dilarang mengunggah file. Namun ada pengecualian untuk ini. Misalnya, beberapa perusahaan menggunakan protokol FTP untuk membuat cadangan file. Saat ini, jika keamanan jaringan perusahaan terjamin, Anda dapat mengatur parameter ini ke YES, yang memungkinkan sistem operasi memanggil perintah FTP untuk membuat cadangan file di server FTP. Dalam hal ini, untuk menyederhanakan penerapan prosedur pencadangan, akses anonim sering digunakan. Oleh karena itu, pengguna anonim harus diizinkan mengunggah file di server FTP.
Yang ketiga adalah parameter anon_other_write_enable dan parameter anon_mkdir_write_enable. Kedua parameter ini terutama melibatkan beberapa izin yang relatif canggih dari pengguna anonim. Misalnya, parameter pertama menunjukkan bahwa pengguna anonim memiliki izin selain mengunggah dan membuat subdirektori, seperti mengubah nama file di server FTP, dll. Parameter kedua menunjukkan bahwa pengguna anonim dapat membuat subdirektori dalam keadaan tertentu. Fungsi-fungsi ini akan mempengaruhi keamanan server FTP dan keamanan file. Oleh karena itu, kecuali ada alasan khusus, izin ini harus dinonaktifkan. Artinya, atur nilai parameter ini ke NO. Saya rasa kecuali server FTP digunakan oleh administrator sistem untuk bersenang-senang, parameter ini dapat diaktifkan. Jika tidak, lebih baik atur parameter ini ke NO untuk meningkatkan keamanan server FTP.
Secara umum, kontrol terhadap pengguna anonim harus mengikuti prinsip hak istimewa paling rendah. Karena pengguna anonim adalah pengguna yang tidak diberi wewenang oleh server FTP, kontrol akses izin tingkat dalam tidak dapat dilakukan. Oleh karena itu, ini hanya dapat dikontrol melalui parameter dasar ini.
3. Kontrol direktori dengan baik.
Biasanya, administrator sistem perlu menyiapkan direktori root yang berbeda untuk setiap pengguna yang berbeda. Untuk alasan keamanan dan untuk mencegah pengguna yang berbeda saling mengganggu, administrator sistem perlu mengaturnya sehingga pengguna tidak dapat mengakses direktori root pengguna lain. Misalnya, beberapa perusahaan menyiapkan akun FTP untuk setiap departemen untuk memfasilitasi pertukaran file. Kemudian departemen penjualan Penjualan memiliki direktori root penjualan; departemen gudang memiliki direktori root Ware. Sebagai karyawan penjualan, mereka dapat mengakses subdirektori mana pun di bawah direktori akar mereka sendiri, namun mereka tidak dapat mengakses direktori akar pengguna gudang Ware. Dalam hal ini, karyawan departemen penjualan tidak akan dapat mengakses file pengguna gudang. Terlihat bahwa dengan membatasi pengguna mengakses direktori selain direktori root, dimungkinkan untuk mencegah pengguna yang berbeda saling mengganggu dan meningkatkan keamanan file di server FTP. Untuk mencapai tujuan ini, parameter chroot_local_user dapat diatur ke NO. Setelah pengaturan ini, semua pengguna yang login secara lokal tidak dapat masuk ke direktori lain selain direktori root. Namun, saat melakukan kontrol ini, yang terbaik adalah menyiapkan direktori yang dapat diakses semua orang untuk menyimpan beberapa file publik. Kita harus memastikan keamanan server tanpa mempengaruhi pembagian dan komunikasi file secara normal.
4. Batasi laju penularan.
Terkadang, untuk memastikan pengoperasian server FTP yang stabil, kecepatan unggah dan unduh file perlu dibatasi. Misalnya, di server yang sama, server FTP, server email, dll. dikerahkan secara terpisah. Agar layanan aplikasi ini dapat hidup berdampingan secara damai, tingkat penularan maksimumnya perlu dikendalikan. Karena bandwidth server yang sama memiliki batas maksimal. Jika suatu layanan aplikasi menempati bandwidth yang relatif besar, maka akan berdampak buruk pada layanan aplikasi lainnya, bahkan menyebabkan layanan aplikasi lain tidak dapat merespons kebutuhan pengguna secara normal. Contoh lainnya adalah terkadang FTP perlu menetapkan batas kecepatan maksimum tergantung pada tujuannya. Jika FTP digunakan untuk pencadangan file, pengunggahan dan pengunduhan file secara bersamaan, maka untuk meningkatkan efisiensi pencadangan file dan mempersingkat waktu pencadangan, perlu untuk membatasi kecepatan pengunggahan dan pengunduhan file maksimum.
Untuk menerapkan batasan kecepatan transmisi, administrator sistem dapat mengatur parameter local_max_rate. Secara default, parameter ini tidak diaktifkan, artinya tidak ada batasan kecepatan maksimum. Namun, berdasarkan alasan di atas, saya tetap menyarankan agar administrator sistem mengatur parameter ini sebelum memasukkan server FTP ke dalam produksi. Mencegah dampak negatif terhadap layanan aplikasi lain akibat konsumsi bandwidth yang berlebihan untuk upload dan download. Administrator sistem perlu mencapai keseimbangan antara berbagai layanan aplikasi dan mengalokasikan bandwidth secara wajar. Setidaknya memastikan setiap layanan aplikasi dapat merespon permintaan pelanggan secara normal. Selain itu, jika memungkinkan, operasi di luar jam sibuk perlu dilakukan. Misalnya, server email dan server FTP disebarkan pada satu host secara bersamaan. Server FTP terutama digunakan untuk cadangan file. Jadi untuk mencegah pencadangan file berdampak buruk pada pengiriman dan penerimaan email (karena pencadangan file memerlukan bandwidth yang relatif besar, yang akan sangat mengurangi kecepatan pengiriman dan penerimaan email), sebaiknya pisahkan pencadangan file dari periode puncak pengiriman dan penerimaan email. Jika waktu puncak pengiriman dan penerimaan email biasanya saat Anda berangkat kerja di pagi hari, maka jangan gunakan layanan FTP untuk backup file. Selama istirahat makan siang, saya biasanya mengirim dan menerima lebih sedikit email. Pada titik ini Anda dapat menggunakan FTP untuk backup file. Oleh karena itu, jika server FTP dan layanan aplikasi lainnya dijalankan di luar jam sibuk, kecepatannya dapat diatur lebih tinggi untuk meningkatkan efisiensi pengoperasian layanan FTP. Tentu saja, hal ini menimbulkan tuntutan yang relatif tinggi pada administrator sistem. Karena administrator sistem perlu menganalisis berbagai aplikasi dan kemudian membuat rencana komprehensif berdasarkan penerapan server. Kecuali ada tindakan yang lebih tinggi dan kondisi yang lebih baik, kecepatan transmisi server FTP perlu dimaksimalkan. Jika tidak, hal ini akan berdampak sangat negatif pada layanan informasi lain yang diterapkan di perusahaan dan menyebabkan kemacetan pada jaringan perusahaan.