I denna present, sjätte och sista inlägget, från vår serie inlägg på Lär dig SSH vi kommer att på ett praktiskt sätt ta upp konfigurationen och användningen av alternativen som anges i OpenSSH konfigurationsfil som hanteras på sidan av ssh-server, det vill säga filen "SSHD Config" (sshd_config). Vilket vi tog upp i föregående avsnitt.
På ett sådant sätt att vi på ett kort, enkelt och direkt sätt kan veta några av de bästa praxis (rekommendationer och tips) när konfigurera en SSH-serverbåde hemma och på kontoret.
Och innan dagens ämne börjar, om det bästa "god praxis att tillämpa i konfigurationerna av en SSH-server", kommer vi att lämna några länkar till relaterade publikationer för senare läsning:
God praxis i en SSH-server
Vilka goda rutiner gäller när man konfigurerar en SSH-server?
Därefter, och baserat på alternativen och parametrarna del SSHD-konfigurationsfil (sshd_config), tidigare sett i det föregående inlägget, skulle dessa vara några av de bästa praxis att utföra angående konfigurationen av nämnda fil, att säkra vårt bästa fjärranslutningar, inkommande och utgående, på en given SSH-server:
Ange vilka användare som kan logga in i SSH med alternativet Tillåt användare
Eftersom detta alternativ eller parameter vanligtvis inte ingår som standard i nämnda fil, kan den infogas i slutet av den. Att använda sig av en lista över användarnamnsmönster, åtskilda av mellanslag. Så att, om det anges, inloggningen, då tillåts endast detsamma för matchningar av användarnamn och värdnamn som matchar ett av de konfigurerade mönstren.
Till exempel, som visas nedan:
AllowUsers *patron*@192.168.1.0/24 *@192.168.1.0/24 *.midominio.com *@1.2.3.4
AllowGroups ssh
Tala om för SSH vilket lokalt nätverksgränssnitt som ska lyssna på med alternativet ListenAddress
För att göra detta måste du aktivera (avkommentera) alternativ ListenAddress, som kommer fråne standard med värde "0.0.0.0", men det fungerar faktiskt ALL läge, det vill säga lyssna på alla tillgängliga nätverksgränssnitt. Därför måste då nämnda värde fastställas på ett sådant sätt att det anges vilken eller lokala IP-adresser de kommer att användas av sshd-programmet för att lyssna efter anslutningsförfrågningar.
Till exempel, som visas nedan:
ListenAddress 129.168.2.1 192.168.1.*
Ställ in SSH-inloggning via nycklar med alternativet Lösenordsautentisering
För att göra detta måste du aktivera (avkommentera) alternativ Lösenordsautentisering, som kommer fråne standard med ja värde. Och ställ sedan in det värdet som "Nej", för att kräva användning av offentliga och privata nycklar för att få åtkomstbehörighet till en specifik maskin. Att uppnå att endast fjärranvändare kan komma in, från den eller de datorer som tidigare är auktoriserade. Till exempel, som visas nedan:
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
PubkeyAuthentication yes
Inaktivera rotinloggning via SSH med alternativet AllowRootLogin
För att göra detta måste du aktivera (avkommentera) PermitRootLogin-alternativet, som kommer fråne standard med "förbjud-lösenord" värde. Men om man önskar att i sin helhet, root-användare får inte starta en SSH-session, lämpligt värde att ställa in är "Nej". Till exempel, som visas nedan:
PermitRootLogin no
Ändra standard SSH-porten med alternativet Port
För att göra detta måste du aktivera (avkommentera) portalternativ, som kommer som standard med värde "22". Ändå, är det viktigt att ändra nämnda port till någon annan tillgänglig, för att mildra och undvika antalet attacker, manuella eller brute force, som kan göras genom nämnda välkända port. Det är viktigt att se till att denna nya port är tillgänglig och kan användas av de andra applikationerna som ska ansluta till vår server. Till exempel, som visas nedan:
Port 4568
Andra användbara alternativ att ställa in
Till sist, och sedan dess SSH-programmet är för omfattande, och i den föregående delen har vi redan behandlat vart och ett av alternativen mer i detalj, nedan kommer vi bara att visa några fler alternativ, med några värden som kan vara lämpliga i flera och varierande användningsfall.
Och dessa är följande:
- Banner /etc/issue
- ClientAliveInterval 300
- ClientAliveCountMax 0
- Logga in GraceTime 30
- LogLevel INFO
- MaxAuthTries 3
- MaxSessions 0
- Max startups 3
- Tillåt EmptyPasswords Nej
- PrintMotd ja
- PrintLastLog ja
- StrictModes Ja
- SyslogFacility AUTH
- X11 Vidarebefordran ja
- X11DisplayOffset 5
anteckningObs: Observera att, beroende på nivån av erfarenhet och expertis SysAdmins och säkerhetskraven för varje teknikplattform, många av dessa alternativ kan helt riktigt och logiskt variera på väldigt olika sätt. Dessutom kan andra mycket mer avancerade eller komplexa alternativ aktiveras, eftersom de är användbara eller nödvändiga i olika driftsmiljöer.
Andra goda metoder
Bland annat god praxis att implementera i en SSH-server Vi kan nämna följande:
- Ställ in ett varningsmeddelande via e-post för alla eller specifika SSH-anslutningar.
- Skydda SSH-åtkomst till våra servrar mot brute force-attacker med verktyget Fail2ban.
- Kontrollera med jämna mellanrum med Nmap-verktyget på SSH-servrar och andra, i jakt på möjliga obehöriga eller nödvändiga öppna portar.
- Stärk säkerheten för IT-plattformen genom att installera ett IDS (Intrusion Detection System) och ett IPS (Intrusion Prevention System).
Sammanfattning
Kort sagt, med den här senaste delen på "Lära SSH" vi avslutade det förklarande innehållet om allt relaterat till OpenSSH. Säkert, inom en kort tid kommer vi att dela med oss av lite mer väsentlig kunskap om SSH-protokoll, och angående din använda av konsolen genom Shell-skript. Så vi hoppas att du är det "god praxis i en SSH-server", har tillfört mycket värde, både personligt och professionellt, när du använder GNU/Linux.
Om du gillade det här inlägget, se till att kommentera det och dela det med andra. Och kom ihåg, besök vår «hemsida» för att utforska fler nyheter, samt gå med i vår officiella kanal Telegram av DesdeLinux, Väst grupp för mer information om dagens ämne.
Jag ser fram emot den andra delen av denna artikel där du utökar mer om den sista punkten:
Stärk säkerheten för IT-plattformen genom att installera ett IDS (Intrusion Detection System) och ett IPS (Intrusion Prevention System).
Tack!
Hälsningar, Lhoqvso. Jag kommer att vänta på att det förverkligas. Tack för att du besöker oss, läser vårt innehåll och kommenterar.