Homepage » hogyan kell » Ismerje meg az OpenSSH Ins és Out-t a Linux PC-n

    Ismerje meg az OpenSSH Ins és Out-t a Linux PC-n

    Számos alkalommal kiterjesztettük az SSH erényeit a biztonság és a távoli elérés érdekében. Vessünk egy pillantást a szerverre, néhány fontos „karbantartási” szempontra, és néhány olyan kérdésre, amelyek turbulenciát adhatnak az egyébként sima útnak.

    Miközben ezt az útmutatót Linux szemszögéből írtuk, ez az OpenSSH-ra is vonatkozik a Mac OS X és a Windows 7 Cygwin rendszeren keresztül..

    Miért biztonságos

    Sokszor megemlítettük, hogy az SSH egy nagyszerű módja annak, hogy biztonságosan csatlakozzon az alagutakhoz és az alagutak egyik pontjáról a másikra. Vegyünk egy nagyon rövid pillantást arra, hogy a dolgok hogyan működnek, így jobban megértheted, hogy a dolgok miért néha furcsa.

    Amikor úgy döntünk, hogy kapcsolatot létesítünk egy másik számítógéppel, gyakran olyan protokollokat használunk, amelyekkel könnyen kezelhető. Mindketten a Telnet és az FTP eszébe jut. Információt küldünk egy távoli kiszolgálónak, majd visszaigazolást kapunk a kapcsolatunkról. Annak érdekében, hogy bizonyos típusú biztonságot megállapítsanak, ezek a protokollok gyakran használják a felhasználónevet és a jelszót. Ez azt jelenti, hogy teljesen biztonságosak, igaz? Rossz!

    Ha úgy gondoljuk, hogy az összekapcsolási folyamatot levélként használjuk, akkor az FTP és a Telnet és hasonlók használata nem olyan, mint a szokásos levelezési borítékok használata. Ez inkább a képeslapok használata. Ha valaki közepén lép be, láthatják az összes információt, beleértve mindkét levelező címét, valamint a kiállított felhasználónévet és jelszót. Ezután megváltoztathatják az üzenetet, ugyanazokat az információkat tarthatják fenn, és az egyik levelezőt vagy a másik személyt megszemélyesíthetik. Ezt „ember-közepén” támadásnak nevezik, és nemcsak a fiókot veszélyezteti, hanem minden elküldött üzenetet és a beérkezett fájlt megkérdőjelez. Nem lehet biztos benne, hogy a feladóval beszél vagy nem, és még ha te is, akkor nem lehet biztos benne, hogy senki sem néz mindent belőlük.

    Most nézzük meg az SSL titkosítást, ami a HTTP-t biztonságosabbá teszi. Itt van egy postahivatalunk, amely kezeli a levelezést, aki ellenőrzi, hogy a címzettje-e, akit ő állít, és van-e törvénye, amely megvédi a leveleket attól, hogy nézzenek. Biztonságosabb az egész, és a központi hatóság - a Verisign az egyik, a HTTPS példánk esetében - biztosítja, hogy az a személy, akinek e-mailt küld, ellenőrzi. Ezt úgy teszik, hogy nem engedélyezik a képeslapokat (titkosítatlan hitelesítő adatok); ehelyett valódi borítékokat rendelnek.

    Végül nézzük meg az SSH-t. Itt a beállítás egy kicsit más. Itt nincs központi hitelesítőünk, de a dolgok még mindig biztonságosak. Ennek az az oka, hogy olyan leveleket küldesz valakinek, akinek a címe már ismert - mondván, beszélgetni velük a telefonon -, és néhány igazán divatos matematikát használ, hogy aláírja a borítékot. Átadod a bátyádnak, barátnődnek, apádnak vagy lányodnak, hogy vigye el a címet, és csak akkor, ha a címzett divatos matematikai mérkőzéseit feltételezed, hogy a cím az, amit kell. Ezután kapsz egy levelet, amit ez a félelmetes matematika megvéd a szemétől. Végül elküldjük hitelesítő adatait egy másik titkos algoritmikusan elvarázsolt borítékban a rendeltetési helyre. Ha a matematika nem egyezik, feltételezhetjük, hogy az eredeti címzett költözött, és újra meg kell erősítenünk a címüket.

    A magyarázattal, ameddig csak van, úgy gondoljuk, hogy ott vágjuk. Ha még több betekintést nyerhetsz, nyugodtan beszélhetsz a megjegyzésekben. Most pedig nézzük meg az SSH legmegfelelőbb jellemzőjét, a hoszt hitelesítést.

    Host Keys

    A gazdagép-hitelesítés lényegében az a rész, ahol valaki, akiben megbízik, a borítékot (mágikus matematikával lezárt) veszi át, és megerősíti a címzett címét. Ez egy nagyon részletes leírás a címről, és néhány bonyolult matematikán alapul, amit csak átugorunk. Van néhány fontos dolog, amit el kell távolítani ebből:

    1. Mivel nincs központi hatóság, az igazi biztonság a gazda kulcsban, a nyilvános kulcsokban és a magánkulcsokban rejlik. (Ez utóbbi két kulcs konfigurálása akkor történik, amikor hozzáférést kap a rendszerhez.)
    2. Általában, amikor egy másik számítógéphez csatlakozik SSH-n keresztül, a gazdagép tárolódik. Ez gyorsabbá teszi a jövőbeni műveleteket (vagy kevesebbet).
    3. Ha a gazda kulcsát megváltoztatja, akkor valószínűleg figyelmeztetést kap, és óvatosnak kell lennie!

    Mivel az SSH-kiszolgáló személyazonosságának megállapításához a gazdagombot a hitelesítés előtt használják, biztosan ellenőrizze a kulcsot a csatlakoztatás előtt. Az alábbiakban egy megerősítő párbeszédpanel jelenik meg.

    Nem kell aggódnia! Gyakran, amikor a biztonság aggodalomra ad okot, egy különleges hely lesz, amelyet a gazda kulcs (a fenti ECDSA ujjlenyomat) megerősíthet. Teljesen online vállalkozásokban gyakran csak biztonságos bejelentkezési webhelyen lesz. Előfordulhat, hogy telefonon keresztül (vagy úgy dönt, hogy!) Telefonáljon az IT-részleggel, hogy megerősítse ezt a kulcsot. Még olyan helyeken is hallottam, ahol a kulcs a munkajelvényén vagy a különleges „Sürgősségi számok” listán található. És ha fizikai hozzáférése van a célgéphez, akkor is ellenőrizheti magát!

    A rendszer gazda kulcsának ellenőrzése

    A kulcsok készítéséhez négyféle típusú titkosítási algoritmus létezik, de az OpenSSH alapértelmezettsége az év elején az ECDSA (néhány jó okkal). Ma erre összpontosítunk. Íme az az SSH-kiszolgálón futó parancs, amelyhez hozzáférhet:

    ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key.pub -l

    A kimenetnek valami ilyet kell tennie:

    256 kb. 62: ea: 7c: e4: 9e: 2e: a6: 94: 20: 11: db: 9c: 78: c3: 4c /etc/ssh/ssh_host_ecdsa_key.pub

    Az első szám a kulcs bithossza, majd maga a kulcs, és végül megvan a tárolt fájlja. Hasonlítsa össze ezt a középső részt azzal, amit a távoli bejelentkezéskor kéri. Meg kell egyeznie, és mindannyian be van állítva. Ha nem, akkor valami más is történhet.

    Az SSH-n keresztül csatlakoztatott összes gazdagépet megtekintheti az ismert_fájlfájlja alapján. Általában a következő címen található:

    ~ / .Ssh / known_hosts

    Ezt bármely szövegszerkesztőben megnyithatja. Ha megnézi, próbálja meg figyelni a kulcsok tárolására. A gazdagép nevét (vagy webcímét) és IP-címét tárolják.

    A Host Keys és a problémák megváltoztatása

    Néhány oka van annak, hogy a gazda kulcsok megváltoztak, vagy nem egyeznek meg az ismert_fájlfájlban bejelentkezett adatokkal.

    • A rendszert újra telepítették / újra konfigurálták.
    • A gazdagombokat manuálisan módosították a biztonsági protokollok miatt.
    • Az OpenSSH szerver a biztonsági problémák miatt frissített és különböző szabványokat használ.
    • Megváltozott az IP vagy a DNS lízing. Ez gyakran azt jelenti, hogy megpróbál hozzáférni egy másik számítógéphez.
    • A rendszert valamilyen módon veszélyeztették, hogy megváltozott a gazda kulcs.

    A legvalószínűbb, hogy a probléma az első három, és figyelmen kívül hagyhatja a változást. Ha megváltozott az IP / DNS lízing, akkor lehet, hogy probléma merül fel a szerverrel, és lehet, hogy egy másik gépre irányítódik. Ha nem biztos benne, mi az oka a változásnak, akkor valószínűleg feltételezzük, hogy ez a lista utolsó listája.

    Hogyan kezeli az OpenSSH ismeretlen házakat

    Az OpenSSH rendelkezik egy beállítással az ismeretlen gazdagépek kezelésére, amely a „StrictHostKeyChecking” változó (idézőjelek nélkül) tükröződik..

    A konfigurációtól függően az ismeretlen gazdagépekkel rendelkező SSH-kapcsolatok (amelyek kulcsai még nem szerepelnek az ismert_fájlfájlban) háromféleképpen járhatnak.

    • A StrictHostKeyChecking értéke nincs; Az OpenSSH automatikusan csatlakozik bármely SSH szerverhez, függetlenül a gazdagép állapotától. Ez bizonytalan és nem ajánlott, kivéve, ha az operációs rendszer újratelepítése után egy csomó gazdagépet ad hozzá, ami után visszaállítja azt.
    • A StrictHostKeyChecking meg van kérdezve; Az OpenSSH megmutatja az új gazda kulcsokat, és megerősítést kér, mielőtt hozzáadná őket. Ez megakadályozza, hogy a kapcsolatok megváltoztassák a megváltoztatott gazdagombokat. Ez az alapértelmezett.
    • A StrictHostKeyChecking értéke igen; A „nem” ellenkezője megakadályozza, hogy csatlakozzon olyan állomáshoz, amely még nincs jelen az ismert_fájlfájljában.

    Ezt a változót könnyedén megváltoztathatja a parancssorban a következő paradigma használatával:

    ssh -o 'StrictHostKeyChecking [opció]' felhasználó @ host

    Cserélje ki az [opció] értékét a „nem”, „kérdezze” vagy „igen” jelzéssel. Légy tudatában annak, hogy egyetlen egyenes idézet van körülvéve a változót és annak beállítását. A felhasználó @ gazdagépét is cserélje azon kiszolgáló felhasználónevével és gazdanevével, amelyhez csatlakozik. Például:

    ssh -o 'StrictHostKeyChecking kérdezze' [email protected]

    A módosított kulcsok miatt blokkolt kezelők

    Ha olyan kiszolgálót szeretne elérni, amelynek kulcsát már megváltoztatta, az alapértelmezett OpenSSH konfiguráció megakadályozza, hogy hozzáférjen hozzá. Megváltoztathatná a StrictHostKeyChecking értékét az adott fogadó számára, de ez nem lenne teljesen, alaposan, paranoiásan biztonságos, ugye? Ehelyett egyszerűen eltávolíthatjuk a sértő értéket az ismert_hosts fájlunkból.

    Ez minden bizonnyal egy csúnya dolog a képernyőn. Szerencsére ennek oka az újratelepített operációs rendszer volt. Szóval, közelítsük meg a szükséges vonalat.

    Ott megyünk. Nézze meg, hogyan idézi a szerkeszteni kívánt fájlt? Még a sorszámot is megadja nekünk! Tehát nyissuk meg a fájlt Nano-ban:

    Itt van a sértő kulcs, az 1. sorban. Mindössze annyit kell tennünk, hogy a Ctrl + K-t megütjük, hogy kivágjuk az egész sort.

    Ez sokkal jobb! Tehát most megérintjük a Ctrl + O billentyűt, hogy kiírjuk (mentjük) a fájlt, majd a Ctrl + X kilépéshez.

    Most kapunk egy szép üzenetet, amire egyszerűen „igen” válaszolhatunk.

    Új gazda kulcsok létrehozása

    A rekordért valójában nem túl sok ok van arra, hogy egyáltalán megváltoztassa a gazda kulcsát, de ha valaha találja meg a szükségességet, könnyen elvégezheti.

    Először változtassa meg a megfelelő rendszerkönyvtárat:

    cd / etc / ssh /

    Általában ez a hely, ahol a globális gazda kulcsok vannak, noha egyes disztribútorok máshol helyezkednek el. Ha kétségei vannak, ellenőrizze a dokumentációt!

    Ezután töröljük az összes régi kulcsot.

    sudo rm / etc / ssh / ssh_host_ *

    Alternatív megoldásként áthelyezheti őket egy biztonságos mentési könyvtárba. Csak egy gondolat!

    Ezután elmondhatjuk, hogy az OpenSSH szerver újra konfigurálhatja magát:

    sudo dpkg-reinfigure openssh-server

    Egy gyors üzenet jelenik meg, miközben a számítógép létrehozza az új kulcsokat. Ta-da!


    Most, hogy tudod, hogyan működik az SSH egy kicsit jobban, meg kell tudnod érni magát a kemény foltokból. A „Távoli gazdaazonosító megváltozott” figyelmeztetés / hiba az, ami sok felhasználót dob ​​ki, még azok is, akik ismerik a parancssort.

    .