Trinn 1: Installere de nødvendige pakkene
Trinn 2: Konfigurere iptables for å bruke denne funksjonen
Trinn 3: La oss prøve det
Konklusjon
Nå har du sannsynligvis endret standard SSH-port. Likevel kan hackere enkelt skanne portområder for å oppdage den porten – men med portbanking kan du lure portskannere. Hvordan det fungerer er at SSH-klienten din prøver å koble til en sekvens av porter, som alle vil nekte tilkoblingen din, men låse opp en spesifisert port som tillater tilkoblingen din. Veldig sikker og enkel å installere. Portbanking er en av de beste måtene å beskytte serveren din mot uautoriserte SSH-tilkoblingsforsøk.
Denne artikkelen vil lære deg hvordan du konfigurerer portbanking. Den ble skrevet for Debian 7 (Wheezy), men kan også fungere på andre versjoner av Debian og Ubuntu.
Trinn 1: Installere de nødvendige pakkene
Jeg antar at du allerede har installert en SSH-server. Hvis du ikke har det, kjør følgende kommandoer som root:
apt-get update
apt-get install openssh-server
apt-get install knockd
Installer deretter iptables.
apt-get install iptables
Det er ikke mange pakker å installere - det er det som gjør den til den perfekte løsningen for å beskytte mot brute force-forsøk samtidig som den er enkel å sette opp.
Trinn 2: Konfigurere iptables for å bruke denne funksjonen
Fordi SSH-porten din lukkes etter at du kobler til, må vi sørge for at serveren lar deg forbli tilkoblet mens du blokkerer andre tilkoblingsforsøk. Utfør disse kommandoene på serveren din som root.
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j DROP
apt-get install iptables-persistent
iptables-save
Dette vil tillate eksisterende tilkoblinger å forbli, men blokkere alt annet til SSH-porten din.
La oss nå konfigurere knockd.
Det er her magien skjer - du vil kunne velge hvilke porter som må bankes først. Åpne et tekstredigeringsprogram for filen /etc/knockd.conf.
nano /etc/knockd.conf
Det vil være en seksjon som ser ut som den følgende blokken.
[openSSH]
sequence = 7000,8000,9000
seq_timeout = 5
command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn
I denne delen vil du kunne endre sekvensen av porter som må bankes. Foreløpig forblir vi med portene 7000, 8000 og 9000. Endre seq_timeout = 5til seq_timeout = 10, og for closeSSHseksjonen, gjør det samme for seq_timeoutlinjen. Det er også en sekvenslinje i closeSSHdelen som du også må endre.
Vi må aktivere knockd, så åpne editoren som root igjen.
nano /etc/default/knockd
Endre 0-en i seksjonen START_KNOCKDtil 1, og lagre og avslutt.
Nå, begynn å banke:
service knockd start
Flott! Alt er installert. Hvis du kobler fra serveren din, må du slå portene 7000, 8000 og 9000 for å koble til igjen.
Trinn 3: La oss prøve det
Hvis alt var riktig installert, bør du ikke kunne koble til SSH-serveren din.
Du kan teste portbanking med en telnet-klient.
Windows-brukere kan starte telnet fra ledeteksten. Hvis telnet ikke er installert, gå til "Programmer"-delen av kontrollpanelet, og finn deretter "Slå Windows-funksjoner på eller av". På funksjonspanelet, finn "Telnet Client" og aktiver den.
Skriv inn i terminalen/kommandoprompten:
telnet youripaddress 7000
telnet youripaddress 8000
telnet youripaddress 9000
Gjør alt dette på ti sekunder, siden det er grensen som er pålagt i konfigurasjonen. Prøv nå å koble til serveren din via SSH. Den vil være tilgjengelig.
For å lukke SSH-serveren, kjør kommandoene i omvendt rekkefølge.
telnet youripaddress 9000
telnet youripaddress 8000
telnet youripaddress 7000
Konklusjon
Det beste med å bruke portbanking er at hvis det er konfigurert sammen med autentisering av privat nøkkel, er det praktisk talt ingen sjanse for at noen andre kan komme inn med mindre noen kjenner portene og den private nøkkelen.