Compare commits
3 Commits
c8d7f83fcc
...
e34afe876c
| Author | SHA1 | Date | |
|---|---|---|---|
| e34afe876c | |||
| b24d95ac83 | |||
| 0891a4dcc1 |
@@ -59,6 +59,7 @@ sudo nano /etc/ssh/sshd_config
|
|||||||
|
|
||||||
После внесения изменений в конфиг, необходимо перезагрузить `sshd`.
|
После внесения изменений в конфиг, необходимо перезагрузить `sshd`.
|
||||||
```sh
|
```sh
|
||||||
|
# На некоторых системах ssh вместо sshd
|
||||||
sudo systemctl reload sshd
|
sudo systemctl reload sshd
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -82,10 +83,15 @@ Host <host>
|
|||||||
Port <ssh-port>
|
Port <ssh-port>
|
||||||
```
|
```
|
||||||
|
|
||||||
Можно проверить, что подключение проходит без ошибок
|
Можно проверить, что подключение проходит без ошибок.
|
||||||
```sh
|
```sh
|
||||||
|
# Если конфиг настроен
|
||||||
ssh <host>
|
ssh <host>
|
||||||
```
|
```
|
||||||
|
```sh
|
||||||
|
# Без конфига
|
||||||
|
ssh <user>@<IPv4> -p <ssh-port>
|
||||||
|
```
|
||||||
|
|
||||||
## Настройка фаерволла c UFW
|
## Настройка фаерволла c UFW
|
||||||
|
|
||||||
@@ -148,8 +154,84 @@ sudo ufw status verbose
|
|||||||
sudo ufw delete allow "Nginx Full"
|
sudo ufw delete allow "Nginx Full"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Настройка Fail2Ban
|
||||||
|
|
||||||
|
[Fail2Ban](https://github.com/fail2ban/fail2ban) - базовая защита сервера от brute-force аттак.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install fail2ban
|
||||||
|
sudo systemctl enable fail2ban
|
||||||
|
```
|
||||||
|
|
||||||
|
Теперь нужно [правильно настроить Fail2Ban](https://github.com/fail2ban/fail2ban/wiki/Proper-fail2ban-configuration).
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Создаём файл с пользовательскими настройками
|
||||||
|
sudo nano /etc/fail2ban/jail.local
|
||||||
|
```
|
||||||
|
|
||||||
|
Настройка защиты SSH сервера.
|
||||||
|
```ini
|
||||||
|
[sshd]
|
||||||
|
# Единственный обязательный параметр
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
# Можно не указывать, если используется стандартный порт
|
||||||
|
port = <ssh-port>
|
||||||
|
|
||||||
|
# Пример настроек. Эти параметры можно не указывать, тогда будут использованы
|
||||||
|
# значения по умолчанию.
|
||||||
|
# Если в течении 24 часов
|
||||||
|
findtime = 86400
|
||||||
|
# произведено 3 неудачных попытки логина,
|
||||||
|
maxretry = 3
|
||||||
|
# то банить IP навсегда.
|
||||||
|
bantime = -1
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Применяем настройки
|
||||||
|
sudo fail2ban-client reload
|
||||||
|
```
|
||||||
|
|
||||||
|
??? tip "Дополнительные команды `fail2ban`"
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Вывести список активных jail's
|
||||||
|
sudo fail2ban-client status
|
||||||
|
|
||||||
|
# Вывести информацию по конкретному jail, в т. ч. список заблокированных IP
|
||||||
|
sudo fail2ban-client status <jail-name>
|
||||||
|
|
||||||
|
# Разблокировать IP
|
||||||
|
sudo fail2ban-client set <jail-name> unbanip <IP>
|
||||||
|
|
||||||
|
# Вывести логи fail2ban
|
||||||
|
sudo tail -f -n 100 /var/log/fail2ban.log
|
||||||
|
```
|
||||||
|
|
||||||
|
## Дополнительно
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Вывести записи о неудачных попытках входа в систему
|
||||||
|
sudo lastb | head -n 20
|
||||||
|
|
||||||
|
# Очистить записи о неудачных попытках входа в систему
|
||||||
|
sudo truncate -s 0 /var/log/btmp
|
||||||
|
|
||||||
|
# Показывает, кто в системе прямо сейчас
|
||||||
|
sudo w
|
||||||
|
|
||||||
|
# Логи попыток входа
|
||||||
|
sudo grep "Accepted password" /var/log/auth.log | tail -n 20
|
||||||
|
sudo grep "Failed password" /var/log/auth.log | tail -n 20
|
||||||
|
sudo grep "Invalid user" /var/log/auth.log | tail -n 20
|
||||||
|
```
|
||||||
|
|
||||||
## Полезные ссылки
|
## Полезные ссылки
|
||||||
- [Initial Server Setup with Ubuntu 20.04](https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04)
|
- [Initial Server Setup with Ubuntu 20.04](https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04)
|
||||||
- [UFW Essentials: Common Firewall Rules and Commands](https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands)
|
- [UFW Essentials: Common Firewall Rules and Commands](https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands)
|
||||||
- [VPS cheatsheet](https://habr.com/ru/articles/756804/)
|
- [VPS cheatsheet](https://habr.com/ru/articles/756804/)
|
||||||
|
- [Fail2Ban](https://github.com/fail2ban/fail2ban)
|
||||||
Reference in New Issue
Block a user