Kontrollera säkerheten för din SSH-server och skydda den från attacker

Övervaka SSH-serverloggar för att upptäcka attacker
SSHGuard är ett program som gör att vi kan övervaka loggarna för vår SSH-server, för att upptäcka möjliga brute force-attacker mot de användare som vi har behörighet att ansluta till vår server. För en god administration av en organisations datorsystem är det mycket viktigt att övervaka loggarna för de olika tjänsterna, och tack vare SSHGuard kommer vi att kunna övervaka dem för att senare upptäcka attacker och blockera angripare med hjälp av den egna brandväggen för driften. systemet.
Denna programvara kommer att övervaka loggar i olika format, i synnerhet kan den känna igen dessa loggar i olika format:
- Mac OS
- metallolog
- multilog
- råa loggfiler
- syslog
- syslog-ng
- systemd logg
SSHGuard tillåter oss inte bara att skydda vår SSH-server, utan den är också redo att skanna, upptäcka och skydda andra viktiga tjänster på alla datorsystem. Från början var det bara kompatibelt med OpenSSH, men det har utvecklats och vi har nu alla dessa tjänster:
- OpenSSH (SSH-server)
- Sendmail (e-postserver)
- Exim (e-postserver)
- Duvslag (e-postserver)
- Cucipop (e-postserver)
- UWimap (e-postserver)
- vsftpd (FTP/FTPES-server)
- proftpd (FTP/FTPES-server)
- pure-ftpd (FTP/FTPES-server)
- FreeBSD ftpd (FTP/FTPES-server)
När SSHGuard läser loggarna för olika systemtjänster och upptäcker någon typ av attack, blockeras det automatiskt med hjälp av operativsystemets brandvägg. Logiskt sett, beroende på operativsystemet kommer vi att ha en specifik brandvägg installerad, för närvarande är SSHGuard kompatibel med följande brandväggar för Unix- och Linux-baserade system:
- BrandväggD
- ipfw
- IP-FILTER
- netfilter / iptables
- nätfilter/ipset
- pf
- tcpd hosts.allow
- IBM AIX-brandväggen
Andra intressanta alternativ är att vi kan skapa en svartlista med IP-adresser automatiskt, dessutom kan den även övervaka flera loggfiler samtidigt. Om du använder IPv6-protokollet i ditt arbets- eller hemnätverk har du tur eftersom SSHGuard fullt ut stöder IPv6-protokollet.
Installera och starta SSHGuard
Detta utmärkta verktyg för att skydda vår SSH-server är tillgängligt i de huvudsakliga programvaruförråden för Linux-distributioner som Debian, ArchLinux, Ubuntu, OpenSUSE, såväl som i det Unix-baserade operativsystemet FreeBSD. Installationen måste göras via pakethanteraren för din distribution, om den inte finns kan du alltid ladda ner programvaran och kompilera den själv, du kan komma åt SSHGuard officiella webbplats för att komma åt nedladdningen.
För att starta SSHGuard är det första du behöver göra att konfigurera loggningssystemet på din server. Om du inte vet hur man gör, finns det en underbar dokumentation på programvarans officiella webbplats . Sedan måste du konfigurera vissa inställningar i brandväggen, så att SSHGuard kan blockera IP-adresserna till möjliga angripare som vi har helt automatiskt och utan inblandning av nätverks- eller systemadministratören.
Kontrollera säkerheten för din SSH-server
Om vi har konfigurerat vår SSH-server med maximal säkerhet som vi förklarade i RedesZone, bör du inte ha några problem, men det skadar aldrig att verifiera säkerheten på din server med externa verktyg.
Rebex SSH-verifiering
L’ Rebex SSH-kontrollverktyg gratis och online kommer att utföra en snabb analys av nyckelutbytesalgoritmer, symmetriska krypteringsalgoritmer, nyckelalgoritmer, samt de MAC-algoritmer som vi för närvarande har konfigurerat på vår SSH-server. Om vi använder en algoritm som för närvarande inte anses säker, kommer den att berätta det för oss, så att vi senare kan konfigurera SSH-servern korrekt och ta bort denna algoritm från de “tillåtna”.
Det första vi måste göra är att gå in på den officiella webbplatsen, vi kommer att se att den frågar oss både om vår IP-adress eller domän, såväl som porten som SSH-servern lyssnar på. När vi har lagt in data från vår SSH-server klickar vi på knappen “TEST”.
Verifieringsprocessen för SSH-serverns säkerhet tar cirka 10 sekunder och den kommer att informera oss om alla algoritmer vi kan använda, och om de är säkra eller inte. Till exempel, i vårt fall med XigmaNAS SSH-servern med standardvärdena, får vi att säkerheten är exceptionell, eftersom den använder alla säkra symmetriska och asymmetriska krypteringsalgoritmer, vilket avvisar den stora majoriteten av de gamla.
Detta verktyg kan också kontrollera servernyckelalgoritmerna, som du kan se informerar det oss om att den som används med SHA-1 är “säker” men det informerar oss redan om att den är föråldrad, och det rekommenderas att alltid använda SHA2- 256 eller högre, så i konfigurationsfilen kunde vi ta bort denna algoritm.
Vi kommer också att ha de symmetriska krypteringsalgoritmerna tillgängliga, vi ser bara en eftersom vi definierade den i konfigurationsfilen. Detta verktyg är också mycket användbart för att verifiera att säkerhetskonfigurationen verkligen är som önskad.
Slutligen indikerar det också MAC-algoritmerna vi har på SSH-servern, några av dem, som du kan se, anses vara osäkra, så det är tillrådligt att ta bort deras stöd så snart som möjligt:
Annan data som den här tjänsten kan ge oss är, om vi använder någon typ av komprimering, och om vi använder den, kommer den att tala om för oss vilken typ av komprimering som vi har aktiverat i serverkonfigurationsfilen. Slutligen kommer den också att informera oss om serverns publika nyckel, inklusive MD5-fingeravtrycket, SHA2-256 och till och med den publika nyckeln vi använder:
Som du har sett, tack vare detta fantastiska onlineverktyg helt gratis, kan vi snabbt och enkelt kontrollera säkerheten för vår SSH-server.
ssh revision
ssh-audit är ett helt gratis verktyg, skrivet i Python och som kommer att skanna konfigurationen av vår SSH-server, den här gången har vi inget onlineverktyg, men vi måste köra det på själva servern där vi vill verifiera SSH säkerhet. ssh-audit kommer att berätta för oss om de olika konfigurationerna vi har tillämpat är säkra, osäkra eller har svagheter, perfekt för att senare göra ändringar i nämnda SSH-server.
Några av de viktigaste funktionerna i detta gratisverktyg är att det kommer att tillåta oss att upptäcka inloggningsbannern, om vi använder ett osäkert protokoll som SSH1, och även om vi använder komprimering med zlib-biblioteket. Den kommer också att kunna verifiera nyckelutbytesalgoritmer, värdens publika nyckel, symmetrisk kryptering när kommunikation redan är etablerad och informationsautentiseringsmeddelanden.
När ssh-audit har analyserat alla dessa parametrar på ett helautomatiskt sätt kommer den att producera en fullständig rapport som anger när ett visst alternativ är tillgängligt, om det har eliminerats, inaktiverats, om det är osäkert, svagt eller om det är säkert. Beroende på hur allvarlig konfigurationen är kan vi se olika färger i meddelandena.
Detta verktyg kommer också att visa oss vilken version av SSH som används, dessutom är den kompatibel med OpenSSH och Dropbear, de två mest använda SSH-servrarna i operativsystem och i enheter som routrar, switchar, etc. Det här verktyget är mer avancerat än det tidigare, eftersom det kommer att ge oss mer information.
För att använda den behöver vi bara göra ladda ner .py-filen från den officiella GitHub ssh-audit så kör vi det som alla andra Python-verktyg enligt följande:
python ssh-audit.py [-nv] värd[:port]
Argumentet -n kommer att inaktivera de olika färgerna i utdata för all information, och -v kommer att visa oss absolut all information som verktyget ger oss.
Som du har sett är det mycket enkelt att skydda med externa verktyg och verifiera säkerheten för din SSH-server. Även om SSH är ett säkert protokoll är det fortfarande nödvändigt att konfigurera det korrekt för att undvika problem eller attacker.