Hardcore funkciók openssl és openssh, amelyekről nem tudtok

Az olyan eszközöket, mint az OpenSSH és az OpenSSL, nem kell bemutatni. Ezek bármely rendszergazda és sok fejlett felhasználó örök barátai. Azonban nem mindenki tudja a valódi erejét és képességeit, amelyek a fejlődés évében felhalmozódtak. Ma rengeteg érdekes módot talál a programok használatára.

Az OpenSSH, amely lecserélte a szivárgó Telnet-t, továbbra is az első helyen áll a távkezelő rendszerek között a biztonság és a könnyű használat miatt. Ezt mindenki meg tudja érteni, még a leginkább krómozott teáskannákat is, de a felhasználók túlnyomó többsége legalább a lehetőségeit használja fel. Tegyük fel a történeteket a kulcsokról, a kikötő továbbításáról, a proxyingről és más hasznos, de jól ismert trükkökről, és fontold meg az eszköz használatának nagyon érdekes és nem túl gyakori módjait.

Hardcore funkciók openssl és openssh, amelyekről nem tudtok
Az OpenSSL használata a Gmailhez való csatlakozáshoz

Az OpenSSL parancsok teljes listája a következő lehetőségek közül választható: list-standart-parancsok, list-message-digest-parancsok, list-cipher-parancsok.

Tehát az első trükk egy többszörös kapcsolat. Az OpenSSH képes egyszerre több egyidejű kapcsolatot kiszolgálni ugyanazon a gépen. Általában a felhasználók csak elindítják a parancsot, és várják, hogy befejeződjön, és elindítsa a következőt. Szerencsére ez a probléma könnyen megkerülhető úgy, hogy egy kapcsolatot több munkamenetbe oszt. Add meg az ssh konfigurációs fájlt (

/.ssh/config) a következő sorokat:

Annyi kapcsolatot hozhat létre ugyanarra a kiszolgálóra, amennyit csak gondolsz, és nem kell időt töltenie az újbóli hitelesítéshez.

Hardcore funkciók openssl és openssh, amelyekről nem tudtok
A fájlok titkosítása az OpenSSL használatával

Trick number two - proxy kapcsolatok. Például nem hozhat létre kapcsolatot közvetlenül egy SSH kiszolgálóhoz, de ehhez egy másik gazdagépet is használhat, amelyhez SSH hozzáféréssel is rendelkezel. Adja hozzá a következő sorokat a config fájlhoz:

Az ssh gazdagép a proxy-host.com kiszolgálón keresztül létrehozza a kiszolgáló host.com kapcsolatot.

Most minden kapcsolat megy keresztül a megadott HTTP proxy-n.

A négyes trükk száma a hálózati átviteli teszt. A kapcsolat sebességének teszteléséhez nincs szükség speciális szoftver telepítésére, elegendő segédprogram pv és régi jó SSH használatára:

Ellenőrizze a kapcsolat sebességét SSH és pv segítségével

Most a host.com webhelyen áthaladó összes forgalom látható lesz a gép wireshark grafikus ablakában.

Trick six - kis sebességgel továbbítja a fájlokat. Néha nagyszámú fájlt kell átküldeni egy távoli gépre, de ez azért van így, hogy a folyamat ne zavarja a hálózatot. Ebben az esetben használhatja a cstream eszközt:

A hét csevegője mindig nyitott SSH munkamenet. A notebookok használói, akiknek a hálózathoz való csatlakozása nem lehet állandó, minden alkalommal újra kell futtatni az SSH klienst a hálózat megjelenésekor, és meg kell ölni, amikor a kapcsolat megszakad. Ezt elkerülheti az autossh eszköz használatával, amely fenntartja a szerverhez való állandó kapcsolat illúzióját, és helyreállítja a kommunikációt, amikor a hálózat elérhető:

Hardcore funkciók openssl és openssh, amelyekről nem tudtok
Az SSL-kiszolgáló Gmail referenciaértékét teszünk

