Wie oben gesagt, ist das Ändern einer Versionsnummer
- Schwer zu machen
- Sicherheit durch Dunkelheit
- Nicht flexibel
Ich schlage vor, Port Knocking zu implementieren. Es ist eine ziemlich einfache Technik, um alles zu verbergen, was auf Ihrem Server läuft.
Hier ist eine gute Implementierung:
http://www.zeroflux.org/projects/knock
So habe ich es auf meinen Servern (andere Nummern) implementiert, um SSH nur für die Personen zu öffnen, die das Geheimnis kennen:
[openSSH]
sequence = 300,4000,32
seq_timeout = 5
command = /opencloseport.sh %IP% 2305
tcpflags = syn
Dies ergibt ein Fenster von 5 Sekunden, in dem die 3 SYN-Pakete in der richtigen Reihenfolge empfangen werden müssen. Wählen Sie Ports, die weit voneinander entfernt und nicht sequentiell sind. Auf diese Weise kann ein Portscanner den Hafen nicht versehentlich öffnen. Diese Ports müssen nicht von iptables geöffnet werden.
Das Skript, das ich aufrufe, ist dieses. Es öffnet einen bestimmten Port für 5 Sekunden für die IP, die die SYN-Pakete sendet.
#!/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
Es kann sehr schmerzhaft sein, die SYN-Pakete zu senden, daher verwende ich das Skript, um eine Verbindung zum SSH meiner Server herzustellen:
#!/bin/bash
knock $1 $2
knock $1 $3
knock $1 $4
ssh $5@$1 -p $6
(Es ist ziemlich offensichtlich, was hier passiert ...)
Nachdem die Verbindung hergestellt wurde, kann der Port geschlossen werden. Tipp: Verwenden Sie die Schlüsselauthentifizierung. Andernfalls müssen Sie sehr schnell sein, um Ihr Passwort einzugeben.