mirror of
https://codeberg.org/postscriptum/devzone.org.ua.git
synced 2026-02-18 22:02:41 +00:00
change title
This commit is contained in:
parent
b0bf570e0b
commit
e9360c0e46
1 changed files with 34 additions and 2 deletions
|
|
@ -1,4 +1,4 @@
|
|||
# Організація соціального сервера FTP на базі vsftpd
|
||||
# Організація багатокористувацького файло-обмінника FTP на базі vsftpd
|
||||
|
||||
У попередньому [матеріалі](https://devzone.org.ua/post/orhanizatsiia-hostyovoho-servera-ftp), я описував свій досвід з організації **гостьового** FTP сервера для доступу до файлів на читання. Утім, довго планував організувати саме соціальний, інтерактивний інстанс в дусі колишніх локалок: де unix-юзери можуть не тільки завантажувати цікавий для них контент, але й відвантажувати свій, не заважаючи при цьому іншим користувачам сервера.
|
||||
|
||||
|
|
@ -81,7 +81,37 @@ ps
|
|||
* `anonymous` - гостьовий псевдо-користувач, без нього анон не зможе підключитись!
|
||||
* `ps` - доданий користувач, інші облікові записи додаємо по одному на рядок
|
||||
|
||||
Якщо не вказувати білий список, то на FTP сервері можна буде залогінитись будь яким системним користувачем, включно з таким, до якого не було вказано пароль. У цьому плані, варто звернути увагу на утиліту [fail2ban](https://en.wikipedia.org/wiki/Fail2ban), але захист від [брутфорсу](https://uk.wikipedia.org/wiki/Пошук_грубою_силою) - це окрема історія.
|
||||
Якщо не вказувати білий список, то на FTP сервері можна буде залогінитись будь яким системним користувачем, включно з таким, до якого не було вказано пароль.
|
||||
|
||||
### Блокування брутфорсу засобами fail2ban
|
||||
|
||||
В контексті попереднього пункту, буде корисним поставити [fail2ban](https://en.wikipedia.org/wiki/Fail2ban) - утиліту, яка блокуватиме клієнтський хост при введенні таким не правильної пари логін/пароль (для запобігання [брутфорсу](https://uk.wikipedia.org/wiki/Пошук_грубою_силою)). Адже підбираючи пароль до користувачів `/etc/vsftpd.userlist` можна так само підібрати пароль до SSH (якщо 22 порт відкритий і використовується авторизація паролем)
|
||||
|
||||
``` bash
|
||||
apt install fail2ban
|
||||
```
|
||||
|
||||
Підтримка vsftpd в fail2ban є з коробки, я тільки вручну додав опцію:
|
||||
|
||||
``` /etc/fail2ban/jail.conf
|
||||
[vsftpd]
|
||||
# ..
|
||||
enabled = true
|
||||
```
|
||||
* тут можна вказати кастомний шлях журналу, якщо він у вас відрізняється
|
||||
|
||||
Правила фільтрації для журналу vsftpd задаються у файлі:
|
||||
|
||||
``` /etc/fail2ban/filter.d/vsftpd.conf
|
||||
#failregex = ..
|
||||
```
|
||||
* я лишив стандартні - в мене вони працюють
|
||||
|
||||
Користуючись fail2ban, важливо вказати в глобальній конфігурації (vsftpd.conf) опцію `dual_log_enable=YES`!
|
||||
|
||||
Після запуску сервера, варто особисто перевірити роботу блокування, вказавши завідомо неправильний пароль: після n-ї спроби (налаштовується в конфігурації fail2ban) в FTP клієнті замість коду 530 має бути повідомлення вигляду:
|
||||
|
||||
> Connection attempt failed with "ECONNREFUSED - Connection refused by server".
|
||||
|
||||
### Глобальна конфігурація vsftpd
|
||||
|
||||
|
|
@ -117,6 +147,8 @@ use_localtime=YES
|
|||
xferlog_enable=YES
|
||||
xferlog_std_format=NO
|
||||
vsftpd_log_file=/var/log/vsftpd.log
|
||||
# дана опція використовується для коректної роботи fail2ban!
|
||||
dual_log_enable=YES
|
||||
|
||||
# налаштування анонімного режиму
|
||||
# ------------------------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue