Caracteristicile hardcore openssl și openssh, despre care nu știați

Instrumente precum OpenSSH și OpenSSL nu trebuie să fie prezentate. Acestea sunt prieteni veșnici ai oricărui sistem sysadmin și mulți utilizatori avansați. Cu toate acestea, nu toată lumea știe despre adevărata lor putere și capacități, acumulate pe parcursul anilor de dezvoltare. Astăzi veți descoperi o mulțime de modalități interesante de a utiliza aceste programe.







OpenSSH, care a înlocuit Telnet-ul neclar, încă ocupă primul loc printre sistemele de gestionare la distanță datorită securității și ușurinței utilizării. Toată lumea o poate înțelege, chiar și ceainicele cele mai cromate, dar majoritatea covârșitoare a utilizatorilor utilizează cel puțin capabilitățile sale. Vom trece peste poveștile despre chei, redirecționarea porturilor, proxy-uri și alte trucuri utile, dar bine cunoscute, și vom considera modalități foarte interesante și nu prea comune de utilizare a acestui instrument.

Caracteristicile hardcore openssl și openssh, despre care nu știați
Utilizarea OpenSSL pentru a vă conecta la Gmail

Lista completă a comenzilor OpenSSL este disponibilă prin următoarele opțiuni: comanda list-standart, comanda list-message-digest, comanda list-cifr.

Așadar, trucul numărul unu este mai multe conexiuni. OpenSSH este capabil să servească mai multe conexiuni simultane la aceeași mașină. De obicei, utilizatorii încep doar comanda și așteaptă să fie finalizați, pentru a porni următoarea. Din fericire, această problemă este ușor de ocolită prin divizarea unei conexiuni în mai multe sesiuni. Doar adăugați fișierul de configurare ssh (

/.ssh/config) următoarele rânduri:

Puteți crea cât mai multe conexiuni la același server pe care le considerați potrivite și nu trebuie să vă petreceți timp pentru reauthenticare.

Caracteristicile hardcore openssl și openssh, despre care nu știați
Criptați fișierele utilizând OpenSSL

Trick number two - conexiuni proxy. De exemplu, nu puteți crea o conexiune directă la un server SSH, dar puteți utiliza o altă gazdă pentru aceasta, la care aveți și acces SSH. Adăugați următoarele linii în fișierul config:

Comanda gazdă ssh va crea o conexiune la serverul host.com prin serverul proxy-host.com.

Toate conexiunile vor trece prin proxy-ul HTTP specificat.

Numărul de truc patru este testul de transfer al rețelei. Pentru a testa viteza de conectare, nu este necesar să instalați software specializat, suficient utilitate pv și vechi bun SSH:

Testați viteza de conectare cu SSH și pv

Acum, tot traficul care trece prin host.com va fi vizibil în fereastra grafică wireshark a mașinii.

Truc numărul șase - transferați fișiere la viteză mică. Uneori este necesar să transferați un număr mare de fișiere la o mașină de la distanță, dar procedați astfel încât procesul să nu interfereze cu rețeaua. În acest caz, puteți utiliza instrumentul de flux:

Trick number șapte este întotdeauna o sesiune SSH deschisă. Utilizatorii de notebook-uri, a căror conexiune la rețea este posibil să nu fie permanentă, trebuie să reîncarce clientul SSH la momentul apariției rețelei și să o omoare atunci când conexiunea este pierdută. Puteți evita acest lucru folosind instrumentul autossh, care va menține iluzia unei conexiuni permanente la server, restabilind comunicarea atunci când este disponibilă rețeaua:

Caracteristicile hardcore openssl și openssh, despre care nu știați
Facem punctul de referință al serverului SSL Gmail

Trick numărul nouă - compararea la distanță a fișierelor. Este adesea necesară compararea versiunilor locale și la distanță ale oricărui config, dar copierea fișierelor înainte și înapoi este incomodă și lungă. În acest caz, puteți utiliza următoarea comandă:

Același lucru se poate face și pentru două fișiere care se află pe servere diferite:

cpu0: AES RNG







Rezultatele benchmark-ului instrumentelor criptografice încorporate în CPU-ul platformei VIA Eden (instrucțiuni procesor de lucru cu algoritmul de criptare AES simetric bloc):

Trick number 13 - sincronizarea timpului folosind SSH. În cazul în care aparatul nu are acces la serverul NTP sau clientul NTP nu este instalat pe acesta, puteți sincroniza timpul dintre mașini după cum urmează:

Trick numărul 14 - instalarea de pachete ale mașinii la distanță de la local. Este adesea necesar să se sincronizeze două mașini, astfel încât să aibă același set de pachete instalate. Metodele standard fac acest lucru dificil, dar utilizarea SSH este ușoară:

Trick numărul 15 este o imagine a unui ecran de la distanță. Este foarte ușor să obțineți o imagine a serverului X de la o mașină la distanță folosind pachetul grafic ImageMagick standard:

Pentru ao salva într-un fișier, ultima comandă ar trebui înlocuită cu "> file.png"

Trick number 16 - accelerarea transferului de date. Dacă mașina cu care este stabilită conexiunea, sunt în mod evident într-o rețea securizată (de exemplu, acasă sau la birou), transmisia de date înseamnă SSH poate fi oarecum accelerată prin utilizarea de algoritm de criptare mai puțin puternic. Pentru aceasta, adăugați următoarele fișiere la fișierul de configurare:

Trick number 17 - sunet de ieșire de la o mașină la distanță la o mașină locală. Împreună cu imaginea ecranului de la distanță uneori vreau să primesc un sunet. Acest lucru se face folosind banul dd:

Trick number 18 - rularea unui script local pe mașina de la distanță. Este adesea necesar să rulați un script pe o mașină la distanță, dar nu este necesar să îl copiați acolo, trebuie doar să executați următoarea comandă simplă:

OpenSSL este protecția și certificarea sistemului de date, care a fost dezvoltat ca răspuns la crearea de SSL, Secure Sockets Netscape. Contrar credintei populare, OpenSSL nu este un instrument pentru punerea în aplicare a SSL-protocolului și poate realiza o mulțime de funcții diferite, inclusiv cheile de control și certificate, numărul hash-uri, etc Aici este doar o listă parțială de caracteristici ale procesorului criptografic ..:

  • crearea și gestionarea cheilor RSA și DSA (comenzi rsa, dsa, dsaparam);
  • crearea certificatelor în format x509, generarea de cereri de certificare, recuperare (x509, req, verificare, ca, crl, pks12, pks7);
  • criptarea datelor simetrice și asimetrice (comenzi enc, rsautl);
  • calcularea hash-urilor (comanda dgst);
  • lucrați cu S / MIME (comanda s / mime).

De asemenea, OpenSSL poate fi folosit pentru a testa serverele SSL și clienții utilizând comenzi speciale pentru serverele client și pentru a testa viteza diferitelor algoritmi (comanda de viteză).

Am scris în repetate rânduri despre activitatea pachetului OpenSSL, deci nu vom lua în considerare exemplele standard ale utilizării sale, cum ar fi crearea de hash-uri și certificate, și imediat trece la trucuri mai grave.

Caracteristicile hardcore openssl și openssh, despre care nu știați

Testează viteza algoritmilor cu viteza de comandă

Timpul este bani

Una dintre caracteristicile interesante ale OpenSSL este că poate deține un punct de referință al algoritmilor utilizați și vitezei de a stabili o conexiune SSL. Comanda standard s_time este în acest scop. Pentru a evalua viteza instalării unei conexiuni SSL, trebuie să o aplicați comenzii open:

Același lucru se poate face și cu ajutorul celor mai persistenți algoritmi:

Aceste două comenzi vă permit să determinați lățimea maximă de bandă a serverului SSL. Dar o modalitate și mai interesantă este de a testa toți algoritmii sprijiniți. Pentru aceasta, va trebui să recurgem la scripting:

Această comandă vă permite să măsurați viteza de instalare a unei conexiuni SSL utilizând diferiți algoritmi de criptare, care pot fi utilizați, de exemplu, pentru reglarea unui server SSL. Dacă serverul SSL ca atare nu există încă, el poate fi ușor emulat utilizând OpenSSL în sine. Pe serverul de mașină, porniți serverul OpenSSL:

Pe client, executați următoarea comandă:

Partea clientului

O altă comandă OpenSSL interesantă - l s_client, care vă permite să vă conectați la o distanță SSL-servere pentru a le testa. Cel mai adesea folosesc această comandă pentru a verifica data eliberării certificatului. Pentru a face acest lucru, pur și simplu conectați la un SSL server de la distanță, așteptați până când ecranul afișează informații despre certificat, și apoi să-l conduce prin toate aceeași openssl, până în prezent izola. Când folosiți o comandă, totul arată astfel:

Extragem informațiile necesare din certificatul x509

Comanda s_client poate fi de asemenea folosită pentru a testa serverul pentru o vulnerabilitate care implică utilizarea algoritmilor de criptare instabili:

Un server care nu suportă algoritmi de criptare non-persistenți va refuza pur și simplu să stabilească o conexiune, așa cum a procedat în cazul unui server Google. Comanda s_client este, de asemenea, destul de utilă pentru depanarea diferitelor protocoale (în acest caz acționează ca un Telnet bazat pe SSL). De exemplu:

criptare

Despre criptarea cu ajutorul OpenSSL nu s-au scris doar leneși, așa că nu ne vom concentra pe principiile de criptare, ci pe modul în care pot fi utilizate pentru sarcini auxiliare. Utilitarul liniei de comandă openssl este convenabil deoarece, la fel ca toate celelalte comenzi UNIX, poate primi date despre intrare și are o ieșire standard pentru ele. Prin urmare, utilizând o comandă simplă, puteți oferi, de exemplu, un transfer sigur de fișiere prin rețea:

De asemenea, puteți aplica diverse scripturi pentru a automatiza criptarea mai multor fișiere (parola de criptare în / tmp / passwd):

Pentru a decripta fișierele individuale, utilizați următoarea comandă:

Pentru a cripta un întreg director este mai ușor, desigur, să folosiți acest design:

OpenSSL este convenabil pentru generarea de parole:

Și puteți genera un hash pentru scrierea în / etc / passwd astfel:

Apropo, codarea în base64 poate fi utilă pentru trimiterea fișierelor dacă transferul de date binar nu este acceptat:

Când vine vorba despre unelte dezvoltate, testate în timp și utilizate pe scară largă, cum ar fi OpenSSL și OpenSSH, unixoids începe imediat să dea zeci de exemple de utilizare a acestora în viața de zi cu zi. Uneori, aceste exemple par simplu și obișnuite, dar uneori sunteți uimiți de ingeniozitatea dezvoltatorilor și a utilizatorilor acestor programe.

Distribuiți acest articol cu ​​prietenii dvs.:







Trimiteți-le prietenilor: