Menetelmiä SSH:n suojaamiseksi hakkeroinnilta. SSH-palvelimen suojaaminen brute force hyökkäyksiltä fail2ban-toiminnolla Oletusportin muuttaminen

Voit suojata palvelimemme salasanojen raaalta voimalta käyttämällä sshguard- tai sshit-apuohjelmia.

Toimintaperiaatteet.

sshguard ja sshit toimivat samalla periaatteella. He analysoivat järjestelmäviestit virheellisestä todennuksesta ja, jos tietty arvo saavutetaan, syöttävät hyökkääjän IP-osoitteen estävän palomuurisääntöön. Tietyn ajan kuluttua ip poistetaan säännöstä.
Vastaavasti toimintaa varten tarvitaan määritetty palomuuri.

SSHGuard

sshguard voi työskennellä

  • AIX alkuperäinen palomuuri- IBM AIX -käyttöjärjestelmille
  • netfilter/iptables- Linux-pohjaisille käyttöjärjestelmille
  • Pakettisuodatin (PF)- BSD-käyttöjärjestelmille (Open, Free, Net, DragonFly -BSD)
  • IP-palomuuri (IPFW)- FreeBSD:lle ja Mac OS X:lle
  • IP-suodatin (IPFILTER)- FreeBSD:lle, NetBSD:lle ja Solarikselle
  • tcpd"s hosts_access (/etc/hosts.allow)- Kannettava UNIXin yli
  • tyhjä- kannettava ei tee mitään -taustaohjelma havaitsemiseen, mutta ei ehkäisyyn

Käytän PF:ää, joten tässä muistiinpanossa on esimerkkejä PF:stä.

Sshguardin asennus.

FreeBSD:

Asenna porteista

Cd /usr/ports/security/sshguard-pf/&& tee asennus puhtaaksi

Jos et jostain syystä käytä portteja, lataa uusin versio sshguard-sivustolta ja rakenna se manuaalisesti

./configure --with-firewall=pf && tee && tee asennus

Debian:

apt-get install sshguard

Käyttöjärjestelmän määrittäminen suorittamaan sshguard.

Luo tiedosto lokien tallentamista varten

# kosketa /var/log/sshguard

Debian (vinkuva):

Muokkaa seuraavaa riviä tiedostossa //etc/default/sshguard

#mcedit /etc/default/sshguard #ARGS="-a 40 -p 420 -s 1200" ARGS="-a 5 -p 420 -s 2400 -b 5:/etc/sshguard/blacklist"

ja käynnistä sshguard uudelleen
service sshguard käynnistyy uudelleen

FreeBSD:

Meidän on lisättävä kaksi riviä PF-kokoonpanoon

Taulukko jatkua

Ilmoitamme taulukon, jossa sshguard tulee robottien IP-osoitteeseen.

Estä nopeasti $if0 proto tcp:stä alkaen

Itse asiassa estosäännön tulisi olla merkitty PF-määritystiedoston sääntölohkon yläosaan. $if0 on liitäntä, jonka yhteydet estetään kaikilla liitännöillä, korvaa se millä tahansa.
Lue asetustiedosto uudelleen

Auth.info;authpriv.info |exec/usr/local/sbin/sshguard

ja käynnistä syslog uudelleen

#/etc/rc.d/syslogd käynnistyy uudelleen

Itse asiassa näiden manipulointien jälkeen sshguard estää hyökkäykset oletusparametreilla.
Kun hyökkää sisään /var/log/auth.log näemme jotain seuraavanlaista

Jun1611:01:40 www sshd:Virheellinen käyttäjätesti osoitteesta61.172.251.183 Jun1612:29:48 www sshd:Virheellinen käyttäjätesti osoitteesta85.114.130.168 Jun1612:29:49 www sshd alkaen8.172.251.181 jun.1 testi:5n.6:1. 29: 49 WWW SSHD: Virheellinen käyttäjätesti 85.114.130.168JUN1612: 29: 50 WWW SSHD: Virheellinen käyttäjätesti 85.114.130.168JUN1612: 29: 50 www SSHGuard: Blocking85.114.130.168: 4FOR> 420SECS: 4 sekuntia.

sshguard-asetusten määrittäminen

sshguardilla on useita parametreja, jotka voimme ohittaa
-a epäonnistuneiden todennusyritysten lukumäärä, jonka jälkeen IP estetään. Oletusarvo on 4.
-s kuinka monen sekunnin kuluttua IP:n esto poistetaan. Oletusarvo on 420.
-s kuinka monta sekuntia sshguard muistaa ip:n. Oletusarvo on 1200. Selvyyden vuoksi totean, että jos IP-osoitteesta tulee yksi hyökkäys 30 minuutin välein, sitä ei koskaan kielletä oletusasetuksella.
-w valkoinen IP-osoite, verkot tai polku valkoiseen osoitetiedostoon. Tiedostomuoto on yksi rivi - yksi merkintä, # määrittää kommentit.
-b määrittää, kuinka monta IP-lohkoa mustalle listalle lisätään ja polun siihen. Musta lista ladataan, kun sshguard käynnistyy, eikä sitä poisteta automaattisesti.

sshguardilla ei ole asetustiedostoa, parametrit asetetaan sshguardin käynnistyessä. Meidän tapauksessamme sshguard käynnistää syslogin, joten muokkaamme syslog.conf-tiedostoa siten, että sshguard estää IP:n 3 epäonnistuneen todennusyrityksen jälkeen 30 minuutin ajan ja lisää sen mustalle listalle 5 lohkon jälkeen.

Auth.info;authpriv.info |exec/usr/local/sbin/sshguard -a 3-p 1500-b 5:/usr/local/etc/sshguard.blacklist

ensimmäisen kerran se lukitaan 420 sekunniksi ja poistetaan 7 minuutin kuluttua
toinen kerta 2*420 y poistetaan 14 minuutin kuluttua
kolmannen kerran 2*2*420 ja poistettu 28 minuutin kuluttua jne...
2^(N-1)*420 N:nnen kerran.

Paska

Sshit on perl-skripti, joten järjestelmässä on oltava perl sekä 2 moduulia

  • IPC::Jaettavissa
  • Proc::PID::File

Sshit toimii vain pf:n ja ipfw:n kanssa.

Asennus paskaa

cd /usr/ports/security/sshit/&& tee asennus puhtaaksi

paska kokoonpanot.

Sshitillä on asetustiedosto /usr/local/etc/sshit.conf, jossa voit ohittaa oletusarvot.

FIREWALL_TYPE = "pf"; # Mitä palomuuria käytämme MAX_COUNT =3; # Epäonnistuneiden todennusyritysten määrä, jonka jälkeen IP estetään WITHIN_TIME =60; # Kuinka monessa sekunnissa määritetyn määrän epäonnistuneita todennusten on tapahduttava RESET_IP =300; # Kuinka monen sekunnin kuluttua IP-osoite vapautetaan. PFCTL_CMD = "/sbin/pfctl"; PF_TABLE ="badhosts"#taulukon nimi, johon syötetään huonot IP-osoitteet

Käyttöjärjestelmän asettaminen toimimaan.

Muokkaamme PF-määritystiedostoa analogisesti sshguardin asetusten kanssa

Taulukko jatkuva esto nopeasti $if0 proto tcp:stä alkaen $if0 porttiin ssh otsikko "ssh brute"

lue asetustiedosto uudelleen

#pfctl -f /etc/pf.conf

Muokkaa syslog.conf

Auth.info;authpriv.info |exec/usr/local/sbin/sshit

ja käynnistä syslog uudelleen

SSH on suojattu protokolla tietojen (komennot, tiedostot, videot jne.) siirtämiseen tietokoneiden välillä.

Se on oletusarvoisesti käytössä useimpien hosting-palvelujen tarjoajien VPS:ssä ja omistetuissa palvelimissa, koska sen avulla voit hallita etäkonetta helposti ja turvallisesti. Voit muuten vuokrata VPS-palvelimen edullisesti Well-Web-palvelusta. Koska SSH on käytössä kaikissa VPS:issä, tarvitaan asianmukainen SSH-suojaus Secure Shellin käytön ongelmien välttämiseksi.

Poista pääsy pääkäyttäjältä

Ensinnäkin on suositeltavaa poistaa käytöstä mahdollisuus muodostaa etäyhteys koneeseen superkäyttäjätilin (root) kautta. Tätä varten sinun on löydettävä tiedosto sshd_config, joka yleensä (mutta ei aina) sijaitsee /etc/ssh/-hakemistossa, ja avattava se.

Siinä sinun on löydettävä PermitRootLogin-kohde ja korvattava sen arvo "ei", eli sinun pitäisi saada seuraava merkintä:

PermitRootLogin no

Tämä ei tietenkään estä hakkerointia, mutta tekee siitä silti jonkin verran vaikeampaa.

Hakkeroinnin mahdollisuuden minimoimiseksi on suositeltavaa käyttää avaimia käyttävää valtuutusta sisäänkirjautumisen ja salasanan valtuutuksen sijaan. Tämä voidaan tehdä useilla tavoilla. Tämä on muuten myös hyvä SSH-suojaus raakaa voimaa vastaan.

Oletusportin muuttaminen

Koska palvelimen hakkerointi SSH:n kautta tapahtuu yleensä salasanahaun kautta (raaka voima), olisi järkevää vaihtaa vakioportti 22 johonkin toiseen. Tämä on erittäin helppo tehdä. Ensinnäkin sinun on avattava jo mainittu sshd_config-tiedosto ja lisättävä siihen yksi rivi:

Portin_numero

Merkintä näyttäisi esimerkiksi tältä:

Portti 3048

Tämä vähentää merkittävästi niiden ihmisten määrää, jotka haluavat päästä luvatta palvelimelle. Ennen kuin muutat portin numeroa, varmista, että se ei häiritse muita sovelluksia. Sinun on myös valittava portti, joka ei ole vielä käytössä, jotta ohjelmat eivät ole ristiriidassa sen takia.

IP-käyttörajoitus

Toinen suojausmenetelmä, joka vähentää luvattoman yhteyden todennäköisyyttä lähes nollaan, on valtuutusrajoitusten asettaminen. SSH voidaan konfiguroida siten, että vain etäkoneet, joilla on tietyt IP-osoitteet, voivat kirjautua sisään palvelimelle. Tätä varten sshd_config-tiedostossa AllowUser-rivillä sinun on lisättävä @IP_number jokaisen käyttäjän nimeen. Merkintä voisi näyttää esimerkiksi tältä:

AllowUsers [sähköposti suojattu], [sähköposti suojattu]

Ennen kuin käytät tätä menetelmää, on suositeltavaa varmistaa, ettei ole tilanteita, joissa sinun on ehkä kirjauduttava palvelimelle koneelta, jonka IP-osoitetta ei ole määritetty konfiguraatiossa.

Suojattu salasana

Ja tietysti, sinun tulee käyttää salasanaa, joka kestää raakaa voimaa. Pitkät ja mahdollisimman monilla erilaisilla symboleilla, mieluiten krakozyabreilla. Tämä on pakko saada.

OpenSSH voit muodostaa etäyhteyden palvelimeen, käsitellä tiedostoja ja hallita järjestelmää. Tänään haluamme puhua parhaista menetelmistä, jotka lisäävät OpenSSH-pohjaisen järjestelmän turvallisuutta.

Asetustiedostot

  • /etc/ssh/sshd_config- OpenSSH-palvelimen asetustiedosto;
  • /etc/ssh/ssh_config- OpenSSH-asiakasasetustiedosto;
  • ~/.ssh/- hakemisto, johon käyttäjän SSH-asetukset on tallennettu;
  • ~/.ssh/authorized_keys tai ~/.ssh/authorized_keys- luettelo avaimista (RSA tai DSA), joita käytetään muodostamaan yhteys käyttäjätileihin;
  • /etc/nologin- jos tämä tiedosto on olemassa järjestelmässä, sshd estää kaikkia käyttäjiä paitsi pääkäyttäjän muodostamasta yhteyttä järjestelmään;
  • /etc/hosts.allow ja /etc/hosts.deny- Kieltojärjestelmä (osa turvallisuutta). Toimii samalla tavalla kuin ACL;
  • Oletus-SSH-portti - 22

Ei tarvita - sammuta se

Jos palvelimesi ei vaadi SSH-etäyhteyksiä, muista poistaa se käytöstä. Järjestelmässä, kuten CentOS/RHEL, tämä tehdään seuraavasti:

Chkconfig sshd pois päältä yum erase openssh-palvelin

Käytä SSH-versiota 2

SSH-protokollan ensimmäisessä versiossa on tietoturvaongelmia, jotka käsitellään toisessa versiossa. Käytä siksi toista versiota. Varmista, että Protokolla 2 -vaihtoehto on määritetty /etc/ssh/sshd_config-tiedostossa.

Rajoita SSH-käyttöä

Oletuksena kaikilla järjestelmän käyttäjillä on mahdollisuus muodostaa yhteys järjestelmään SSH:n kautta. Suosittelemme SSH-käytön rajoittamista turvallisuussyistä. Salli SSH esimerkiksi juuri-, merion- ja verkkokäyttäjille:

AllowUsers-juurimerion-verkot

Toisaalta voit sallia pääsyn kaikille käyttäjille paitsi määritetyille:

DenyUsers-juurimerion-verkot

Epäaktiivisuusaika

On tärkeää ilmoittaa aika, jonka aikana ei-aktiivinen istunto lopetetaan (päätetään). Tämä voidaan tehdä seuraavilla vaihtoehdoilla:

ClientAliveInterval 300 ClientAliveCountMax 0

Tässä asetuksessa määritimme toimettomuusajaksi 300 sekuntia (5 minuuttia).

Tietoja .rhosts-tiedostoista

Tosiasia on, että tämä tiedosto sisältää luettelon isännistä ja käyttäjistä. Jos tämä tiedosto sisältää isännän ja käyttäjän yhdistelmän, tämä käyttäjä voi muodostaa yhteyden järjestelmään SSH:n kautta ilman salasanaa. Suosittelemme tämän "ihanan" ominaisuuden poistamista käytöstä:

IgnoreRhosts kyllä

Ei isäntäpohjaista todennusta!

Ns Isäntäpohjainen todennus Antaa tietyn isännän käyttäjän muodostaa yhteyden palvelimeen. Poista käytöstä:

Hostbased Authentication no

Suora yhteys rootin kautta

PermitRootLogin no

Tee banneri

Tee jokaiselle yhteydelle banneri, jossa voit uhata hyökkääjiä, jotka yrittävät päästä luvatta. Banner-parametri vastaa bannerin asettamisesta.

Portti 22 vain sisältä!

Päästä järjestelmäporttiin 22 vain palomuurisääntöjen ketjun kautta. On parasta jättää pääsy vain lähiverkon sisältä. Esimerkiksi sisään Iptables voit antaa pääsyn numeroon 192.168.11.0/24:

A RH-Palomuuri-1-TULO -s 192.168.11.0/24 -m tila --tila UUSI -p tcp --dport 22 -j HYVÄKSY

Missä kuunnella

Oletuksena SSH kuuntelee yhteyksiä kaikilla käytettävissä olevilla liitännöillä. Suosittelemme oletusportin vaihtamista ja IP-osoitteen määrittämistä, jolla yhteyttä odotetaan. Määritämme esimerkiksi portin 962 ja IP-osoitteen 192.168.11.24

Portti 962 Kuunteluosoite 192.168.11.24

Kryptografisesti vahvat salasanat

Käytä vahvoja salasanoja. Internetissä on monia työkaluja, jotka luovat salausvahvan salasanan verkossa, ilmaiseksi ja ilman tekstiviestejä :)

Estä tyhjät salasanat

On käyttäjiä ilman salasanoja. Heidän pääsynsä SSH:hon on myös evättävä käyttämällä vaihtoehtoa:

Portti 962 PermitEmptyPasswords no

Analysoi lokit

Aseta tapahtumaloki INFO- tai DEBUG-tilaan - tämä mahdollistaa järjestelmän laajemman hallinnan:

LogLevel INFO

Oliko tämä artikkeli sinulle hyödyllinen?

Kerro miksi?

Olemme pahoillamme, että artikkelista ei ollut sinulle hyötyä: (Ole hyvä ja kerro miksi se ei ole vaikeaa? Olemme erittäin kiitollisia yksityiskohtaisesta vastauksesta. Kiitos, että autat meitä tulemaan paremmiksi!

Tässä artikkelissa tarkastellaan perusmenetelmää SSH:n suojaamiseksi massa Bruteforce-hyökkäykset. Tässä tapauksessa massiivinen bruteforce-hyökkäys ei tarkoita kohdistettua salasanan arvaamista erityisesti SSH:ta varten, vaan useiden palvelimien laajaa sieppaamista myöhempää arvausta vastustamattomien kirjautumis-salasana-parien tunnistamiseksi.

Massiivisen SSH:n bruteforce-hyökkäyksen pääpiirteitä ovat laaja IP-alueiden skannaus avoimessa portissa 22 sekä yleisesti käytetyn käyttäjätunnuksen ja salasanan käyttö (esimerkiksi root:passwd123, admin:server123 jne.).

Jos haluat tarkastella palvelimesi epäonnistuneiden SSH-valtuutusyritysten lokitiedostojen tilastoja, anna komento:

Cat /var/log/secure* | grep "Epäonnistunut salasana" | grep sshd | awk "(tulosta $1, $2)" | lajitella -k 1,1M -k 2n | ainutlaatuinen -c

Tämä kuvakaappaus tarjoaa tilastotietoja epäonnistuneiden valtuutusten määrästä päiväkohtaisesti. Jos varastat samankaltaisia ​​tietoja, sinun tulee suojata SSH:si massiivista raa'alta käytökseltä.

1. Jos sinä älä käytä valtuutusta varten usein käytetyt käyttäjänimet, kuten root, admin, administrator, user jne. ja käytä monimutkaista salasanaa valtuutukseen, niin voit siirtyä välittömästi toiseen kohtaan. Jos haluat vaihtaa salasanan monimutkaisemmaksi, anna komento:

Passwd #your_login#

Jossa #oma_kirjautumistunnus#— Käyttäjätunnuksesi.
Kun syötät uutta salasanaa, salasanaa ei näytetä, osoitin pysyy yhdessä paikassa.

Kirjaudutaan sisään palvelimelle SSH:n kautta, luodaan uusi käyttäjä ja annetaan salasana, tätä varten annamme komennot:

Adduser #uusikäyttäjä# passwd #uusikäyttäjä#

Jossa #uusi käyttäjä#— Uusi käyttäjätunnus, älä käytä usein käytettyjä käyttäjätunnuksena, hyvä vaihtoehto your_nameadmin(esimerkiksi foxadmin, useralex, rootidler).

2. Tämän jälkeen kirjaudu sisään SSH:n kautta uudella käyttäjätunnuksella ja salasanalla. Ja avaa SSH-daemon-kokoonpano (sshd_config) komennolla:

Vi /etc/ssh/sshd_config

Tämän jälkeen sinun pitäisi nähdä jotain tällaista:

Rivit alkavat # kommentoidaan.

Vastaanottaja suojaa SSH:ta massiivista raa'alta voimalta, poista kommentit ja muuta tai lisää seuraavat parametrit tiedosto:
a) portti- portti, jossa SSHD hyväksyy ja palvelee yhteyksiä. Poista kommentti (poista ennen rivin alkua # ) ja muuta oletusarvoa 22 , mihin tahansa muuhun numeroon 1024 - 65536, lukuun ottamatta varattuja - luettelo varatuista porteista, esimerkiksi:

Portti 2022

Poistaaksesi # ja muuta arvoa portti 22, paina ensin näppäimistöäsi i, kun olet muokannut tarvittavaa riviä, paina -näppäintä ESC

b) Kirjaudu GraceTimeen— odotusaika käyttäjän rekisteröinnille järjestelmään. Jos käyttäjä ei kirjaudu sisään tämän ohjeen mukaisessa ajassa, istunto lopetetaan. Pienennetään tätä arvoa:

KirjautuminenGraceTime 1 min

c) PermitRootLogin- salli käyttäjä juuri kirjaudu sisään SSH-protokollan kautta. Vaihdetaan ei.

PermitRootLogin no

d) AllowUsers— SSH-protokollan kautta kirjautumiseen sallitut käyttäjätunnukset välilyönnillä erotettuina. Tässä #your_login# sijaan ilmoitamme uuden luodun käyttäjänimen.

AllowUsers #your_login#

e) MaxAuthTries— kirjautumisyritysten määrä istuntoa kohti. Kun suurin sallittu määrä yrityksiä saavutetaan, istunto lopetetaan.

MaxAuthTries 2

Tuloksena saamme:

Port 2022 LoginGraceTime 1 m PermitRootLogin ei AllowUsers #your_login# MaxAuthTries 2

Tässä artikkelissa viimeistelemme asennuksen SSH suojaksi massiivisia vastaan raakaa voimaa. Editoinnin jälkeen , paina näppäimistöä : , rivi ilmestyy alle ja kirjoita siihen wq ja paina näppäintä Enter. Tässä tapauksessa kaikki tehdyt muutokset tallennetaan.

Jos teit jotain väärin (esimerkiksi poistit jotain vahingossa), poistuaksesi tallentamatta käytä pikanäppäimen sijaan wq, avaimet q!

Kun SSH-asetus on valmis, käynnistä demoni uudelleen komennolla:

Palvelu sshd käynnistyy uudelleen

Nyt kun muodostat yhteyden SSH:n kautta, käytä uutta porttia 2022 (tai asetuksissa määrittämäsi) sen sijaan vakioportti 22.

Seuraavassa SSH:n määrittämistä käsittelevässä artikkelissa haluan kertoa, että kiellämme salasanatodennuksen ja sallimme valtuutuksen vain yksityisellä SSH-avaimella, jolloin suojaudumme mahdollisimman paljon salasanan arvailulta.

Tässä lyhyessä muistiinpanossa olen koonnut tapoja lisätä ssh-palvelimen turvallisuutta. Perusteellisimmat ja yksinkertaisimmat tekniikat kuvataan, ja monimutkaisemmat on tarkoitettu vain kiinnostuneille lukijoille.

Perustekniikat

Kaikki toiminnot suoritetaan sshd-daemon-määritystiedostossa - /etc/ssh/sshd_config. Alla annan osan asetustiedostostani kommentteineen.

