fix: Исправление неточностей, опечаток
This commit is contained in:
@@ -261,7 +261,7 @@ Ubuntu 24.04 хранит конфигурацию SSH в `/etc/ssh/sshd_config.
|
|||||||
Создай файл с настройками:
|
Создай файл с настройками:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
|
sudo nano /etc/ssh/sshd_config.d/00-hardening.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -297,6 +297,8 @@ AcceptEnv LANG LC_*
|
|||||||
AddressFamily inet
|
AddressFamily inet
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Важно:** Ubuntu 24.04 хранит файлы конфигурации SSH в `/etc/ssh/sshd_config.d/` и применяет **первое** вхождение каждой директивы. Облачные образы Ubuntu часто поставляются с файлом `50-cloud-init.conf` который содержит `PasswordAuthentication yes` - он загружается раньше `99-hardening.conf` и его значение побеждает. Файл `00-hardening.conf` загружается первым и корректно перекрывает дефолты cloud-init.
|
||||||
|
|
||||||
**Важно:** Ubuntu 24.04 использует socket-активацию через `ssh.socket` - порт слушает не sshd напрямую, а сокет-юнит. Обычный `systemctl restart ssh` перезапускает только сервис, порт остаётся прежним. Для применения нового порта нужно перезапускать именно сокет.
|
**Важно:** Ubuntu 24.04 использует socket-активацию через `ssh.socket` - порт слушает не sshd напрямую, а сокет-юнит. Обычный `systemctl restart ssh` перезапускает только сервис, порт остаётся прежним. Для применения нового порта нужно перезапускать именно сокет.
|
||||||
|
|
||||||
**КРИТИЧНО:** Перед перезапуском открой вторую сессию и не закрывай её.
|
**КРИТИЧНО:** Перед перезапуском открой вторую сессию и не закрывай её.
|
||||||
@@ -331,7 +333,7 @@ LISTEN 0 4096 0.0.0.0:2222
|
|||||||
sudo systemctl cat ssh.socket
|
sudo systemctl cat ssh.socket
|
||||||
```
|
```
|
||||||
|
|
||||||
Строка `ListenStream=0.0.0.0:2222` подтверждает что порт применился.
|
Строка `ListenStream=2222` подтверждает что порт применился.
|
||||||
|
|
||||||
В новом терминале проверь подключение:
|
В новом терминале проверь подключение:
|
||||||
|
|
||||||
@@ -356,7 +358,7 @@ sudo nano /etc/ssh/banner
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
```
|
```
|
||||||
|
|
||||||
Добавь в `/etc/ssh/sshd_config.d/99-hardening.conf`:
|
Добавь в `/etc/ssh/sshd_config.d/00-hardening.conf`:
|
||||||
|
|
||||||
```
|
```
|
||||||
Banner /etc/ssh/banner
|
Banner /etc/ssh/banner
|
||||||
@@ -461,59 +463,11 @@ sudo nano /etc/fail2ban/jail.local
|
|||||||
|
|
||||||
```ini
|
```ini
|
||||||
[DEFAULT]
|
[DEFAULT]
|
||||||
# Бан на 1 час
|
|
||||||
bantime = 3600
|
bantime = 3600
|
||||||
# За 10 минут
|
|
||||||
findtime = 600
|
findtime = 600
|
||||||
# После 3 неудачных попыток
|
|
||||||
maxretry = 3
|
maxretry = 3
|
||||||
# Не банить свои IP
|
|
||||||
ignoreip = 127.0.0.1/8 ::1
|
ignoreip = 127.0.0.1/8 ::1
|
||||||
|
|
||||||
[sshd]
|
|
||||||
enabled = true
|
|
||||||
port = 2222
|
|
||||||
filter = sshd
|
|
||||||
logpath = /var/log/auth.log
|
|
||||||
maxretry = 3
|
|
||||||
bantime = 3600
|
|
||||||
```
|
|
||||||
|
|
||||||
Замени `2222` на свой SSH порт.
|
|
||||||
|
|
||||||
**Особенность Ubuntu 24.04:** `systemd-journald` по умолчанию не пишет в `/var/log/auth.log`. Если файл отсутствует или пустой:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
ls -la /var/log/auth.log
|
|
||||||
```
|
|
||||||
|
|
||||||
Включи запись в файл:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo nano /etc/rsyslog.d/50-default.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
Убедись что строка не закомментирована:
|
|
||||||
|
|
||||||
```
|
|
||||||
auth,authpriv.* /var/log/auth.log
|
|
||||||
```
|
|
||||||
|
|
||||||
Перезапусти rsyslog:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo systemctl restart rsyslog
|
|
||||||
```
|
|
||||||
|
|
||||||
Или используй journald backend в fail2ban - он умеет читать логи напрямую из journald без файлов:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo nano /etc/fail2ban/jail.local
|
|
||||||
```
|
|
||||||
|
|
||||||
Добавь в секцию `[sshd]`:
|
|
||||||
|
|
||||||
```ini
|
|
||||||
[sshd]
|
[sshd]
|
||||||
enabled = true
|
enabled = true
|
||||||
port = 2222
|
port = 2222
|
||||||
@@ -523,7 +477,9 @@ maxretry = 3
|
|||||||
bantime = 3600
|
bantime = 3600
|
||||||
```
|
```
|
||||||
|
|
||||||
При `backend = systemd` параметр `logpath` не нужен - fail2ban читает journald напрямую.
|
Замени `2222` на свой SSH порт.
|
||||||
|
|
||||||
|
`backend = systemd` — обязательно для Ubuntu 24.04. На этом дистрибутиве journald является основным хранилищем логов, файл `/var/log/auth.log` может отсутствовать или не заполняться. При `backend = systemd` параметр `logpath` не нужен — fail2ban читает journald напрямую.
|
||||||
|
|
||||||
Запусти:
|
Запусти:
|
||||||
|
|
||||||
@@ -1065,8 +1021,9 @@ sudo ufw status verbose
|
|||||||
# Статус fail2ban
|
# Статус fail2ban
|
||||||
sudo fail2ban-client status sshd
|
sudo fail2ban-client status sshd
|
||||||
|
|
||||||
# Состояние диска
|
# Определить имя диска и проверить его состояние (только физический сервер)
|
||||||
sudo smartctl -H /dev/sda
|
lsblk -d -o NAME,TYPE | grep disk
|
||||||
|
sudo smartctl -H /dev/ИМЯ_ДИСКА
|
||||||
|
|
||||||
# Swap
|
# Swap
|
||||||
free -h
|
free -h
|
||||||
|
|||||||
@@ -262,7 +262,7 @@ sudo systemctl restart docker
|
|||||||
Проверь:
|
Проверь:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker info | grep -E "Storage Driver|Logging Driver|live-restore"
|
docker info | grep -E "Storage Driver|Logging Driver|Live Restore"
|
||||||
```
|
```
|
||||||
|
|
||||||
## sysctl для Docker-хоста
|
## sysctl для Docker-хоста
|
||||||
@@ -768,7 +768,7 @@ sudo truncate -s 0 /var/lib/docker/containers/CONTAINER_ID/CONTAINER_ID-json.log
|
|||||||
### Финальная проверка
|
### Финальная проверка
|
||||||
```bash
|
```bash
|
||||||
sudo systemctl status docker
|
sudo systemctl status docker
|
||||||
docker info | grep -E "Storage Driver|Logging Driver|live-restore"
|
docker info | grep -E "Storage Driver|Logging Driver|Live Restore"
|
||||||
docker run --rm alpine nslookup google.com
|
docker run --rm alpine nslookup google.com
|
||||||
ss -tulnp | grep docker
|
ss -tulnp | grep docker
|
||||||
docker system df
|
docker system df
|
||||||
|
|||||||
Reference in New Issue
Block a user