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-юзери можуть не тільки завантажувати цікавий для них контент, але й відвантажувати свій, не заважаючи при цьому іншим користувачам сервера.
|
У попередньому [матеріалі](https://devzone.org.ua/post/orhanizatsiia-hostyovoho-servera-ftp), я описував свій досвід з організації **гостьового** FTP сервера для доступу до файлів на читання. Утім, довго планував організувати саме соціальний, інтерактивний інстанс в дусі колишніх локалок: де unix-юзери можуть не тільки завантажувати цікавий для них контент, але й відвантажувати свій, не заважаючи при цьому іншим користувачам сервера.
|
||||||
|
|
||||||
|
|
@ -81,7 +81,37 @@ ps
|
||||||
* `anonymous` - гостьовий псевдо-користувач, без нього анон не зможе підключитись!
|
* `anonymous` - гостьовий псевдо-користувач, без нього анон не зможе підключитись!
|
||||||
* `ps` - доданий користувач, інші облікові записи додаємо по одному на рядок
|
* `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
|
### Глобальна конфігурація vsftpd
|
||||||
|
|
||||||
|
|
@ -117,6 +147,8 @@ use_localtime=YES
|
||||||
xferlog_enable=YES
|
xferlog_enable=YES
|
||||||
xferlog_std_format=NO
|
xferlog_std_format=NO
|
||||||
vsftpd_log_file=/var/log/vsftpd.log
|
vsftpd_log_file=/var/log/vsftpd.log
|
||||||
|
# дана опція використовується для коректної роботи fail2ban!
|
||||||
|
dual_log_enable=YES
|
||||||
|
|
||||||
# налаштування анонімного режиму
|
# налаштування анонімного режиму
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue