OpenSSH (Åbn Secure Shell) er et sæt applikationer, der tillader krypteret kommunikation over et netværk ved hjælp af protokol SSH. Det blev oprettet som et gratis og åbent alternativ til programmet Secure Shell, som er proprietær software. « Wikipedia.
Nogle brugere synes måske, at god praksis kun skal anvendes på servere, og dette er ikke tilfældet. Mange GNU / Linux-distributioner inkluderer OpenSSH som standard, og der er et par ting at huske på.
Sikkerhed
Dette er de 6 vigtigste punkter, du skal huske på, når du konfigurerer SSH:
- Brug en stærk adgangskode.
- Skift standardporten til SSH.
- Brug altid version 2 af SSH-protokollen.
- Deaktiver rodadgang.
- Begræns brugeradgang.
- Brug nøgleauthentificering.
- Andre muligheder
En stærk adgangskode
Un buen password es aquel que contiene caracteres alfanuméricos o especiales, espacios, mayúsculas y minúsculas… etc. Acá en DesdeLinux hemos mostrado varios métodos para generar buenas contraseñas. Pueden visitar denne artikel y denne anden.
Skift standardport
Standardporten til SSH er 22. For at ændre den er alt, hvad vi skal gøre, at redigere filen / Etc / ssh / sshd_config. Vi ser efter den linje, der siger:
#Port 22
vi kommenterer det og ændrer 22 til et andet nummer .. for eksempel:
Port 7022
For at kende de porte, som vi ikke bruger på vores computer / server, kan vi udføre i terminalen:
$ netstat -ntap
For at få adgang til vores computer eller server skal vi nu gøre det med indstillingen -p som følger:
$ ssh -p 7022 usuario@servidor
Brug protokol 2
For at sikre, at vi bruger version 2 af SSH-protokollen, skal vi redigere filen / Etc / ssh / sshd_config og kig efter linjen der siger:
# Protokol 2
Vi kommenterer det og genstarter SSH-tjenesten.
Tillad ikke adgang som root
For at forhindre, at rodbrugeren kan få adgang til eksternt via SSH, ser vi i filen/ Etc / ssh / sshd_config linjen:
#PermitRootLogin no
og vi kommenterer det. Jeg synes det er værd at præcisere, at inden vi gør dette, skal vi sikre os, at vores bruger har de nødvendige tilladelser til at udføre administrative opgaver.
Begræns adgang for brugere
Det gør heller ikke ondt at tillade adgang via SSH kun til visse pålidelige brugere, så vi vender tilbage til filen / Etc / ssh / sshd_config og vi tilføjer linjen:
TilladBrugere elav usemoslinux kzkggaara
Hvor det åbenbart er brugerne elav, usemoslinux og kzkggaara dem, der vil være i stand til at få adgang.
Brug nøgleauthentificering
Selvom denne metode er den mest anbefalede, skal vi være særlig opmærksomme, fordi vi får adgang til serveren uden at indtaste adgangskoden. Dette betyder, at hvis en bruger formår at komme ind i vores session, eller hvis vores computer bliver stjålet, kan vi være i problemer. Lad os dog se, hvordan man gør det.
Den første ting er at oprette et par nøgler (offentlige og private):
ssh-keygen -t rsa -b 4096
Derefter sender vi vores nøgle til computeren / serveren:
ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7
Endelig skal vi have ikke kommenteret i filen / Etc / ssh / sshd_config linjen:
AuthorizedKeysFile .ssh/authorized_keys
Andre muligheder
Vi kan reducere ventetiden, hvor en bruger med succes kan logge ind på systemet til 30 sekunder
LoginGraceTime 30
For at undgå ssh-angreb gennem TCP Spoofing og lade ssh-siden krypteret i live i maksimalt 3 minutter, kan vi aktivere disse 3 muligheder.
TCPKeepAlive no ClientAliveInterval 60 ClientAliveCountMax 3
Deaktiver brugen af rhosts eller shosts-filer, som af sikkerhedsmæssige årsager opfordres til ikke at blive brugt.
IgnorerRosts ja IgnorérBrugerKendtHosts yes RhostsAuthentication no RhostsRSAAuthentication no
Kontroller brugerens effektive tilladelser under login.
StrictModes yes
Aktiver adskillelse af privilegier.
UsePrivilegeSeparation yes
konklusioner:
Ved at udføre disse trin kan vi tilføje ekstra sikkerhed til vores computere og servere, men vi må aldrig glemme, at der er en vigtig faktor: hvad der er mellem stolen og tastaturet. Derfor anbefaler jeg at læse denne artikel.
kilde: HowToForge
Fremragende indlæg @elav og jeg tilføjer nogle interessante ting:
LoginGraceTime 30
Dette giver os mulighed for at reducere ventetiden, hvor en bruger med succes kan logge ind på systemet til 30 sekunder
TCPKeepLive nr
ClientAliveInterval 60
ClientAliveCountMax 3
Disse tre muligheder er ret nyttige for at undgå ssh-angreb ved hjælp af TCP Spoofing, hvilket efterlader den krypterede i live på ssh-siden aktiv i maksimalt 3 minutter.
IgnorerRhosts ja
IgnorerUserKnownHosts ja
RhostsAuthentication nr
RhostsRSAAutentifikationsnr
Det deaktiverer brugen af rhosts eller shosts-filer, som af sikkerhedsmæssige årsager opfordres til ikke at blive brugt.
StrictModes ja
Denne mulighed bruges til at kontrollere brugerens effektive tilladelser under login.
UsePrivilegeSeparation ja
Aktiver adskillelse af privilegier.
Nå, om et stykke tid vil jeg redigere indlægget og føje det til indlægget 😀
Kommentering for ikke at ændre linjen er overflødig. De kommenterede linjer viser standardværdien for hver indstilling (læs afklaringen i starten af selve filen). Rodadgang er deaktiveret som standard osv. Derfor har afkommentering af det absolut ingen effekt.
Ja, men for eksempel, hvordan ved vi, at vi kun bruger version 2 af protokollen? Fordi vi godt kunne bruge 1 og 2 på samme tid. Som den sidste linje siger, overskriver standardindstillingen, hvis du ikke kommenterer denne mulighed, for eksempel. Hvis vi bruger version 2 som standard, fint, hvis ikke, bruger vi den JA eller JA 😀
Tak for kommentaren
Meget god artikel, jeg vidste flere ting, men en ting, der aldrig er klart for mig, er brugen af nøgler, hvad de virkelig er, og hvilke fordele har den, hvis jeg bruger nøgler, kan jeg bruge adgangskoder ??? Hvis ja, hvorfor øger det sikkerheden, og hvis ikke, hvordan får jeg adgang til den fra en anden pc?
Hilsen, jeg har installeret debian 8.1, og jeg kan ikke oprette forbindelse fra min Windows-pc til debian med WINSCP, bliver jeg nødt til at bruge protokol 1? nogen hjælp .. tak
farvel
Du kan være interesseret i denne video om openssh https://m.youtube.com/watch?v=uyMb8uq6L54
Jeg vil prøve nogle ting her, flere har jeg allerede prøvet takket være Arch Wiki, andre på grund af dovenskab eller manglende viden. Jeg gemmer det, når jeg starter min RPi