Hoe een SSH-server te beschermen tegen een brute-force-aanval met behulp van fail2ban. Directe verbinding via root

Om onze server te beschermen tegen brute kracht van wachtwoorden, kunt u de sshguard- of sshit-hulpprogramma's gebruiken.

Werk principes.

sshguard en sshit werken volgens hetzelfde principe. Ze analyseren systeemberichten over onjuiste authenticatie en voeren, als een bepaalde waarde wordt bereikt, het aanvallende IP-adres in de blokkerende firewallregel in. Na een bepaalde tijd wordt ip uit de regel verwijderd.
Dienovereenkomstig is een geconfigureerde firewall vereist voor gebruik.

SSHGuard

sshguard kan werken met

  • AIX-native firewall- voor IBM AIX-besturingssystemen
  • netfilter/iptables- voor op Linux gebaseerde besturingssystemen
  • Pakketfilter (PF)- voor BSD-besturingssystemen (Open, Free, Net, DragonFly-BSD)
  • IPFirewall (IPFW)- voor FreeBSD en Mac OS X
  • IP-filter (IPFILTER)- voor FreeBSD, NetBSD en Solaris
  • tcpd"s hosts_access (/etc/hosts.allow)- draagbaar over UNIX
  • nul- draagbare niets-doen-backend voor het toepassen van detectie maar niet voor preventie

Ik gebruik PF, dus in de notitie staan ​​voorbeelden van PF.

Sshguard installeren.

GratisBSD:

Installeren vanaf poorten

Cd /usr/ports/security/sshguard-pf/&& make install clean

Als je om de een of andere reden geen poorten gebruikt, download dan de nieuwste versie van de sshguard-website en bouw handmatig

./configure --with-firewall=pf && make && make install

Debian:

apt-get install sshguard

Het besturingssysteem instellen zodat sshguard werkt.

Maak een bestand voor het opslaan van logs

# raak /var/log/sshguard . aan

Debian (piep):

Bewerk de volgende regel in //etc/default/sshguard

#mcedit /etc/default/sshguard #ARGS="-a 40 -p 420 -s 1200" ARGS="-a 5 -p 420 -s 2400 -b 5:/etc/sshguard/blacklist"

en herstart sshguard
service sshguard opnieuw opstarten

GratisBSD:

We moeten twee regels toevoegen aan de PF-configuratie

Tafel volharden

we declareren een tabel waarin sshguard het ip van de robots invoert.

Blokkeer snel op $if0 proto tcp van

Eigenlijk de blokkeerregel zelf, deze moet helemaal bovenaan het regelblok van het PF-configuratiebestand worden gemarkeerd. $if0-interface waarop verbindingen worden geblokkeerd, om op alle interfaces te blokkeren, vervang deze door een.
Herlees het configuratiebestand

auth.info;authpriv.info |exec/usr/local/sbin/sshguard

en herstart syslog

#/etc/rc.d/syslogd herstart

In feite zal sshguard na deze manipulaties aanvallen met standaardparameters blokkeren.
Wanneer aangevallen in /var/log/auth.log we zullen het volgende zien:

Jun1611:01:40 www sshd:Ongeldige gebruikerstest van61.172.251.183Jun1612:29:48 www sshd:Ongeldige gebruikerstest van85.114.130.168Jun1612:29:49 www sshd:Ongeldige gebruikerstest van85.114.130.168Jun1612:29:50 www sshd:Ongeldige gebruikerstest van85.114.130.168Jun1612:29:50

Sshguard-opties instellen

sshguard heeft een aantal opties die we kunnen negeren
-een het aantal mislukte authenticatiepogingen waarna het ip wordt geblokkeerd. De standaardwaarde is 4.
-P na hoeveel seconden wordt ip gedeblokkeerd. De standaardwaarde is 420.
-s hoeveel seconden onthoudt sshguard ip. De standaard is 1200. Om het duidelijker te maken, als er één aanval per 30 minuten is met ip, dan wordt deze nooit verbannen met de standaardinstelling.
-w wit IP-adres, netwerken of pad naar een wit adresbestand. Het bestandsformaat is één regel - één invoer, # definieert opmerkingen.
-B bepaalt na hoeveel ip-blokken er aan de zwarte lijst worden toegevoegd en het pad ernaartoe. De zwarte lijst wordt geladen wanneer sshguard start en wordt niet automatisch gewist.

sshguard heeft geen configuratiebestand parameters worden ingesteld wanneer sshguard start. In ons geval start sshguard syslog, dus we zullen syslog.conf bewerken zodat sshguard ip blokkeert na 3 mislukte authenticatiepogingen gedurende 30 minuten, en na 5 blokken het op de zwarte lijst zet.

Auth.info;authpriv.info |exec/usr/local/sbin/sshguard -a 3-p 1500-b 5:/usr/local/etc/sshguard.blacklist

de eerste keer wordt 420 seconden geblokkeerd en na 7 minuten verwijderd
de tweede keer op 2*420 jaar wordt na 14 minuten verwijderd
de derde keer op 2*2*420 en wordt na 28 minuten verwijderd enzovoort...
2^(N-1)*420 Nde keer.

Shit

Sshit is een perl-script, dus het is noodzakelijk dat het systeem perl heeft, evenals 2 modules

  • IPC::Deelbaar
  • Proc::PID::Bestand

Sshit kan alleen werken met pf en ipfw.

Shit installeren

cd /usr/ports/security/sshit/&& make install clean

shit configuratie.

Sshit heeft een configuratiebestand /usr/local/etc/sshit.conf waar je de standaardwaarden kunt overschrijven.

FIREWALL_TYPE="pf"; # Welke firewall gebruiken we MAX_COUNT =3; # Aantal mislukte authenticatiepogingen waarna ip wordt geblokkeerd WITHIN_TIME =60; # Binnen hoeveel seconden het gespecificeerde aantal mislukte authenticaties moet plaatsvinden RESET_IP =300; # Na hoeveel seconden wordt ip gedeblokkeerd. PFCTL_CMD="/sbin/pfctl"; PF_TABLE ="badhosts"#tabelnaam waar slechte ips worden ingevoerd

Het besturingssysteem instellen zodat sshit werkt.

Naar analogie met het instellen onder sshguard, bewerken we het PF-configuratiebestand

Tafel persistent block in snel op $if0 proto tcp van naar $if0 poort ssh label "ssh brute"

het configuratiebestand opnieuw lezen

#pfctl -f /etc/pf.conf

syslog.conf . bewerken

auth.info;authpriv.info |exec/usr/local/sbin/sshit

en herstart syslog

SSH is een beveiligd protocol voor de overdracht van gegevens (opdrachten, bestanden, video, enz.) tussen computers.

Standaard is het ingeschakeld op VPS en dedicated servers van de meeste hostingproviders, omdat je hiermee gemakkelijk en veilig een externe machine kunt beheren. Op de Well-Web-service kun je overigens voordelig een VPS-server huren. Aangezien SSH op alle VPS is ingeschakeld, is een goede SSH-beveiliging noodzakelijk om problemen bij het gebruik van Secure Shell te voorkomen.

Root-toegang uitschakelen

Allereerst wordt aanbevolen om de mogelijkheid om op afstand verbinding te maken met de machine onder het superuser (root) account uit te schakelen. Om dit te doen, moet je het bestand sshd_config vinden, dat zich meestal (maar niet altijd) in de map /etc/ssh/ bevindt, en het openen.

U moet het PermitRootLogin-item erin vinden en de waarde vervangen door "nee", dat wil zeggen, u zou het volgende item moeten krijgen:

PermitRootLogin nr

Dit zal het hacken natuurlijk niet voorkomen, maar het zal het wel wat moeilijker maken.

Om de kans op hacken te minimaliseren, wordt aanbevolen om autorisatie te gebruiken met behulp van sleutels in plaats van login en wachtwoordautorisatie. Dit kan op verschillende manieren. Dit is overigens ook een goede SSH-bescherming tegen brute force.

De standaardpoort wijzigen

Aangezien het hacken van een server via SSH meestal gebeurt door middel van brute force (brute force) van een wachtwoord, zou het rationeel zijn om de standaard 22e poort naar een andere poort te veranderen. Het is heel gemakkelijk om dit te doen. Allereerst moet je het reeds genoemde sshd_config-bestand openen en daar één regel toevoegen:

Poort poortnummer

De invoer ziet er bijvoorbeeld als volgt uit:

Poort 3048

Dit zal het aantal mensen dat ongeautoriseerde toegang tot de server wil verkrijgen aanzienlijk verminderen. Voordat u het poortnummer wijzigt, moet u ervoor zorgen dat dit de werking van andere toepassingen niet schaadt. U moet ook de poort selecteren die nog niet in gebruik is, zodat programma's hierdoor niet conflicteren.

Toegangsbeperking door IP

Een andere manier om te beschermen, waardoor de kans op een ongeautoriseerde verbinding tot bijna nul wordt teruggebracht, is door autorisatiebeperkingen in te stellen. SSH kan zo worden geconfigureerd dat alleen externe machines met bepaalde IP-adressen op de server kunnen inloggen. Om dit te doen, voegt u in het sshd_config-bestand in de regel AllowUser @IP_number toe aan de naam van elke gebruiker. De invoer kan er als volgt uitzien:

Gebruikers toestaan [e-mail beveiligd], [e-mail beveiligd]

Voordat u deze methode gebruikt, wordt aanbevolen om ervoor te zorgen dat er geen situaties zijn waarin u mogelijk toegang tot de server moet krijgen vanaf een machine waarvan het IP-adres niet door de configuratie wordt verstrekt.

Veilig wachtwoord

En natuurlijk moet u een wachtwoord gebruiken dat bestand is tegen brute kracht. Lang en met zoveel mogelijk verschillende symbolen, bij voorkeur met krakozyabry. Dit is een must-have.

Een veelvoorkomende aanval op een SSH-service is een brute-force-aanval, waarbij een aanvaller op afstand eindeloos probeert in te loggen met verschillende wachtwoorden. Natuurlijk zijn er argumenten tegen wachtwoordauthenticatie voor SSH, en zijn er alternatieve authenticatiemechanismen, bestaande opties zoals public key authenticatie of tweefactorauthenticatie zullen een brute force-aanval tenietdoen. Laten we, zonder in discussie te gaan over de voor- en nadelen van verschillende authenticatiemethoden, eens kijken naar een situatie waarin wachtwoordauthenticatie noodzakelijk is. Hoe bescherm je je SSH-server tegen brute force-aanvallen?

fail2ban is een bekend open source inbraakpreventieraamwerk voor Linux dat verschillende systeemlogbestanden (bijv. /var/log/auth.log of /var/log/secure) bewaakt en automatisch verschillende verdedigingen tegen gedetecteerde verdachte activiteiten afdwingt. Fail2ban kan zelfs erg handig zijn bij het beschermen tegen brute-force-aanvallen op een SSH-server.

In deze tutorial zal ik demonstreren: hoe te installeren en configureren fail2ban om de SSH-server te beschermen tegen brute force-aanvallen van externe IP-adressen.

Fail2ban installeren op Linux

Om fail2ban op CentOS of RHEL te installeren, installeert u eerst de EPEL-repository en voert u vervolgens de volgende opdracht uit.

Om fail2ban op Fedora te installeren, voer je gewoon uit:

$ sudo yum install fail2ban

Om fail2ban op Ubuntu, Debian of Linux Mint te installeren:

$ sudo apt-get install fail2ban

Fail2ban configureren voor SSH-server

U bent nu klaar om fail2ban te configureren om uw SSH-server te versterken. U moet het configuratiebestand bewerken in /etc/fail2ban/jail.conf. Het configuratiebestand bevat een "DEFAULT"-sectie waarin u standaardinstellingen definieert voor alle services die worden gecontroleerd, en een servicespecifieke sectie waarin u servicespecifieke jails definieert (bijv. SSH, Apache, enz.) om de standaardinstellingen te overschrijven.

In het service-specifieke jails-gedeelte (ergens na het gedeelte), moet u een sectie instellen waar u specifieke instellingen voor SSH-jails instelt. Het huidige verbod op IP-adressen wordt gedaan door iptables.

Het volgende voorbeeld staat in /etc/fail2ban/jail.conf dat de jail-instelling "ssh-iptables" bevat. Natuurlijk kunnen er andere jails zijn voor verschillende toepassingen, afhankelijk van uw behoeften.

$ sudo vi /etc/fail2ban/jail.local # door spaties gescheiden lijst van IP-adressen, CIDR-prefixen of DNS-hostnamen # om beveiliging te omzeilen fail2ban negeerip = 127.0.0.1 172.31.0.0/24 10.10.0.0/24 192.168.0.0/24 # aantal seconden dat een client is geblokkeerd bantime = 86400 # aantal mislukte pogingen waarna een blokkering optreedt maxretry = 5 # aantal seconden waarin mislukte pogingen cumulatief worden geregistreerd findtime = 600 mta = sendmail ingeschakeld = true filter = sshd action = iptables sendmail -whois # voor op Debian gebaseerde distributies logpath = /var/log/auth.log # voor op Red Hat gebaseerde distributies logpath = /var/log/secure # ssh-specifieke maximale drempel voor nieuwe pogingen maxretry = 3

Met de bovenstaande configuratie verbiedt fail2ban automatisch alle externe IP-adressen die in de afgelopen 10 minuten ten minste 3 mislukte pogingen hebben gehad. Eenmaal verbannen, blijft het aanstootgevende IP 24 uur verbannen. De aankondiging van dit evenement wordt per post verzonden.

Nadat het configuratiebestand gereed is, start u de fail2ban-service opnieuw zoals hieronder wordt weergegeven.

Op Debian, Ubuntu of CentOS/RHEL 6:

$ sudo-service fail2ban opnieuw opstarten

Op Fedora of CentOS/RHEL 7:

$ sudo systemctl herstart fail2ban

Om te controleren of fail2ban succesvol is gestart, voert u de opdracht fail2ban-client uit met het argument "ping". Als de fail2ban-service normaal werkt, zou u een "pong"-antwoord moeten zien.

$ sudo fail2ban-client ping Server antwoordde: pong

Bescherming testen met Fail2ban op SSH tegen een brute-force aanval

Om te testen of fail2ban werkt, probeert u in te loggen op de SSH-server met het verkeerde wachtwoord om een ​​brute-force-aanval te simuleren. Controleer in de tussentijd /var/log/fail2ban.log dat alle interessante gebeurtenissen registreert die plaatsvinden in fail2ban.

$ sudo staart -f /var/log/fail2ban.log

Volgens het bovenstaande logboek verbood fail2ban het IP-adres 192.168.1.8 omdat het meerdere fouten vond bij het SSH naar dit IP-adres.

De Fail2ban-status controleren en geblokkeerde IP-adressen deblokkeren

De "ssh-iptables"-gevangenis in fail2ban gebruikt iptables om IP-adressen van overtreders te blokkeren. U kunt het verbod eenvoudig controleren door naar de huidige iptables-regels te kijken, zoals hieronder weergegeven.

$ sudo iptables --list -n Chain INPUT (beleid ACCEPT) doel prot opt ​​bronbestemming fail2ban-SSH tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 Chain FORWARD (beleid ACCEPT) doel prot opt bronbestemming Chain OUTPUT (beleid ACCEPT) doel prot opt ​​bronbestemming

Als u IP-adressen van fail2ban wilt deblokkeren, kunt u ook de opdracht iptables uitvoeren:

$ sudo iptables -D fail2ban-SSH -s 192.168.1.8 -j DROP

Hoewel u de IP-blokkeringslijst van fail2ban handmatig kunt controleren en beheren met behulp van iptables-opdrachten, zoals weergegeven, is de juiste manier om de opdrachtregeltool ail2ban-client te gebruiken. Met deze tool kun je niet alleen de "ssh-iptables" jail beheren, maar ook elk ander type fail2ban jails in een uniforme opdrachtregelinterface.

Om de fail2ban-status te controleren (die een lijst met momenteel actieve jails toont):

$ sudo fail2ban-clientstatus

Om de status van een bepaalde jail te controleren (bijv. ssh-iptables):

$ sudo fail2ban-clientstatus ssh-iptables

De bovenstaande opdracht toont een lijst met verboden IP-adressen.

Om een ​​specifiek IP-adres te deblokkeren:

$ sudo fail2ban-client set ssh-iptables unbanip 192.168.1.8

Houd er rekening mee dat als u fail2ban stopt, alle verbannen IP-adressen worden opgeheven. Wanneer je fail2ban herstart, zal het de lijst met overtredende IP-adressen vinden in /var/log/secure (of /var/log/auth.log) en die IP-adressen opnieuw blokkeren als de ban niet is verlopen.

Fail2ban instellen om automatisch te laden en in te schakelen

Nadat u fail2ban met succes hebt getest, is de laatste stap om fail2ban in te schakelen automatisch starten wanneer de server wordt ingeschakeld. Op op Debian gebaseerde distributies is fail2ban autostart standaard ingeschakeld. Schakel op Red Hat-gebaseerde distributies autostart op de volgende manier in.

Op CentOS/RHEL 6:

$ sudo chkconfig fail2ban aan

Op Fedora of CentOS/RHEL 7:

$ sudo systemctl fail2ban inschakelen

Resultaat

In deze tutorial heb ik laten zien hoe je fail2ban installeert en configureert om een ​​SSH-server te beveiligen. Hoewel fail2ban een brute-force-aanval kan afzwakken, moet u er rekening mee houden dat het SSH-servers niet kan beschermen tegen complexe (gedistribueerde) brute force-campagnes waarbij aanvallers fail2ban omzeilen met behulp van duizenden bot-gecontroleerde IP-adressen.

OpenSSH stelt u in staat om op afstand verbinding te maken met de server, bestanden te manipuleren en het systeem te beheren. Vandaag willen we het hebben over de beste methoden die de beveiliging van een op OpenSSH gebaseerd systeem zullen vergroten.

Configuratiebestanden

  • /etc/ssh/sshd_config- OpenSSH-serverconfiguratiebestand;
  • /etc/ssh/ssh_config- OpenSSH-clientconfiguratiebestand;
  • ~/.ssh/- directory waar gebruikers-SSH-instellingen worden opgeslagen;
  • ~/.ssh/authorized_keys of ~/.ssh/authorized_keys- een lijst met sleutels (RSA of DSA) die worden gebruikt om verbinding te maken met gebruikersaccounts;
  • /etc/nologin- als dit bestand in het systeem bestaat, zal sshd alle gebruikers, behalve root, verbieden om verbinding te maken met het systeem;
  • /etc/hosts.allow en /etc/hosts.deny- verbodssysteem (onderdeel van beveiliging). Werkt vergelijkbaar met ACL;
  • Standaard SSH-poort - 22

Niet nodig - uitschakelen

Als uw server geen externe verbinding via SSH vereist, moet u deze uitschakelen. Op systemen zoals CentOS/RHEL gaat dit als volgt:

chkconfig sshd off yum wissen openssh-server

Gebruik SSH versie 2

Het SSH-protocol van de eerste versie heeft beveiligingsproblemen die in de tweede versie zijn gesloten. Gebruik daarom de tweede versie. Zorg ervoor dat het bestand /etc/ssh/sshd_config is ingesteld op Protocol 2 .

SSH-toegang beperken

Standaard hebben alle systeemgebruikers de mogelijkheid om via SSH verbinding te maken met het systeem. We raden aan om SSH-toegang te beperken om veiligheidsredenen. Sta bijvoorbeeld SSH toe voor root-, merion- en netwerkgebruikers:

AllowUsers root-merion-netwerken

Aan de andere kant kunt u alle gebruikers toegang verlenen, behalve de opgegeven gebruikers:

DenyUsers root-merion-netwerken

Tijd van inactiviteit

Het is belangrijk om de tijd aan te geven gedurende welke een inactieve sessie zal worden beëindigd (voltooid). Dit kan met de volgende opties:

ClientAliveInterval 300 ClientAliveCountMax 0

In deze instelling hebben we een inactieve tijd van 300 seconden (5 minuten) gespecificeerd.

Over .rhosts-bestanden

Het feit is dat dit bestand een lijst met hosts en gebruikers bevat. Als dit bestand een combinatie van een host en een gebruiker bevat, kan deze gebruiker zonder wachtwoord verbinding maken met het systeem via SSH. We raden aan deze "prachtige" functie uit te schakelen:

Negeer Rhosts ja

Geen hostgebaseerde authenticatie!

zogenaamd Hostgebaseerde authenticatie stelt een gebruiker van een specifieke host in staat om verbinding te maken met de server. Uitzetten:

Host-basedAuthenticatie nr

Directe verbinding via root

PermitRootLogin nr

Maak een banner

Maak voor elke persoon die verbinding maakt een banner waarin je indringers kunt bedreigen die ongeautoriseerde toegang proberen te krijgen. De parameter Banner is verantwoordelijk voor het opzetten van de banner.

22 poort alleen van binnenuit!

Maak alleen toegang tot systeempoort 22 via de firewallregelketen. Het beste van alles is dat u de toegang alleen verlaat vanuit het LAN. Bijvoorbeeld, in iptables je kunt toegang geven tot 192.168.11.0/24:

A RH-Firewall-1-INPUT -s 192.168.11.0/24 -m status --state NIEUW -p tcp --dport 22 -j ACCEPTEREN

Waar te luisteren?

Standaard luistert SSH naar verbindingen op alle beschikbare interfaces. We raden u aan de standaardpoort te wijzigen en het IP-adres op te geven waar u op een verbinding moet wachten. We zullen bijvoorbeeld poort 962 en IP-adres 192.168.11.24 specificeren

Poort 962 Luisteradres 192.168.11.24

Sterke wachtwoorden

Gebruik sterke wachtwoorden. Er zijn veel tools op het netwerk die gratis en zonder sms online een crypto-bestendig wachtwoord genereren :)

Lege wachtwoorden uitschakelen

Er zijn gebruikers zonder wachtwoord. Hun toegang tot SSH moet ook worden geweigerd met de optie:

Poort 962 PermitEmptyPasswords nee

Logboeken analyseren

Stel gebeurtenisregistratie in op INFO- of DEBUG-modus - dit geeft u uitgebreide controle over het systeem:

LogNiveau INFO

Was dit artikel nuttig voor u?

Vertel me alsjeblieft waarom?

Het spijt ons dat het artikel niet nuttig voor je was: (Als het het niet moeilijk maakt, geef dan aan waarom? We zullen je zeer dankbaar zijn voor een gedetailleerd antwoord. Bedankt dat je ons helpt om beter te worden!

In dit artikel zullen we kijken naar de basismethode om SSH te beschermen tegen: massa- brute kracht aanvallen. Een massale bruteforce-aanval betekent in dit geval niet het gericht raden van wachtwoorden, specifiek voor uw SSH, maar een uitgebreide capture van een reeks servers, voor de daaropvolgende identificatie van login-wachtwoordparen die onstabiel zijn voor het selecteren van een wachtwoord.

De belangrijkste kenmerken van een SSH-bulte force-aanval zijn het uitgebreid scannen van IP-bereiken op open poort 22 en het gebruik van veelgebruikte gebruikersnaam en wachtwoord (bijvoorbeeld root:passwd123, admin:server123, enz.).

Om statistieken van de logbestanden van mislukte SSH-autorisatiepogingen op uw server te bekijken, voert u de volgende opdracht in:

Cat /var/log/secure* | grep "Wachtwoord mislukt" | grep sshd | awk "(druk $1,$2)" | sorteer -k 1,1M -k 2n | uniq -c

Deze screenshot biedt statistieken over het aantal mislukte autorisaties per dag. Als u vergelijkbare gegevens steelt, moet u stappen ondernemen om uw SSH te beschermen tegen massale bruteforce.

1. Als je niet gebruiken veelgebruikte gebruikersnamen voor autorisatie, zoals root, admin, administrator, gebruiker, etc. en gebruik je een complex wachtwoord voor autorisatie, dan kun je direct doorgaan naar de tweede stap. Voer de volgende opdracht in om het wachtwoord te wijzigen in een complexer wachtwoord:

Wachtwoord #uw_login#

waar #uw login#- Je gebruikersnaam.
Bij het invoeren van een nieuw wachtwoord wordt het wachtwoord niet weergegeven, de cursor staat op één plaats.

Laten we via SSH naar de server gaan, een nieuwe gebruiker aanmaken en een wachtwoord voor hem instellen, hiervoor zullen we de commando's invoeren:

adduser #newuser# passwd #newuser#

waar #nieuwe gebruiker#- Uw nieuwe gebruikersnaam, gebruik geen veelgebruikte gebruikersnamen, geen slechte optie uw_nickadmin(bijv. foxadmin, useralex, rootidler).

2. Daarna doorlopen we SSH met een nieuwe login en wachtwoord. En open de SSH-daemonconfiguratie (sshd_config) met het commando:

Vi /etc/ssh/sshd_config

Dan zou je zoiets als dit moeten zien:

Regels die beginnen met # zijn becommentarieerd.

Naar bescherm SSH tegen bulk bruteforce, verwijder commentaar en wijzig of voeg de volgende opties toe het dossier:
een) haven- de poort waarop SSHD accepteert en onderhoudt verbindingen. Uncomment (verwijderen voor het begin van de regel) # ) en verander de standaardwaarde 22 , naar elke andere van 1024 tot 65536, behalve voor gereserveerde - een lijst met gereserveerde poorten, bijvoorbeeld:

Poort 2022

Verwijderen # en verander de waarde poort 22, druk eerst op het toetsenbord I, druk na het bewerken van de gewenste regel op de toets ESC

B) InloggenGraceTime— wachttijd voor gebruikersregistratie in het systeem. Als de gebruiker geen tijd had om in te loggen op het systeem gedurende de tijd die door deze richtlijn is toegewezen, wordt de sessie beëindigd. Laten we deze waarde verlagen:

InloggenGraceTijd 1m

C) PermitRootLogin- gebruiker toestaan wortel inloggen via het SSH-protocol. Veranderen naar Nee.

PermitRootLogin nr

D) Gebruikers toestaan— gebruikersnamen toegestaan ​​om in te loggen via het SSH-protocol, gescheiden door een spatie. Hier geven we, in plaats van #your_login#, de nieuw aangemaakte gebruikersnaam aan.

Sta gebruikers toe #your_login#

e) MaxAuthTries- Het aantal inlogpogingen per sessie. Wanneer het maximaal toegestane aantal pogingen is bereikt, wordt de sessie beëindigd.

MaxAuth probeert 2

Als resultaat krijgen we:

Poort 2022 LoginGraceTime 1m PermitRootLogin no AllowUsers #your_login# MaxAuthTries 2

In dit artikel zullen we de installatie voltooien SSH beschermen tegen massa brute kracht. Na het bewerken , druk op op het toetsenbord : , er verschijnt een regel hieronder en voer deze in wq en druk op de toets Binnenkomen. In dit geval worden alle aangebrachte wijzigingen opgeslagen.

Als je iets verkeerd hebt gedaan (bijvoorbeeld per ongeluk iets verwijderd), om af te sluiten zonder op te slaan gebruik in plaats van sneltoets wq, sleutels Q!

Na het voltooien van de SSH-configuratie, herstart de daemon met het commando:

service sshd opnieuw opstarten

Gebruik nu de nieuwe poort wanneer u verbinding maakt via het SSH-protocol 2022 (of degene die je hebt opgegeven in de instellingen) in plaats van standaard poort 22.

In het volgende artikel over het instellen van SSH wil ik u vertellen dat we wachtwoordautorisatie zullen verbieden en autorisatie alleen toestaan ​​met behulp van een persoonlijke SSH-sleutel, waardoor we onszelf zoveel mogelijk beschermen tegen het raden van wachtwoorden.

In contact met