Sådan beskyttes SSH med fail2ban på CentOS

Indholdsfortegnelse

Servere eksisterer ikke isoleret, og de fleste installeres og tilpasses med kun den mest grundlæggende SSH -konfiguration, der kan være sårbar over for brute force -angreb.
Fail2ban -værktøjet giver en måde til automatisk at beskytte serveren mod formodede angreb og ondsindet software.
Programmet fungerer ved at scanne logfilerne og hjælper med at reagere på handlinger som gentagne mislykkede forbindelsesforsøg.
Vi starter med at installere fail2ban
Da fail2ban ikke er tilgængelig i CentOS, skal vi starte med at downloade depotet:
rpm- Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Derefter installerer vi fail2ban fra kommandolinjen med følgende kommando
yum installer fail2ban

Vi kopierer konfigurationsfilen
Standardkonfigurationsfilen fail2ban er placeringen i /etc/fail2ban/jail.conf. Konfigurationsarbejde bør dog ikke udføres på den fil, og en lokal kopi af den skal i stedet laves til sikkerhedskopiering.
cp / etc / fail2ban / jail.conf / etc / fail2ban / jail.local

Når filen er kopieret, kan vi foretage alle ændringer i den nye jail.local -fil. Mange af de mulige tjenester, der kan have brug for beskyttelse, er i denne fil allerede forudkonfigureret. Hver enkelt er i sin egen sektion, konfigureret og slukket.
Indstil som standard til Jail.Local
Åbn den nye fail2ban -konfigurationsfil:
 vi / etc / fail2ban / jail.local 

Det første afsnit med standardindstillinger dækker de grundlæggende regler, som fail2ban vil følge. Hvis du vil konfigurere mere personlig beskyttelse til din virtuelle private server, kan du tilpasse detaljerne i hver sektion.
Du kan se standardafsnittet nogle detaljer som følgende.
 [DEFAULT] # "Ignorér" kan være en IP -adresse, en CIDR -maske eller en DNS -vært. Fail2ban vil ikke # Forbyde en streng, der matcher en adresse på denne liste. Flere adresser kan #define ved rumseparator. ignorip = 127.0.0.1 # "Bantime" er antallet af sekunder, som en vært er udelukket fra at få adgang til eller udelukket. bantime = 3600 # Den tid i sekunder, hvor en vært vil blive blokeret, hvis den foretager et maksimalt antal mislykkede forespørgsler findtime = 600 # "Maxretry" er antallet af fejl, der er tilladt, før den bliver udelukket. maxretry = 3 

Indtast din IP -adresse på den ignorerede personlige linje. Du kan adskille hver adresse med et mellemrum. IgnoreIP vil hvidliste visse IP -adresser og sikre, at de ikke udelades af din VPS. Hvis du inkluderer din adresse, sikrer du, at du ikke ved et uheld udelukker dig selv fra din egen virtuelle private server.
Det næste trin er at beslutte en forbudstid, antallet af sekunder, som en vært blokeres fra serveren, hvis de overtræder nogen af ​​reglerne. Dette er især nyttigt i tilfælde af robotter, som når adgang er forbudt, simpelthen vil gå videre til det næste mål. Standard er 10 minutter, du kan hæve dette til en time, hvis du vil.
Maxretry er antallet af forkerte adgangsforsøg, en vært kan have, før dets adgangsforsøg er udelukket i løbet af forbudstiden.
Findtime refererer til den tid, en vært skal indtaste standardværdien er 10 minutter, hvilket betyder, at hvis der gøres et forsøg på at få adgang til en vært til en server, og det mislykkes, skal man logge ind mere end maxretry -beløbet 3 gange i de angivne 10 minutter, vil din IP blive blokeret, og du vil ikke have adgang.
Konfigurer ssh - iptables -sektionen i Jail.Local
SSH -detaljeringsafsnittet er bare lidt længere nede i indstillingerne, og det er allerede installeret og aktiveret. Selvom du ikke skal kræve ændringer i dette afsnit, kan du finde detaljer om hver linje herunder.
 [ssh - iptables] aktiveret = sandt filter = sshd handling = iptables [navn = SSH, port = ssh, protokol = tcp] sendmail -whois [navn = SSH, dest = root, [email protected]] logpath = / var / log / secure maxretry = 5

Aktiveret refererer ganske enkelt til det faktum, at SSH -beskyttelse er aktiveret. Du kan slå det fra med ordet false.
Filter, som du som standard bruger til sshd, refererer til konfigurationsfilen, der indeholder de regler, som fail2banuses bruger til at finde matches. Navnet er en forkortet version af filtypen. For eksempel refererer sshd til /etc/fail2ban/filter.d/sshd.conf
Handling, beskriver de trin, som fail2ban vil tage for at forbyde en matchende IP -adresse. Ligesom filterposten henviser hver handling til en fil i mappen action.d. Standardforbudshandlingen, iptable, findes i /etc/fail2ban/action.d/iptables.conf
I iptables kan du yderligere tilpasse fail2ban. Hvis du f.eks. Bruger en ikke-standardport, kan du ændre portnummeret inden for parenteserne til højden, hvilket gør synsfeltet til den samme familie:
for eksempel . iptables [navn = SSH, port = 30000, protokol = tcp]
Du kan også ændre protokollen fra TCP til UDP på ​​denne linje, afhængigt af hvilken du vil have fail2ban til at overvåge.
Hvis du har en mailserver konfigureret på din virtuelle private server, kan fail2ban sende dig en e -mail, når en IP -adresse er udelukket. I tilfælde af bypass refererer sendmail-whois til handlingerne i / etc / fail2ban / action.d / sendmail-whois.conf.
logsti refererer til placeringen af ​​loggen, som fail2ban vil spore.
Den maksimale linje for genforsøg inden for SSH -sektionen har samme definition som standardindstillingen. Men hvis en tjeneste er blevet aktiveret, og du vil have specifikke værdier for hver af dem, kan du her angive det nye maksimale beløb for genforsøg for SSH.
Genstart fail2ban
Når du har foretaget ændringer i fail2ban -konfigurationen, skal du altid sørge for at genstarte fail2ban:
sudo genstart fail2ban service

Du kan se de regler, som fail2ban sætter i kraft inde i IP -tabellen:
iptables- L
Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave