I dag finder vi forskellige måder at oprette forbindelse til vores servere sikkert for at udføre vedligeholdelses- og supportopgaver eller kontrollere status for de samme. Fordi vi ikke altid kan være direkte i den fysiske placering af dette den mest praktiske og almindelige måde at få adgang til serveren på, er det eksternt muligt via SSH -protokollen.
SSH (Secure SHell) er udviklet som en protokol, der gør det muligt at etablere forbindelser mellem to systemer baseret på klient / serverarkitekturen, hvilket letter, at vi som administratorer eller brugere kan forbinde eksternt til serveren eller computeren, en af de mest bemærkelsesværdige fordele ved SSH er, at det er ansvarligt for at kryptere forbindelsessessionen for at øge sikkerheden ved at forhindre angribere i at få adgang til ukrypterede adgangskoder.
Nu logges og logges hvert login eller forsøg på at få adgang til serveren ved hjælp af SSH i en logfil af rsyslog -dæmonen på Linux, så det vil være muligt at få adgang til det og validere i detaljer hvem, hvornår og status for sessionens opstart muliggøre en langt mere komplet revisions- og kontrolopgave.
Solvetic forklarer dig i denne vejledning, hvordan du ser denne fil og afgør, hvem der har prøvet eller logget ind på computeren.
1. Installer SSH på Linux
I dette eksempel har vi brugt Ubuntu 19 og CentOS 8, husk at når vi får adgang via SSH, kan vi arbejde omfattende på computeren:
FORSTØRRE
Installer SSH på CentOS 8Hvis du vil installere SSH i CentOS 8, skal du udføre følgende:
yum -y installer openssh-server openssh-klienter
FORSTØRRE
Installer SSH på UbuntuHvis du vil gøre det i Ubuntu 19, skal du udføre følgende:
sudo apt installer openssh-server
2. Brug kommandoen grep til at se mislykkede logins på Linux
Trin 1
Den enkleste måde at bestemme og se login -forsøg på er ved at køre følgende:
grep "Mislykket adgangskode" /var/log/auth.log
Trin 2
Vi kan se detaljer som:
- Bruger forsøger at logge ind
- IP -adresse
- Port brugt til loginforsøg
Trin 3
Vi finder det samme resultat med kommandoen cat:
kat /var/log/auth.log | grep "Mislykket adgangskode"
Trin 4
Hvis du ønsker at få yderligere oplysninger om de mislykkede SSH -logins i Linux, skal vi udføre følgende. Som vi ser, er detaljerne meget mere komplette.
egrep "mislykkedes | fejl" /var/log/auth.log
Se logfiler i RHEL eller CentOS 8I tilfælde af RHEL eller CentOS 8 er alle logfilerne placeret i / var / log / secure -filen, for deres visualisering udfører vi følgende:
egrep "Failed | Failure" / var / log / secure
FORSTØRRE
Vi ser, at logfiler opbevares med alle detaljer inklusive registrerede sessionsnavne (korrekte eller ej). En anden mulighed for at se mislykkede SSH -logins i CentOS er at bruge en af følgende linjer:
grep "mislykkedes" / var / log / secure grep "godkendelsesfejl" / var / log / secure
FORSTØRRE
Trin 5
For at få vist listen over IP -adresser, der forsøgte at få adgang, men uden held, skal vi bruge følgende kommando:
grep "Mislykket adgangskode" /var/log/auth.log | awk '{print $ 11}' | uniq -c | sorter -nrTrin 6
I de mest aktuelle Linux -distributioner (f.eks. Ubuntu 19) er det muligt at få adgang til runtime -logfilen, som Systemd administrerer med journalctl -kommandoen, hvis vi vil se de mislykkede SSH -logfiler, vil vi bruge kommandoen grep til at filtrere resultater som denne:
journalctl _SYSTEMD_UNIT = ssh.service | egrep "Failed | Failure" (Ubuntu) journalctl _SYSTEMD_UNIT = sshd.service | egrep "Failed | Failure" (RHEL, CentOS)
På CentOSI CentOS kan vi også bruge følgende:
journalctl _SYSTEMD_UNIT = sshd.service | grep "fejl" journalctl _SYSTEMD_UNIT = sshd.service | grep "mislykkedes"
Vi kan se, hvordan vi ser hvert mislykket SSH -loginforsøg, og på grundlag af dette træffer vi de relevante sikkerhedsforanstaltninger for at bevare tilgængeligheden af tjenester.