Hur man gör din server osynlig med Knockd
När du har en server som är tillgänglig för allmänheten kan hackare enkelt skanna din IP-adress och kontrollera efter öppna portar (särskilt port 22 som används för SSH) på din server. Ett sätt att dölja din server från hackare är knocked. Knockd är a är en port-knock-server. Den lyssnar på all trafik på en Ethernet eller andra tillgängliga gränssnitt, och väntar på särskilda sekvenser av port-hits. Klienter som telnet eller Putty initierar port-hits genom att skicka ett TCP eller paket till en port på servern.
I den här artikeln kommer vi att titta på hur vi kan använda knockd för att dölja tjänster som körs på en Linux-server.
Installera Knockd på en Linux Server
Knockd är tillgänglig i de flesta distros repositorier. På en Debian / Ubuntu / Ubuntu-baserad server kan du använda kommandot apt-get
att installera knockd.
sudo apt-get install knockd
För Fedora, CentOS eller REHL-användare kan du använda kommandot yum
:
Du installerar knockd
Installera och konfigurera Iptables
Om du inte har Iptables installerad på din server, installera den nu.
sudo apt-get installera iptables iptables-persistent
Paketet iptables-persistent
tar över automatisk laddning av sparade iptables.
Därefter måste du tillåta redan etablerade anslutningar såväl som aktuella sessioner via iptables. Använd följande kommando för att uppnå denna uppgift:
iptables -A INPUT -m conntrack --ctstate Inrättat, RELATERAT -J ACCEPT
Därefter måste du blockera alla inkommande anslutningar till port 22 SSH.
iptables -A INPUT -p tcp --port 22 -j REJECT
Låt oss nu spara brandväggen genom följande kommandon:
netfilter-persistent spara netfilter-beständig reload
Du kan gå vidare och kontrollera om du verkligen har blockerat port 22 genom att ansluta till din server via din dator.
ssh min-server-ip
Konfigurera Knockd
Nu är det dags att konfigurera knackade standardinställningar. Den är placerad på "/etc/knockd.conf." För att göra så byt till knockd-konfigurationsfilen med följande kommando:
cd / etc sudo leafpad knockd.conf
I illustrationen använder jag leafpadredigeraren. På din server kan du använda nano eller Vi.
Skärmdumpen visar klockkonfigurationsfilen.
- Alternativ : Du kan hitta konfigurationsalternativ för Knockd i det här fältet. Som du kan se i skärmbilden ovan använder den syslog för loggning.
- OpenSSH : Det här fältet består av sekvens, sekvens timeout, kommando och tcp flaggor.
- Sekvens : Den visar portföljden som kan användas som ett mönster av kunden att initiera en åtgärd.
- Sequence Timeout : Den visar den totala tiden som allokeras till klienter för att slutföra den önskade portknappssekvensen.
- Kommando : Det här är kommandot som kommer att utföras när klientens klicksekvens matchar mönstret i sekvensfältet.
- TCP_FLAGS : Det här är flaggan som måste ställas in på knockarna som utfärdats av klienten. Om flaggan var felaktig men knockmönstret är korrekt, kommer inte åtgärden att utlösas.
Obs ! Kommandot iptables i avsnittet OpenSSH i Knockd-konfigurationsfilen använder -A
alternativet för att lägga till den här regeln till slutet av INPUT-kedjan. Detta förorsakar att alla återstående anslutningar släpps.
För att förhindra det, ersätt det med följande:
command = / sbin / iptables -I INPUT 1 -s% IP% -p tcp --port 22 -j ACCEPT
Detta kommando säkerställer att en ny regel läggs till överst i INPUT-kedjan för att acceptera ssh-anslutningar.
Aktivera och starta Knockd Service
Använd följande procedur för att aktivera knockdjänsten i "/ etc / default / knock."
Ändra värde från 0 till 1 som visas på skärmdumpen.
START_KNOCKD = 1
Därefter spara och stäng filen "/ etc / default / knockd."
Därefter kan du starta knockdjänsten genom att använda någon av följande kommandon:
sudo service knockd start
eller
sudo systemctl starta knockd
Tiden att knacka-testa din Linux-server
Nu är det dags att testa din Linux SSH-server. För att öppna port 22 vid en angiven IP-adress, använd följande på din dator. (Du måste installera knockd
på din dator också)
knock -v min-server-ip 7000 8000 9000
Du måste ersätta "my-server-ip" med din servers IP-adress.
Du kan nu ansluta till port 22 SSH genom att använda följande kommando:
ssh min-server-ip
När du är klar med vad du vill göra via port 22 kan du stänga den med följande kommando:
knacka -v min-server-ip 9000 8000 7000
Slutsats
Med knock är du säker på att din SSH-server är säker och säker från attacker med sofistikerade skannrar. Dessutom är du helt ansvarig för din SSH-server.