Как да защитите vsFTPd с SSL/TLS

Много сигурен FTP демон или просто vsFTPd е лек софтуер с голяма възможност за персонализиране. В този урок ще подсигурим вече съществуваща инсталация в система на Debian, използвайки нашия собствен самоподписан SSL/TLS сертификат. Въпреки че е написан за Debian, той трябва да работи в повечето дистрибуции на Linux като Ubuntu и CentOS например.


Инсталиране на vsFTPd

На нов Linux VPS първо трябва да инсталирате vsFTPd. Въпреки че в този урок ще намерите основните стъпки за инсталиране на vsFTPd, препоръчвам ви да прочетете и тези два по-подробни урока: Настройка vsFTPd на Debian/Ubuntu и Инсталиране на vsFTPd на CentOS . Всички стъпки по отношение на инсталацията са обяснени по-внимателно там.

Инсталиране на Debian/Ubuntu:

apt-get install vsftpd

Инсталиране на CentOS:

yum install epel-release
yum install vsftpd

Конфигурация Отворете конфигурационния файл: /etc/vsftpd.conf във вашия любим текстов редактор, в този урок използваме nano.

nano /etc/vsftpd.conf

Поставете следните редове в конфигурацията:

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

Завършете, като рестартирате вашия vsFTPd демон:

/etc/init.d/vsftpd restart

Вече трябва да можете да влезете като всеки локален потребител през FTP, сега нека продължим и да защитим този софтуер.


Генерирайте самоподписан сертификат

Самоподписан сертификат обикновено се използва в протокол за споразумение за публичен ключ, който вече ще използвате opensslза генериране на публичен ключ и съответен частен ключ. На първо място трябва да създадем директория, в която да съхраняваме тези два ключови файла, за предпочитане на безопасно място, до което нормалните потребители нямат достъп.

mkdir -p /etc/vsftpd/ssl

Сега към действителното генериране на сертификата ще съхраняваме и двата ключа в един и същ файл ( /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

След като изпълните командата, ще ви бъдат зададени няколко въпроса като код на държава, щат, град, име на организация и т.н. използвайте вашата собствена или информация за вашата организация. Сега най-важният ред е общото име, което трябва да съвпада с IP адреса на вашия VPS, алтернативно име на домейн, сочещо към него.

Този сертификат ще бъде валиден за 365 дни (~1 година), той ще използва протокола за споразумение за ключове RSA с дължина на ключа от 4096 бита, а файлът, съдържащ и двата ключа, ще бъде съхранен в новата директория, която току-що създадохме. За повече подробности относно дължината на ключа и връзката й със сигурността вижте това: Препоръки за шифроване II .


Инсталирайте новия сертификат във vsFTPd

За да започнем да използваме нашия нов сертификат и по този начин да осигурим криптиране, трябва да отворим отново конфигурационния файл:

nano /etc/vsftpd.conf

Трябва да добавим пътищата към нашия нов сертификат и ключови файлове. Тъй като те се съхраняват в един и същ файл, той трябва да бъде същият и в конфигурацията.

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

Трябва да добавим този ред, за да сме сигурни, че SSL ще бъде активиран:

ssl_enable=YES

По желание можем да блокираме използването на SSL на анонимни потребители, тъй като не е необходимо криптиране на публичен FTP сървър.

allow_anon_ssl=NO

След това трябва да посочим кога да използваме SSL/TLS, това ще позволи криптиране както за пренос на данни, така и за идентификационни данни за вход

force_local_data_ssl=YES
force_local_logins_ssl=YES

Можем също да посочим какви версии и протоколи да се използват. TLS обикновено е по-сигурен от SSL и по този начин можем да разрешим TLS и в същото време да блокираме по-стари версии на SSL.

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

Изисквайте повторно използване на SSL и използването на високи шифри също ще помогне за подобряване на сигурността. От man страниците на vsFTPd:

require_ssl_reuse If set to yes, all SSL data connections are required to exhibit SSL session reuse (which proves that they know the same master secret as the control channel). Although this is a secure default, it may break many FTP clients, so you may want to disable it. For a discussion of the consequences, see http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html (Added in v2.1.0).

ssl_ciphers This option can be used to select which SSL ciphers vsftpd will allow for encrypted SSL connections. See the ciphers man page for further details. Note that restricting ciphers can be a useful security precaution as it prevents malicious remote parties forcing a cipher which they have found problems with.

require_ssl_reuse=YES
ssl_ciphers=HIGH

Завършете, като рестартирате vsftpdдемона

/etc/init.d/vsftpd restart

Потвърдете инсталацията

И това е всичко, вече трябва да можете да се свържете с вашия сървър и да потвърдите, че всичко работи. Ако използвате FileZilla, диалогов прозорец, съдържащ информация за вашата организация (или каквото сте въвели при генериране на сертификата по-рано), трябва да се отвори при свързване. След това изходът трябва да изглежда подобно на това:

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

За да научите повече за vsFTPd, вижте страниците с ръководство:

man vsftpd

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече