filmov
tv
Защита SSH-сервера — порты, ключи, port knocking, iptables
Показать описание
0:00 О port knocking
1:19 Что такое сетевые порты в TCP и UDP?
3:17 Замена стандартного порта SSH-сервера
4:24 Запрет SSH-входа по паролю
4:56 Что делать, если потеряешь SSH-ключи?
6:23 Запрет входа root
6:33 Port knocking и безопасность
8:52 Покупка сервера в Selectel
9:40 Создание SSH-ключа с паролем
11:16 Создание Linux-пользователя
12:43 Разрешаем SSH-вход пользователю
13:47 Базовая настройка SSH-сервера
15:51 Настройка port knocking с knockd, iptables и nmap
25:50 Ещё несколько возможностей iptables
26:30 Как сделать сервер непингуемым?
28:01 Выводы
Команды из видео
===
Генерация SSH-ключей:
ssh-keygen -t ed25519
Копирование публичного ключа:
Редактирование настроек SSH-сервера:
sudo vim /etc/ssh/sshd_config
Настройки:
AllowUsers www
PermitRootLogin no
PasswordAuthentication no
Port 45916
Рестарты SSH-сервера:
sudo service ssh restart
Установка knockd:
sudo apt install -y knockd
Редактирование его настроек:
Настройки:
[options]
UseSyslog
Interface = enp3s0
[SSH]
sequence = 7000,8000,9000
seq_timeout = 5
tcpflags = syn
start_command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 45916 -j ACCEPT
stop_command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 45916 -j ACCEPT
cmd_timeout = 60
Здесь enp3s0 это сетевой интерфейс, проверяется командой:
ip a
Автозапуск:
sudo vim /etc/default/knockd
START_KNOCKD=1
KNOCKD_OPTS="-i enp3s0"
Сетевой интерфейс аналогично подставляется актуальный вместо enp3s0.
Старт knockd:
sudo systemctl start knockd
sudo systemctl enable knockd
sudo systemctl status knockd
Настройка iptables и перманентное сохранение этих настроек:
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 45916 -j REJECT
sudo apt install iptables-persistent
sudo service netfilter-persistent save
Просмотр настроек:
sudo iptables -L --line-numbers
Постучаться в три порта — 7000, 8000 и 9000 сервера с IP 46.148.229.113:
for x in 7000 8000 9000; do nmap -Pn --max-retries 0 -p $x 46.148.229.113; done
Сброс всех настроек iptables:
sudo iptables -F
Запрет ping хоста:
sudo iptables -A INPUT -p icmp --icmp-type 8 -j DROP
Удаление этого правила:
sudo iptables -D INPUT -p icmp --icmp-type 8 -j DROP
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
Комментарии