Trick number nine - a fájlok távoli összehasonlítása. Gyakran össze kell hasonlítani minden konfiguráció helyi és távoli verzióit, de a fájlok lemásolása előre-hátra kellemetlen és hosszú. Ebben az esetben a következő parancsot használhatja:

Ugyanez a két kiszolgálón lévő fájl esetében is megtehető:

cpu0: RNG AES

A VIA Eden platform CPU-jába épített kriptográfiai eszközök referenciaértékének eredményei (feldolgozó utasítások a blokk szimmetrikus AES titkosítás algoritmusaival való feldolgozáshoz):

Trick number 13 - időszinkronizálás SSH használatával. Ha a gép nem fér hozzá az NTP szerverhez, vagy az NTP kliens nincs telepítve rajta, akkor szinkronizálhatja a gépek közötti időt az alábbiak szerint:

Trick number 14 - a távoli gép csomagjainak telepítése a helyi hálózaton. Gyakran szükség van két gép szinkronizálására, hogy ugyanaz legyen a telepített csomagok. A szabványos módszerek megnehezítik, de az SSH használata egyszerű:

A 15. trükk egy távoli képernyő képe. Nagyon könnyű egy X-kiszolgáló képet kapni egy távoli gépről a szabványos ImageMagick grafikus csomag használatával:

Ha fájlt szeretne menteni, az utolsó parancsot ki kell cserélni a "> file.png"

Trick number 16 - az adatátvitel gyorsítása. Ha a kapcsolatot létrehozó gépek olyan biztonságos hálózaton belül helyezkednek el (például egy irodában vagy egy otthonban), akkor az SSH segítségével történő adatátvitel némileg felgyorsulhat, ha kevésbé robusztus titkosítási algoritmust használnak. Ehhez adja hozzá a következő sorokat a konfigurációs fájlhoz:

Trick number 17 - kimeneti hang a távoli géptől a helyihez. A távoli asztal képével együtt néha hangot akarok szerezni. Ez a banális dd használatával történik:

Trick number 18 - a távoli gépen helyi parancsfájl futtatása. Gyakran szükség van egy parancsfájl futtatására egy távoli gépen, de nincs szükség ott másolni, csak a következő egyszerű parancsot futtassa:

Az OpenSSL egy adatvédelmi és tanúsítási rendszer, amelyet a Netscape SSL Secure Sockets Layer protokollra válaszul fejlesztettek ki. A közhiedelemmel ellentétben, az OpenSSL nem eszköz végrehajtására az SSL-protokoll, és végre sok különböző funkciókat, beleértve az ellenőrzési kulcsok és tanúsítványok, gróf hash stb Itt csak egy részleges lista az elemekről a kriptográfiai processzor ..:

  • RSA és DSA kulcsok létrehozása és kezelése (rsa, dsa, dsaparam parancsok);
  • X509 formátumú tanúsítványok létrehozása, tanúsítási kérelmek generálása, helyreállítás (x509, req, ellenőriz, ca, crl, pks12, pks7);
  • szimmetrikus és aszimmetrikus adat titkosítás (enc, rsautl parancsok);
  • hash kiszámítása (dgst parancs);
  • működik az S / MIME (s / mime paranccsal).

Az OpenSSL-t arra is használhatjuk, hogy SSL-kiszolgálókat és -ügyfeleket próbáljunk ki speciális sclient / s kiszolgálóparanccsal, és teszteljük a különböző algoritmusok sebességét (a sebesség parancsot).

Többször írtunk az OpenSSL csomaggal kapcsolatos munkáról, ezért nem fogjuk figyelembe venni az alkalmazás szokásos példáit, például a hasok és bizonyítványok létrehozását, de azonnal komolyabb trükkökre jutunk.

Hardcore funkciók openssl és openssh, amelyekről nem tudtok

Az algoritmusok sebességét a parancssebességgel teszteljük

Az idő pénz

Az OpenSSL egyik érdekes tulajdonsága, hogy az alkalmazott algoritmusok és az SSL kapcsolat létrehozásának sebességét is figyelembe veheti. Ehhez a standard parancs s_time. Az SSL-kapcsolat telepítésének sebességét fel kell mérni az openssl paranccsal:

Ugyanez történik a legstabilabb algoritmusok segítségével:

Ez a két parancs lehetővé teszi az SSL kiszolgáló maximális sávszélességének meghatározását. De még érdekesebb módja az összes támogatott algoritmus tesztelése. Ehhez a szkriptekhez kell fordulni:

Ez a parancs lehetővé teszi az SSL-kapcsolat telepítésének sebességét különböző titkosítási algoritmusok segítségével, amelyeket például egy SSL-kiszolgáló hangolására használhat. Ha az SSL-kiszolgáló önmagában még nem létezik, könnyen emulálható az OpenSSL segítségével. A kiszolgáló gépen indítsa el az OpenSSL kiszolgálót:

Az ügyfélen hajtsa végre a következő parancsot:

Ügyfél oldalán

Egy másik érdekes OpenSSL parancs az s_client, amely lehetővé teszi a távoli SSL kiszolgálókhoz való kapcsolódást a teszteléshez. Leggyakrabban ezt a parancsot használom a tanúsítvány kiadásának dátumának ellenőrzésére. Ehhez egyszerűen csatlakozzon a távoli SSL-kiszolgálóhoz, várjon addig, amíg a tanúsítványban szereplő információk nem jelennek meg a képernyőn, majd hajtsa végre ugyanazt az openssl-et, hogy kitöltse a dátumokat. Egy parancs használatakor mindenki így néz ki:

A szükséges információkat kivonjuk az x509 tanúsítványból

Az s_client parancsot arra is fel lehet használni, hogy tesztelje a kiszolgálót egy olyan biztonsági résért, amely instabil titkosítási algoritmusokat használ:

Egy olyan kiszolgáló, amely nem támogatja a nem tartós titkosítási algoritmusokat, egyszerűen megtagadja a kapcsolat létrehozását, mint a Google szerver esetében. Az s_client parancs is nagyon hasznos a különböző protokollok hibakeresésére (ebben az esetben SSL-alapú Telnet-ként működik). Például:

titkosítás

Az OpenSSL használatával végzett titkosításról nem csak a lusta íródott, így nem a titkosítás elveire összpontosítunk, hanem arról, hogyan használható a segédfeladatokhoz. Az openssl parancssori segédprogram kényelmes, mivel minden más UNIX parancshoz hasonlóan adatokat fogadhat a bemeneten, és rendelkezik szabványos kimenettel. Ennek eredményeképpen egy egyszerű parancs használatával biztosítható például a biztonságos átvitel a hálózaton keresztül:

Különböző szkripteket is alkalmazhat a több fájl titkosításának automatizálására (titkosítási jelszó a / tmp / passwd fájlban):

Az egyes fájlok dekódolásához használja a következő parancsot:

Egy egész könyvtár titkosításához természetesen könnyebb használni ezt a tervet:

Az OpenSSL kényelmes jelszavak létrehozására:

És létrehozhat egy hashot az / etc / passwd fájlba írásához, mint ez:

Egyébként a base64 kódolás hasznos lehet fájlok küldéséhez, ha a bináris adatátvitel nincs támogatva:

Amikor olyan fejlett, időben tesztelt és széles körben használt eszközökre, mint az OpenSSL és az OpenSSH, az unixoidok azonnal elkezdenek több tucat példát felhasználni a mindennapi életben. Néha ezek a példák egyszerűnek és rendesnek tűnnek, de néha egyszerűen elcsodálkoztak a programok fejlesztőinek és felhasználóinak leleményességében.

Ossza meg ezt a cikket barátaival: