Cara Melindungi vsFTPd Dengan SSL / TLS

Daemon FTP Sangat Selamat, atau hanya vsFTPd adalah perisian yang ringan dengan kemampuan untuk menyesuaikan diri. Dalam tutorial ini kita akan mendapatkan pemasangan yang sudah ada pada sistem Debian menggunakan sijil SSL / TLS yang ditandatangani sendiri. Walaupun ditulis untuk Debian, ia harus berfungsi pada sebilangan besar pengedaran Linux seperti Ubuntu dan CentOS misalnya.


Pemasangan vsFTPd

Pada VPS Linux yang baru, anda perlu memasang vsFTPd terlebih dahulu. Walaupun anda akan menemui langkah-langkah asas untuk memasang vsFTPd dalam tutorial ini, saya cadangkan anda untuk membaca dua tutorial yang lebih terperinci ini juga: Siapkan vsFTPd di Debian / Ubuntu dan Pasang vsFTPd di CentOS . Semua langkah mengenai pemasangan dijelaskan dengan lebih teliti di sana.

Pemasangan pada Debian / Ubuntu:

apt-get install vsftpd

Pemasangan di CentOS:

yum install epel-release
yum install vsftpd

Konfigurasi Buka fail konfigurasi: /etc/vsftpd.conf di editor teks kegemaran anda, dalam tutorial ini kita gunakan nano.

nano /etc/vsftpd.conf

Tampalkan baris berikut ke dalam konfigurasi:

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES

Selesaikan dengan memulakan semula daemon vsFTPd anda:

/etc/init.d/vsftpd restart

Anda sekarang seharusnya dapat log masuk seperti mana-mana pengguna tempatan melalui FTP, sekarang mari kita teruskan dan selamatkan perisian ini.


Buat sijil yang ditandatangani sendiri

Sijil yang ditandatangani sendiri biasanya digunakan dalam protokol perjanjian kunci awam, kini anda akan gunakan openssluntuk menghasilkan kunci awam dan kunci peribadi yang sesuai. Pertama sekali kita perlu membuat direktori untuk menyimpan dua fail utama ini, lebih baik di lokasi yang selamat yang tidak dapat diakses oleh pengguna biasa.

mkdir -p /etc/vsftpd/ssl

Sekarang untuk generasi sebenar sijil, kita akan menyimpan kedua-dua kunci dalam fail yang sama ( /etc/vsftpd/ssl/vsftpd.pem ):

openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/vsftpd/ssl/vsftpd.pem -out /etc/vsftpd/ssl/vsftpd.pem

Setelah melaksanakan perintah tersebut, anda akan ditanya beberapa soalan seperti kod negara, negeri, bandar, nama organisasi dan lain-lain. Gunakan maklumat organisasi atau organisasi anda sendiri. Sekarang baris yang paling penting adalah nama Umum yang mesti sepadan dengan alamat IP VPS anda, sebagai alternatif nama domain yang menunjuk ke arah itu.

Sijil ini akan berlaku selama 365 hari (~ 1 tahun), ia akan menggunakan protokol perjanjian kunci RSA dengan panjang kunci 4096 bit, dan fail yang mengandungi kedua-dua kunci akan disimpan di direktori baru yang baru kami buat. Untuk keterangan lebih lanjut mengenai panjang kunci dan berkaitan dengan keselamatan lihat ini: cadangan Encryption II .


Pasang sijil baru di vsFTPd

Untuk mula menggunakan sijil baru kami dan dengan demikian memberikan penyulitan, kami perlu membuka fail konfigurasi sekali lagi:

nano /etc/vsftpd.conf

Kami perlu menambah jalan ke sijil baru dan fail utama kami. Oleh kerana ia disimpan dalam fail yang sama, ia harus sama di dalam konfigurasi juga.

rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.pem

Kita mesti menambah baris ini untuk memastikan SSL diaktifkan:

ssl_enable=YES

Secara pilihan, kami boleh menyekat pengguna tanpa nama daripada menggunakan SSL, kerana penyulitan tidak diperlukan pada pelayan FTP awam.

allow_anon_ssl=NO

Seterusnya kita perlu menentukan kapan menggunakan SSL / TLS, ini akan membolehkan penyulitan untuk pemindahan data dan tauliah log masuk

force_local_data_ssl=YES
force_local_logins_ssl=YES

Kami juga boleh menentukan versi dan protokol apa yang akan digunakan. TLS secara amnya lebih selamat daripada SSL dan oleh itu kami membenarkan TLS dan pada masa yang sama menyekat versi SSL yang lebih lama.

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

Memerlukan penggunaan semula SSL dan penggunaan cipher tinggi juga akan membantu meningkatkan keselamatan. Dari halaman manual vsFTPd:

required_ssl_reuse Jika ditetapkan ke ya, semua sambungan data SSL diperlukan untuk menunjukkan penggunaan semula sesi SSL (yang membuktikan bahawa mereka mengetahui rahsia induk yang sama dengan saluran kawalan). Walaupun ini adalah lalai yang selamat, ia mungkin mematahkan banyak klien FTP, jadi anda mungkin ingin melumpuhkannya. Untuk perbincangan mengenai akibatnya, lihat http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html (Ditambahkan dalam v2.1.0).

ssl_ciphers Pilihan ini dapat digunakan untuk memilih ciphers SSL vsftpd mana yang akan membolehkan sambungan SSL yang dienkripsi. Lihat halaman man ciphers untuk keterangan lebih lanjut. Perhatikan bahawa mengehadkan cipher boleh menjadi langkah keselamatan yang berguna kerana ia menghalang pihak-pihak terpencil yang memaksa memaksakan cipher yang mereka hadapi.

require_ssl_reuse=YES
ssl_ciphers=HIGH

Selesaikan dengan memulakan semula vsftpddaemon

/etc/init.d/vsftpd restart

Sahkan pemasangan

Dan itu sahaja, anda kini boleh menyambung ke pelayan anda dan mengesahkan bahawa semuanya berfungsi. Sekiranya anda menggunakan FileZilla, dialog yang mengandungi maklumat organisasi anda (atau apa sahaja yang anda masukkan semasa membuat sijil lebih awal) harus dibuka semasa sambungan. Hasilnya akan kelihatan serupa dengan ini:

Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.

Untuk mengetahui lebih lanjut mengenai vsFTPd, lihat halaman manualnya:

man vsftpd


Leave a Comment

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Menggunakan Sistem Berbeza? Pengenalan CyberPanel adalah salah satu panel kawalan pertama di pasaran yang merupakan sumber terbuka dan menggunakan OpenLiteSpeed. Apa itu

Cara Memasang Apache Maven 3.5 di CentOS 7

Cara Memasang Apache Maven 3.5 di CentOS 7

Apache Maven adalah alat pengurusan projek perisian sumber terbuka dan bebas yang banyak digunakan untuk menyebarkan aplikasi berbasis Java. Prasyarat yang baru

Cara Memasang FFmpeg di CentOS

Cara Memasang FFmpeg di CentOS

FFmpeg adalah penyelesaian sumber terbuka yang popular untuk merakam, menukar, dan menstrim audio dan video, yang banyak digunakan dalam semua jenis perkhidmatan streaming dalam talian. Saya

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Menggunakan Sistem Berbeza? Backdrop CMS 1.8.0 adalah Sistem Pengurusan Kandungan (CMS) sumber mudah alih, mudah alih, percuma dan terbuka yang membolehkan kami

Cara Pasang AirSonic pada CentOS 7

Cara Pasang AirSonic pada CentOS 7

Menggunakan Sistem Berbeza? AirSonic adalah pelayan streaming media sumber terbuka dan terbuka. Dalam tutorial ini, saya akan membimbing anda melalui proses penyebaran a

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Pengenalan Komposer adalah pengurus pergantungan yang popular untuk PHP yang dapat mempermudah pemasangan dan kemas kini perpustakaan yang diperlukan untuk projek anda

Pasang RockMongo di CentOS 7

Pasang RockMongo di CentOS 7

RockMongo adalah alat Pengurusan MongoDB berasaskan web yang serupa dengan alat Pengurusan MySQL: phpMyAdmin. Tutorial ini akan merangkumi proses installin

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

.NET NET adalah rangka kerja pembangunan merentas platform terbuka yang disusun oleh Microsoft dan masyarakat NET yang semakin berkembang. Dengan bantuan .NE

Memasang Netdata di CentOS 7

Memasang Netdata di CentOS 7

Menggunakan Sistem yang berbeza? Netdata adalah bintang yang semakin meningkat dalam bidang pemantauan metrik sistem masa nyata. Berbanding dengan alat lain yang serupa, Netdata:

Cara Memasang Pelayan Starbound di CentOS 7

Cara Memasang Pelayan Starbound di CentOS 7

Menggunakan Sistem yang berbeza? Dalam tutorial ini, saya akan menerangkan cara menyediakan pelayan Starbound di CentOS 7. Prasyarat Anda perlu memiliki permainan ini untuk anda

Cara Memasang Django di CentOS 7

Cara Memasang Django di CentOS 7

Django adalah rangka kerja Python yang popular untuk menulis aplikasi web. Dengan Django, anda dapat membina aplikasi dengan lebih cepat, tanpa mencipta semula roda. Sekiranya anda mahu

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Selamat datang ke tutorial Vultr yang lain. Di sini, anda akan belajar cara memasang dan menjalankan pelayan SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan hadir

Memasang Revive Adserver di CentOS 7

Memasang Revive Adserver di CentOS 7

Revive Adserver adalah sistem penayangan iklan sumber terbuka dan bebas yang dapat digunakan untuk mengelola iklan di laman web, dalam aplikasi, dan / atau dalam pemutar video. Dalam artikel ini,

Cara Memasang Parse Server di CentOS 7

Cara Memasang Parse Server di CentOS 7

Parse Server adalah alternatif sumber terbuka untuk perkhidmatan backend Parse yang sedang ditutup. Sekiranya anda peminat perkhidmatan ini, anda masih boleh menikmati perkhidmatan ini

Pasang Elgg di CentOS 7

Pasang Elgg di CentOS 7

Menggunakan Sistem Berbeza? Elgg adalah mesin rangkaian sosial sumber terbuka yang membolehkan penciptaan persekitaran sosial seperti rangkaian sosial kampus dan

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Pengenalan Caddy adalah program pelayan web yang muncul dengan sokongan asli untuk HTTP / 2 dan HTTPS automatik. Dengan kemudahan penggunaan dan keselamatan, Caddy dapat b

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Gambaran Keseluruhan Artikel ini dimaksudkan untuk membantu anda mendapatkan cluster Kubernet dan berjalan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua pelayan, di

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Pengenalan Mengendalikan sistem Linux bermaksud seseorang menggunakan baris perintah lebih kerap daripada tidak. Perlu menaip nama direktori panjang berulang-ulang sebagai wel

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

OpenCart adalah penyelesaian keranjang belanja sumber terbuka yang popular yang direka untuk memberikan fungsi, kemudahan penggunaan, dan penampilan yang sangat baik. Dengan OpenCart, anda pasti

Siapkan Sails.js untuk Pembangunan di CentOS 7

Siapkan Sails.js untuk Pembangunan di CentOS 7

Menggunakan Sistem Berbeza? Pengenalan Sails.js adalah rangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Ia menjadikan untuk mengembangkan aplikasi moden

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut