Sådan gør du din server usynlig med Knockd
Når du har en server, der er offentligt tilgængelig, kan hackere nemt scanne din IP-adresse og kontrollere, om åbne porte (især port 22, der bruges til SSH) på din server. En måde at skjule din server mod hackere er knocked. Knockd er a er en port-knock server. Det lytter til al trafik på ethernet eller andre tilgængelige grænseflader, og venter på særlige sekvenser af port-hits. Klienter som telnet eller Putty initierer port-hits ved at sende en TCP eller pakke til en port på serveren.
I denne artikel vil vi se på, hvordan vi kan bruge knockd til at skjule tjenester, der kører på en Linux-server.
Installer Knockd på en Linux Server
Knockd er tilgængelig i de fleste distro's repositorier. På en Debian / Ubuntu / Ubuntu-baseret server kan du bruge kommandoen apt-get
til at installere knockd.
sudo apt-get install knockd
For Fedora, CentOS eller REHL brugere kan du bruge yum
kommandoen:
Du kan installere knockd
Installer og konfigurer Iptables
Hvis du ikke har Iptables installeret på din server, skal du installere det nu.
sudo apt-get installer iptables iptables-vedholdende
Pakken iptables-persistent
overtager automatisk indlæsning af gemte iptables.
Derefter skal du tillade allerede etablerede forbindelser såvel som aktuelle sessioner gennem iptables. Brug følgende kommando for at opnå denne opgave:
iptables -A INPUT -m conntrack --ctstate OPSTILLET, RELATERET -J ACCEPT
Derefter skal du blokere alle indgående forbindelser til port 22 SSH.
iptables -A INPUT -p tcp --port 22 -j REJECT
Lad os nu gemme firewallreglerne ved hjælp af følgende kommandoer:
netfilter-vedholdende gemme netfilter-vedvarende genindlæsning
Du kan gå videre og kontrollere, om du faktisk har blokeret port 22 ved at oprette forbindelse til din server via din computer.
ssh my-server-ip
Konfigurer Knockd
Nu er det tid til at konfigurere knockd standardindstillinger. Den er placeret på "/etc/knockd.conf." For at gøre det skal du skifte til knockd konfigurationsfilen ved hjælp af følgende kommando:
cd / etc sudo leafpad knockd.conf
Til illustration formål bruger jeg leafpad editoren. På din server kan du bruge nano eller Vi.
Skærmbilledet viser klok konfigurationsfilen.
- Valg : Du kan finde konfigurationsindstillinger for Knockd i dette felt. Som du kan se i skærmbilledet ovenfor, bruger det syslog til logning.
- OpenSSH : Dette felt består af sekvens, sekvens timeout, kommando og tcp flag.
- Sekvens : Den viser havnesekvensen, som kan bruges som et mønster af klienten til at indlede en handling.
- Sequence Timeout : Den viser den samlede tid, der er allokeret til klienterne for at fuldføre den nødvendige portknock-sekvens.
- Kommando : Dette er kommandoen, der vil blive udført, når klientens klokkesekvens matcher mønsteret i sekvensfeltet.
- TCP_FLAGS : Dette er det flag, der skal indstilles på de knapper, der udstedes af klienten. Hvis flagget var forkert, men knock-mønsteret er korrekt, vil handlingen ikke blive udløst.
Bemærk : Kommandoen iptables i OpenSSH-sektionen i Knockd-konfigurationsfilen bruger -A
mulighed for at tilføje denne regel til slutningen af INPUT-kæden. Dette får alle de resterende forbindelser til at falde.
For at forhindre det skal du erstatte det med nedenstående:
kommando = / sbin / iptables -I INPUT 1 -s% IP% -p tcp --port 22 -j ACCEPT
Denne kommando sikrer, at en ny regel tilføjes øverst i INPUT-kæden for at acceptere ssh-forbindelser.
Aktivér og start Knockd Service
Brug følgende procedure for at aktivere knockd service i "/ etc / default / knock."
Skift værdi fra 0 til 1 som vist på skærmbilledet.
START_KNOCKD = 1
Herefter gemme og luk filen "/ etc / default / knockd."
Derefter kan du starte knockd service ved at bruge en af følgende kommandoer:
sudo service knockd start
eller
sudo systemctl start knockd
Tid til at banke-Test din Linux Server
Nu er det tid til at teste din Linux SSH-server. Hvis du vil åbne port 22 ved en angivet IP-adresse, skal du bruge følgende på din computer. (Du skal også installere knockd
på din computer)
knock -v min-server-ip 7000 8000 9000
Du skal udskifte "my-server-ip" med din serverens IP-adresse.
Du kan nu oprette forbindelse til port 22 SSH ved at bruge følgende kommando:
ssh my-server-ip
Når du er færdig med det, du ønskede at gøre via port 22, kan du lukke det ved hjælp af følgende kommando:
knock -v min-server-ip 9000 8000 7000
Konklusion
Med knock er du sikker på at din SSH-server er sikret og sikker fra angriberne med sofistikerede scannere. Derudover er du helt ansvarlig for din SSH-server.