Sådan sikrer du SSH yderligere med en port-bankende sekvens på Ubuntu 18.04

Introduktion

Udover at ændre standardporten for SSH og bruge et nøglepar til godkendelse, kan portbankning bruges til yderligere at sikre (eller mere præcist, skjule) din SSH-server. Det virker ved at nægte forbindelser til din SSH-netværksport. Dette skjuler i det væsentlige det faktum, at du kører en SSH-server, indtil der foretages en række forbindelsesforsøg til foruddefinerede porte. Meget sikker og enkel at implementere, portbankning er en af ​​de bedste måder at beskytte din server mod ondsindede SSH-forbindelsesforsøg.

Forudsætninger

  • En Vultr-server, der kører Ubuntu 18.04.
  • Sudo adgang.

Inden du følger nedenstående trin, hvis du ikke er logget på som root-bruger, skal du anskaffe en midlertidig root shell ved at køre sudo -iog indtaste din adgangskode. Alternativt kan du gå foran sudokommandoerne vist i denne artikel.

Trin 1: Knockd installation

Knockd er pakken, der bruges i kombination med iptables til at implementere port banke på din server. iptables-persistentPakken ' ' er også påkrævet.

apt update
apt install -y knockd iptables-persistent

Trin 2: iptables regler

Kør følgende kommandoer i rækkefølge:

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j DROP
iptables-save > /etc/iptables/rules.v4

Disse kommandoer vil gøre henholdsvis følgende:

  • Instruer iptables til at holde eksisterende forbindelser i live.
  • Instruer iptables til at afbryde enhver forbindelse til port tcp/22 (hvis din SSH-dæmon lytter på en anden port end 22, skal du ændre ovenstående kommando i overensstemmelse hermed.)
  • Gem disse to regler, så de bevarer efter en genstart.

Trin 3: Knockd-konfiguration

Brug en teksteditor efter eget valg, åbn filen /etc/knockd.conf.

Du vil se følgende:

[openSSH]
sequence    = 7000,8000,9000
seq_timeout = 5
command     = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags    = syn

Du bør ændre rækkefølgen af ​​porte (vælg portnumre ovenfor 1024og ubrugte af andre tjenester), og gemme det sikkert. Denne kombination skal behandles som en adgangskode. Hvis du glemmer det, mister du adgangen til SSH. Vi vil omtale denne nye sekvens som x,y,z.

den seq-timeoutlinje er det antal sekunder Knockd vil vente for klienten at fuldføre port-banke sekvens. Det ville være en god ide at ændre dette til noget større, især hvis port-bankningen skal udføres manuelt. En mindre timeoutværdi er dog sikrere. Det 15anbefales at ændre det til , da vi banker på manuelt i denne tutorial.

Skift åbningssekvensen til dine valgte porte:

[openSSH]
sequence    = x,y,z

Skift kommandoværdien til følgende:

command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

Skift nu afslutningssekvensen i overensstemmelse hermed:

[closeSSH]
sequence    = z,y,x

Gem dine ændringer og afslut, og åbn filen /etc/default/knockd:

  • Udskift START_KNOCKD=0med START_KNOCKD=1.
  • Tilføj følgende linje til slutningen af ​​filen: KNOCKD_OPTS="-i ens3"(erstat ens3med navnet på din offentlige netværksgrænseflade, hvis den afviger.)
  • Gem og luk.

Start nu Knockd:

systemctl start knockd

Hvis du nu afbryder forbindelsen til din server, bliver du nødt til at banke på porte x, y, og for zat oprette forbindelse igen.

Trin 4: Test

Du vil nu ikke være i stand til at oprette forbindelse til din SSH-server.

Du kan teste portbankning med en telnet-klient.

Windows-brugere kan starte telnet fra kommandoprompten. Hvis telnet ikke er installeret, skal du gå til afsnittet "Programmer" i Kontrolpanel og derefter finde "Slå Windows-funktioner til eller fra". Find "Telnet Client" på funktionspanelet og aktiver den.

Indtast følgende i din terminal/kommandoprompt:

telnet youripaddress x
telnet youripaddress y
telnet youripaddress z

Gør alt dette på femten sekunder, da det er grænsen pålagt i konfigurationen. Prøv nu at oprette forbindelse til din server via SSH. Det vil være tilgængeligt.

For at lukke adgangen til SSH-serveren skal du køre kommandoerne i omvendt rækkefølge.

telnet youripaddress z
telnet youripaddress y
telnet youripaddress z

Konklusion

Det bedste ved at bruge portbanke er, at hvis det er konfigureret sammen med privat nøglegodkendelse, er der praktisk talt ingen chance for, at en anden kunne komme ind, medmindre nogen kendte din portbankningssekvens og havde din private nøgle.

Efterlad en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere