Jó gyakorlatok az OpenSSH-val

OpenSSH (Nyissa meg a Biztonságos héjat) olyan alkalmazások összessége, amelyek lehetővé teszik a hálózaton keresztüli titkosított kommunikációt az protokoll SSH. A program ingyenes és nyílt alternatívájaként jött létre Secure Shell, amely saját szoftver. « Wikipedia.

Egyes felhasználók úgy gondolhatják, hogy a bevált gyakorlatokat csak a szervereken szabad alkalmazni, és ez nem így van. Sok GNU / Linux disztribúció alapértelmezés szerint tartalmazza az OpenSSH-t, és néhány dolgot szem előtt kell tartani.

Biztonság

Ez a 6 legfontosabb szempont, amelyet szem előtt kell tartani az SSH konfigurálásakor:

  1. Használjon erős jelszót.
  2. Módosítsa az SSH alapértelmezett portját.
  3. Mindig az SSH protokoll 2. verzióját használja.
  4. Tiltsa le a root hozzáférést.
  5. Korlátozza a felhasználói hozzáférést.
  6. Használja a kulcs hitelesítését.
  7. Egyéb opciók

Erős jelszó

A jó jelszó az, amely alfanumerikus vagy speciális karaktereket, szóközöket, kis- és nagybetűket stb. tartalmaz. Itt bent DesdeLinux Számos módszert mutattunk be a jó jelszavak generálására. Meglátogatható ezt a cikket y ez a másik.

Módosítsa az alapértelmezett portot

Az SSH alapértelmezett portja 22. A változtatáshoz csak a fájlt kell szerkesztenünk / Etc / ssh / sshd_config. Megkeressük azt a sort, amely ezt mondja:

#Port 22

visszavonjuk, és a 22-et másik számra cseréljük .. például:

Port 7022

A terminálon futtathatjuk azokat a portokat, amelyeket nem használunk a számítógépünkben / szerverünkön:

$ netstat -ntap

Most, hogy hozzáférjünk számítógépünkhöz vagy szerverünkhöz, ezt a -p opcióval kell megtenni a következőképpen:

$ ssh -p 7022 usuario@servidor

Használja a 2. protokollt

Ahhoz, hogy megbizonyosodhassunk arról, hogy az SSH protokoll 2. verzióját használjuk, szerkesztenünk kell a fájlt / Etc / ssh / sshd_config és keresse meg a sort, amely ezt mondja:

# 2. protokoll

Megszüntetjük és újraindítjuk az SSH szolgáltatást.

Ne engedélyezze a hozzáférést root felhasználóként

Annak megakadályozása érdekében, hogy a root felhasználó távolról hozzáférhessen az SSH-n keresztül, megkeressük a fájlt/ Etc / ssh / sshd_config a vonal:

#PermitRootLogin no

és nem vesszük észre. Szerintem érdemes tisztázni, hogy ennek megtétele előtt meg kell győződnünk arról, hogy felhasználónk rendelkezik-e a szükséges engedélyekkel az adminisztrációs feladatok elvégzéséhez.

Korlátozza a felhasználók hozzáférését

Nem árt, ha csak bizonyos megbízható felhasználók számára engedélyezünk SSH-n keresztüli hozzáférést, ezért visszatérünk a fájlhoz / Etc / ssh / sshd_config és hozzáadjuk a sort:

Az AllowUsers elav usemoslinux kzkggaara

Ahol nyilvánvalóan az elav, az usemoslinux és a kzkggaara felhasználók lesznek képesek hozzáférni.

Használja a kulcs hitelesítését

Bár ez a módszer a leginkább ajánlott, különös gonddal kell eljárnunk, mert a kiszolgálóhoz a jelszó megadása nélkül fogunk hozzáférni. Ez azt jelenti, hogy ha egy felhasználónak sikerül belépnie a munkamenetünkbe, vagy ellopják a számítógépünket, akkor bajban lehetünk. Lássuk azonban, hogyan kell csinálni.

Az első dolog egy pár (nyilvános és privát) kulcs létrehozása:

ssh-keygen -t rsa -b 4096

Ezután átadjuk a kulcsunkat a számítógépnek / szervernek:

ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7

Végül meg kell jegyeznünk a dossziét / Etc / ssh / sshd_config a vonal:

AuthorizedKeysFile .ssh/authorized_keys

Egyéb opciók

Yukiteru közreműködése

30 másodpercre csökkenthetjük azt a várakozási időt, amelyben a felhasználó sikeresen bejelentkezhet a rendszerbe

LoginGraceTime 30

Annak érdekében, hogy elkerüljük a ssh támadásokat a TCP Spoofing révén, a titkosított életet hagyva az ssh oldalon, legfeljebb 3 percig aktív maradjon, aktiválhatjuk ezt a 3 lehetőséget.

TCPKeepAlive nincs ClientAliveInterval 60 ClientAliveCountMax 3

Tiltsa le a rhosts vagy a shosts fájlok használatát, amelyeket biztonsági okokból kérünk, hogy ne használjanak.

IgnoreRhosts igen IgnoreUserKnownHosts igen RhostsAuthentication nem RhostsRSAAuthentication nem

A bejelentkezés során ellenőrizze a felhasználó tényleges engedélyeit.

StrictModes yes

Engedélyezze a kiváltságok szétválasztását.

UsePrivilegeSeparation yes

következtetéseket:

Ezekkel a lépésekkel extra biztonságot adhatunk számítógépeinknek és szervereinknek, de soha nem szabad megfeledkeznünk arról, hogy van egy fontos tényező: mi van a szék és a billentyűzet között. Ezért ajánlom az olvasást ezt a cikket.

forrás: HowToForge


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   yukiteru dijo

    Kiváló post @elav, és néhány érdekes dolgot hozzáfűzök:

    BejelentkezésGraceTime 30

    Ez lehetővé teszi számunkra, hogy 30 másodpercre csökkentse azt a várakozási időt, amelyben a felhasználó sikeresen bejelentkezhet a rendszerbe

    TCPKeepAlive sz
    ClientAlive intervallum 60
    ClientAliveCountMax 3

    Ez a három lehetőség nagyon hasznos az ssh támadások elkerülésére a TCP Spoofing segítségével, így a titkosított életben marad az ssh oldalon, legfeljebb 3 percig aktív.

    IgnoreRhosts igen
    IgnoreUserKnownHosts igen
    RhostsHitelesítési sz
    RhostsRSAHitelesítési sz

    Letiltja a rhosts vagy a shosts fájlok használatát, amelyeket biztonsági okokból arra kérünk, hogy ne használják.

    StrictModes igen

    Ez az opció a felhasználó tényleges engedélyeinek ellenőrzésére szolgál a bejelentkezés során.

    UsePrivilegeSeparation igen

    Engedélyezze a kiváltságok szétválasztását.

    1.    élénk dijo

      Nos, egy idő után szerkesztem a bejegyzést, és hozzáadom a bejegyzéshez 😀

  2.   Eugenio dijo

    Felesleges megjegyzés, hogy ne változtassuk meg a sort. A megjegyzéssel ellátott sorok az egyes opciók alapértelmezett értékét mutatják (olvassa el a fájl elején található magyarázatot). A root hozzáférés alapértelmezés szerint le van tiltva, stb. Ezért a megjegyzés nélküli semmilyen hatása nincs.

    1.    élénk dijo

      # Az alapértelmezett sshd_config opciókhoz használt stratégia
      # Az OpenSSH az opciókat adja meg az alapértelmezett értékkel, ahol
      # lehetséges, de hagyd őket kommentálni. A nem kommentált opciók felülírják a
      # alapértelmezett érték.

      Igen, de például honnan tudjuk, hogy csak a protokoll 2. verzióját használjuk? Mert jól használhatnánk az 1-et és a 2-et egyszerre. Ahogy az utolsó sor mondja, ennek az opciónak a meg nem jegyzése például felülírja az alapértelmezett beállítást. Ha alapértelmezés szerint a 2. verziót használjuk, akkor jó, ha nem, akkor IGEN vagy IGEN 😀

      Köszönöm a megjegyzést

  3.   SLI dijo

    Nagyon jó cikk, több dolgot tudtam, de egy dolog, ami számomra soha nem világos, a kulcsok használata, valójában mik azok és milyen előnyei vannak, ha kulcsokat használok, akkor használhatok jelszavakat is ??? Ha igen, akkor miért növeli a biztonságot, és ha nem, hogyan érhetem el egy másik számítógépről?

  4.   Viszlát dijo

    Üdvözlet, telepítettem a debian 8.1-et, és a Windows PC-ről nem tudok a WINSCP-vel csatlakozni a debianhoz, az 1. protokollt kell használnom? bármilyen segítség .. köszönöm
    Viszlát

  5.   franksanabria dijo

    Lehet, hogy érdekli ez az Opensh-ről szóló videó https://m.youtube.com/watch?v=uyMb8uq6L54

  6.   csempe dijo

    Néhány dolgot itt szeretnék kipróbálni, többeket már kipróbáltam az Arch Wikinek köszönhetően, másokat lustaság vagy ismerethiány miatt. Mentem, amikor elindítom az RPi-t