Як було сказано вище, зміна номера версії є
- Важко зробити
- Безпека через незрозумілість
- Не гнучка
Що я пропоную - це реалізація Port Knocking. Це досить проста техніка, щоб приховати все, що працює на вашому сервері.
Ось хороша реалізація:
http://www.zeroflux.org/projects/knock
Ось як я реалізував це на своїх серверах (інших номерах), щоб відкрити SSH лише тим людям, які знають "секретний стук":
[openSSH]
sequence = 300,4000,32
seq_timeout = 5
command = /opencloseport.sh %IP% 2305
tcpflags = syn
Це дасть вікно на 5 секунд, в якому 3 SYN-пакети потрібно приймати в потрібному порядку. Вибирайте порти, які знаходяться далеко один від одного і не є послідовними. Таким чином, портал-сканер не може відкрити порт випадково. Ці порти не потрібно відкривати iptables.
Сценарій, який я називаю, саме цей. Він відкриває певний порт на 5 секунд для передачі IP-пакетів SYN.
#!/bin/bash
/sbin/iptables -I INPUT -s $1 -p tcp --dport $2 -j ACCEPT
sleep 5
/sbin/iptables -D INPUT -s $1 -p tcp --dport $2 -j ACCEPT
Відправити SYN-пакети може бути справжнім болем, тому я використовую сценарій для підключення до SSH моїх серверів:
#!/bin/bash
knock $1 $2
knock $1 $3
knock $1 $4
ssh $5@$1 -p $6
(Цілком очевидно, що тут відбувається ...)
Після встановлення з'єднання порт можна закрити. Підказка: Використовуйте аутентифікацію ключа. Інакше вам потрібно дуже швидко ввести свій пароль.