Řešení 1:
I když je neúměrně obtížné skrýt číslo verze vašeho démona SSH, můžete snadno skrýt verzi linuxu (Debian-3ubuntu4)
Přidejte následující řádek do /etc/ssh/sshd_config
DebianBanner no
A restartujte svého démona SSH:/etc/init.d/ssh restart
nebo service ssh restart
Řešení 2:
Jejich skrytí nezabezpečí váš server. Existuje mnoho dalších způsobů, jak otisknout to, co váš systém běží. Zejména pro SSH je oznámení verze součástí protokolu a je vyžadováno.
http://www.snailbook.com/faq/version-string.auto.html
Řešení 3:
Téměř univerzálně jsou identifikační bannery součástí zkompilovaného kódu a nemají konfigurační možnosti, jak je změnit nebo potlačit. Tyto části softwaru budete muset znovu zkompilovat.
Řešení 4:
Jsem si docela jistý, že oznámení verze ve skutečnosti změnit nemůžete.
Nejlepší způsoby, jak zabezpečit sshd, jsou:
- Změňte výchozí číslo portu.
- Zakažte přihlášení uživatele root.
- Vynutit protokol 2 (za předpokladu, že se to ve výchozím nastavení nedělá).
- Přidejte na seznam povolených serverů, které mají povoleno SSH.
První tři lze provést úpravou /etc/sshd_config
Čtvrtý závisí na tom, jaký software brány firewall používáte.
Řešení 5:
Jak bylo uvedeno výše, změna čísla verze je
- Těžké
- Zabezpečení prostřednictvím nejasností
- Neflexibilní
Navrhuji implementaci Port Knocking. Je to poměrně jednoduchá technika, jak skrýt vše, co běží na vašem serveru.
Zde je dobrá implementace:http://www.zeroflux.org/projects/knock
Takto jsem to implementoval na svých serverech (jiná čísla), abych otevřel SSH pouze lidem, kteří znají „tajné klepání“:
[openSSH]
sequence = 300,4000,32
seq_timeout = 5
command = /opencloseport.sh %IP% 2305
tcpflags = syn
To poskytne 5 sekundové okno, ve kterém je třeba přijmout 3 SYN pakety ve správném pořadí. Vyberte porty, které jsou od sebe daleko a nejsou sekvenční. Tímto způsobem portscanner nemůže otevřít port náhodně. Tyto porty není nutné otevírat pomocí iptables.
Skript, který nazývám, je tento. Otevře konkrétní port na 5 sekund pro IP odesílající SYN pakety.
#!/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
Odesílat pakety SYN může být opravdu těžké, takže k připojení k SSH svých serverů používám skript:
#!/bin/bash
knock $1 $2
knock $1 $3
knock $1 $4
ssh [email protected]$1 -p $6
(Je celkem zřejmé, co se zde děje...)
Po navázání spojení lze port uzavřít. Tip:Použijte ověřování pomocí klíče. Jinak musíte být při zadávání hesla velmi rychlí.