### Verkko ### # Käytämme ei-standardista porttia (>1024) portti 5679 # Käytämme vain IPv4-yhteyksiä # inet = IPv4, inet6 = IPv6, mikä tahansa = molemmat OsoitePerhe inet # Voit hyväksyä yhteyksiä vain tietyltä IP-osoitteelta osoitteet #ListenAddress 0.0 # Käytämme protokollan toista versiota, koska ensimmäinen on # tunnetun protokollan 2 haavoittuvuuden alainen # Poista grafiikan uudelleenohjaus (X-palvelin) käytöstä, kunnes # sitä nimenomaan tarvitset X11Edelleenlähetys ei # Poista TCPKeepAlive käytöstä ja käytä sen sijaan ClientAliveIntervalia # estääksesi TCP-huijauksen kaltaiset hyökkäykset TCPKeepAlive ei # potkaise käyttäjää (10 minuutin kuluttua 600 sekuntia) käyttämättömyyttä ClientAliveInterval 600 ClientAliveCountMax 3 ### Avainmääritystiedostot ### # HostKeys protokollaversiolle 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_processvilegcom-prosessin käyttäminen prosessiin # client liikenne # hiekkalaatikko - openSSH >= 5.9 ("kyllä" - alemmille versioille) UsePrivilegeSeparation sandbox # Näiden arvojen muuttaminen edellyttää vanhan avaimen # /etc/ssh/ssh_host_rsa_key(,.pub) poistamista ja uuden luomista # käynnistämällä sshd uudelleen. # # Avaimen käyttöikä, ts. Minkä ajan kuluttua uusi avain luodaan #, jos edellistä on käytetty. KeyRegenerationInterval 1h # avaimen vahvuus ServerKeyBits 2048 # Salli valtuutus julkisella avaimella PubkeyAuthentication kyllä ​​# Luotettujen avainten tallennuspaikka käyttäjähakemistossa AuthorizedKeysFile .ssh/authorized_keys ### Lokikirjaus ### # Syslogin etuliite SyslogFacility tasolle AUTH:lle SyslogFacility itse LogLevel INFO ### Todennus ### # sallittujen käyttäjien luettelo AllowUsers ivan # rajoittaa ssh-avaimen salasanan syöttämisaikaa LoginGraceTime 30s # estää etäkirjautumisen juuritilillä PermitRootLogin no # Salli tiedostojen oikeuksien tarkka tarkistus ja hakemistot ssh-avaimilla StrictModes kyllä ​​# Kuinka monta kertaa salasanaa pyydetään, jos kirjoitat sen väärin MaxAuthTries 3 # Estä sisäänkirjautuminen tyhjällä salasanalla PermitEmptyPasswords ei # Estä sisäänkirjautuminen salasanalla periaatteessa # (Käytä sen sijaan julkista/yksityistä avainta) Salasanatodennus ei # Poista "challenge-response" -valtuutuksen käyttö käytöstä, # koska . se on hyödytöntä käytettäessä avaimia ChallengeResponseAuthentication ei # Koska emme käytä salasanaa, emme tarvitse (PAM, login(1)) UsePAM ei UseLogin ei # Salli asiakkaan välittää vain tietty joukko ympäristömuuttujia # RH BZ#CVE-2014-2532 # ShellShock exploit AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPITELIPUHELIN AcceptEnv LC_CCENTAALLVREMENT

Nämä ovat parametrit, jotka on määritetty sshd-määritystiedostossa. Asetusten muuttamisen jälkeen sinun on käynnistettävä sshd-palvelu uudelleen.

Kommentit

  • Avaintodennusta käytettäessä tarvitaan avain aiemmin luoda asiakaskoneella ja kopioida julkinen avain palvelimelle. Esimerkki:
asiakas $ ssh-keygen asiakas $ cat ~/.ssh/id_rsa.pub | ssh -p 5679 [sähköposti suojattu]"kissa >> ~/.ssh/authorized_keys"
  • /var/log/auth.log-tiedosto sisältää viestejä lähettäjältä sshd. Jos tämä tiedosto puuttuu, sinun on määritettävä lokijärjestelmäsi.
esimerkki syslogista ja syslon-ng:stä. Käytän syslog-ng:tä ja minun piti lisätä seuraavat rivit /etc/syslog-ng/syslog-ng.conf-tiedostoon:

kohde authlog (tiedosto("/var/log/auth.log"); ); loki ( lähde (src); kohde (authlog); );

  • ja käynnistä syslog-ng-palvelu uudelleen.
    Jos käytät ei-standardista porttia, saatat joutua määrittämään palomuurisi (iptables, palomuuri jne.). Esimerkki
iptablesin asetukset:

root# iptables -A INPUT -p tcp -m tila --tila UUSI,PERUSTETTU --dport 5679 -j HYVÄKSY root#-palvelu iptables tallenna root# iptables -L -n Ketju INPUT (käytäntö ACCEPT) kohde prot opt ​​lähteen kohde HYVÄKSY icmp -- 0.0.0.0/0 0.0.0.0/0 HYVÄKSY tcp -- 0.0.0.0/0 0.0.0.0/0 tila UUSI tcp dpt:22 HYVÄKSY tcp -- 0.0.0.0/0 0.0.0.0/0 tila UUSI tcp dpt :80 HYVÄKSY tcp -- 0.0.0.0/0 0.0.0.0/0 tila UUSI, PERUSTETTU tcp dpt:5679 ...

Jos se ei riitä

  • Nämä ovat vain perusasetuksia. Lisäksi voit määrittää