Hvordan gjøre serveren din usynlig med Knockd
Når du har en server som er offentlig tilgjengelig, kan hackere enkelt skanne IP-adressen din og se etter åpne porter (spesielt port 22 som brukes til SSH) på serveren din. En måte å skjule serveren mot hackere er knockd. Knockd er en er en port-knock server. Den lytter til all trafikk på et Ethernet eller andre tilgjengelige grensesnitt, og venter på spesielle sekvenser av port-hits. Klienter som telnet eller Putty initierer port-hits ved å sende en TCP eller pakke til en port på serveren.
I denne artikkelen vil vi se på hvordan vi kan bruke knockd til å skjule tjenester som kjører på en Linux-server.
Installer Knockd på en Linux Server
Knockd er tilgjengelig i de fleste distros repositorier. På en Debian / Ubuntu / Ubuntu-basert server kan du bruke apt-get
kommandoen for å installere knockd.
sudo apt-get install knockd
For Fedora, CentOS eller REHL brukere, kan du bruke yum
kommandoen:
Du kan installere knockd
Installer og konfigurer Iptables
Hvis du ikke har Iptables installert på serveren din, må du installere den nå.
sudo apt-get installere iptables iptables-vedvarende
Pakken iptables-persistent
tar over automatisk lasting av lagrede iptables.
Deretter må du tillate allerede etablerte forbindelser så vel som dagens økter gjennom iptables. Bruk følgende kommando for å oppnå denne oppgaven:
iptables -A INPUT -m conntrack --ctstate etablert, relatert -J aksept
Deretter må du blokkere alle innkommende tilkoblinger til port 22 SSH.
iptables -A INPUT -p tcp --port 22 -j REJECT
La oss nå lagre brannmurreglene via følgende kommandoer:
netfilter-vedvarende lagre netfilter-vedvarende reload
Du kan gå videre og sjekke om du faktisk har blokkert port 22 ved å koble til serveren din via datamaskinen.
ssh min-server-ip
Konfigurer Knockd
Nå er det på tide å konfigurere standardinnstillinger for knockd. Den er plassert på "/etc/knockd.conf." For å gjøre det, bytt til knockd konfigurasjonsfilen ved hjelp av følgende kommando:
cd / etc sudo leafpad knockd.conf
Til illustrasjonsformål bruker jeg leafpad editoren. På serveren kan du bruke nano eller Vi.
Skjermbildet viser klokkeslettkonfigurasjonsfilen.
- Alternativer : Du kan finne konfigurasjonsalternativer for Knockd i dette feltet. Som du ser på skjermbildet over, bruker det syslog for logging.
- OpenSSH : Dette feltet består av sekvens, sekvens timeout, kommando og tcp flagg.
- Sekvens : Den viser portsekvensen som kan brukes som et mønster av klienten for å starte en handling.
- Sequence Timeout : Den viser total tid tildelt til klienter for å fullføre den nødvendige portknappen.
- Kommando : Dette er kommandoen som vil bli utført når klokkesekvensen av klienten samsvarer med mønsteret i sekvensfeltet.
- TCP_FLAGS : Dette er flagget som må settes på knockene utstedt av klienten. Hvis flagget var feil, men knock-mønsteret er korrekt, vil ikke handlingen utløses.
Merk : Kommandoen iptables i OpenSSH-delen i Knockd-konfigurasjonsfilen bruker -A
alternativet for å legge til denne regelen til slutten av INPUT-kjeden. Dette fører til at alle de resterende forbindelsene faller.
For å forhindre det, erstatt det med følgende:
kommando = / sbin / iptables -I INPUT 1 -s% IP% -p tcp --port 22 -j ACCEPT
Denne kommandoen sikrer at en ny regel legges til toppen av INPUT-kjeden for å godta ssh-tilkoblinger.
Aktiver og start Knockd Service
Bruk følgende fremgangsmåte for å aktivere knockdjenesten i "/ etc / default / knock."
Endre verdien fra 0 til 1 som vist på skjermbildet.
START_KNOCKD = 1
Etterpå lagre og lukk filen "/ etc / default / knockd."
Deretter kan du starte knockdjenesten ved å bruke en av følgende kommandoer:
sudo service knockd start
eller
sudo systemctl start knockd
Tid til å banke-teste Linux-serveren
Nå er det på tide å teste Linux SSH-serveren din. Hvis du vil åpne port 22 på en spesifisert IP-adresse, bruker du følgende på datamaskinen. (Du må også installere knockd
på datamaskinen din også)
knock -v min server-ip 7000 8000 9000
Du må erstatte "my-server-ip" med serverens IP-adresse.
Du kan nå koble til port 22 SSH ved å bruke følgende kommando:
ssh min-server-ip
Etter at du er ferdig med hva du ønsket å gjøre via port 22, kan du lukke den ved hjelp av følgende kommando:
knock -v min server-ip 9000 8000 7000
Konklusjon
Med knock, er du trygg på at SSH-serveren din er sikret og sikker fra angripere med sofistikerte skannere. I tillegg er du helt ansvarlig for SSH-serveren din.