Ssh în ferestre

Aproape zilnic, administratorul trebuie să facă ceva lucru pe servere. Cel mai adesea, acestea sunt simple operații simple, cum ar fi mutarea unui fișier sau repornirea unui serviciu. Cu toate acestea, atunci când un număr mare de servere, mai ales în cazul în care unele dintre ele sunt în afara biroului principal, administrarea devine dificilă, astfel încât cea mai mare parte a programelor de management de la distanță utilizează rapoarte prin excluderea cerințelor de transmitere a datelor securizate.

Indiferent de tipul de autentificare ales, telnet transferă comenzile de intrare și rezultatele lor prin rețea în text clar. Astfel, un atacator poate, în timp ce rămâne neobservat, să adune o mulțime de informații despre sistemele informatice, interceptând traficul de rețea.

Sistemul Unix are o istorie mai lungă de dezvoltare a instrumentelor de administrare la distanță decât Windows. Prin urmare, nu este surprinzător faptul că dezvoltatorii Unix au venit cu ideea de a crea un instrument pentru a proteja sesiunea cu administrare de la distanță. În prezent, acest instrument există pentru Windows, se numește SSH (Secure Shell).

Introducere în OpenSSH

Protocolul SSH este utilizat pentru a crea conexiuni sigure între calculatoarele din rețeaua publică. a doua versiune a produsului, SSH2, The oferă criptare puternică a datelor, autentifică, și este liber de prima versiune de greșeli. SSH2 poate proteja rețeaua de atacuri, cum ar fi om-in-the-middle si protectie antiefractie (atac man-in-the-middle se desfășoară după cum urmează: atacatorul este prins într-un dialog între calculatoare, intercepteaza pachetele de la unul dintre ele, modificari, si trimite o alta). Protocolul SSH nu depinde de sistemul de operare specific. Acesta vă permite să utilizați infrastructura cheilor publice pentru chei publice (PKI) și autentificarea standard cu o parolă. Există versiuni de SSH pentru toate sistemele de operare importante, care permit diferitelor platforme să interacționeze cu acest protocol.

Componentele Cygwin sunt situate pe un server FTP în diferite subdirectoare. Fiecare subdirector conține o versiune specifică a sursei și codul compilat. Fișierele sursă (care sunt opționale) au cuvântul src în numele lor. Trebuie să descărcați cea mai recentă versiune a componentelor. La momentul scrierii acestui articol, fișierele au nume /latest/zlib-1.1.3-6.tar.gz, /latest/cygwin/cygwin-1.3.2-1.tar.bz2 și /latest/openssh/openssh-2.9p2-3 .tar.bz2 (aprox. ed .. cea mai recentă versiune /latest/cygwin/cygwin-1.3.3-2.tar).

Instalarea clientului OpenSSH

Instalarea clientului OpenSSH este ușoară. Deși nu toți pașii enumerați mai jos sunt necesari pentru funcționarea sa, aceștia simplifică utilizarea clientului și asigură că un număr de mecanisme de securitate funcționează corect. Vă recomandăm cu tărie să urmați toți pașii.

În catalogul HOME \ .ssh, în fișierul known_hosts este stocat sau known_hosts2 cheie gazdă publică pentru fiecare server OpenSSH-cheie, care este conectat la SSH client. Chei RSA (algoritmul utilizat SSH1) este stocat în known_hosts și cheile DSA (Digital Signature Algorithm, este utilizat pentru SSH2) - în known_hosts2. Clientul SSH primește o cheie publică de la serverul SSH la prima conexiune. În viitor, această cheie este utilizată pentru a verifica conexiunile ulterioare și pentru a se asigura că atacatorul nu se conectează la sesiunea curentă.

Folosind variabila HOME, clientul OpenSSH localizează fișierele known_hosts și know_hosts2. În cazul în care SSH-server și SSH-client instalat pe același computer și este creat un fișier Passwd (mai jos se va explica cum se face acest lucru), locația fișierului known_hosts și known_hosts2 specificate variabile definite în passwd și îndreptat către directorul de origine al SSH. În acest caz, în loc de / ssh, specificați directorul de domiciliu al utilizatorului care a sunat clientul SSH.

Instalarea serverului OpenSSH

Instalarea serverului este oarecum mai complicată. Directorul C: \ ssh plasate fișiere cygwin1.dll, ssh-keygen.exe, ssh.exe, sshd.exe, apoi a crea chei publice și private. Această pereche de chei este utilizată de server pentru a se identifica și a stabili o sesiune criptată cu clienții. Puteți crea două tipuri de chei. SSH1 utilizează algoritmul RSA pentru a crea o pereche de chei, care a fost anterior protejată de un brevet. Pentru a evita încălcarea brevetelor, dezvoltatorii SSH2 au trecut la algoritmul DSA distribuit liber. Deși prezenta la algoritmul RSA, și nu este protejat prin brevet, pentru a crea chei RSA este recomandată doar în ultimă instanță, de exemplu, în cazul în care este necesar pentru compatibilitate. Dacă serverul OpenSSH detectează o pereche de chei RSA, SSH1 va fi utilizat în mod implicit, oferind o protecție mai mică decât SSH2.

Pentru a crea o pereche de chei DSA, accesați directorul C: \ ssh și tastați:

Pentru a crea o pereche de chei RSA, va trebui să introduceți:

Exemplele de mai sus presupun că directorul de bază este C: \ ssh. Dacă utilizați altul ca director de bază, trebuie să modificați sintaxa de comandă și să specificați numele dorit. În mod implicit, cheile sunt create cu o lungime de 1024 de biți. Pentru majoritatea cerințelor de securitate, acest lucru este suficient. Procedura de generare a cheilor trebuie să fie repetată pentru fiecare server separat. Nu copiați cheile de la un server la altul, deoarece nu este de dorit să utilizați servere diferite cu aceleași taste. Dacă primiți mesajul "Nu există." Mesaj de eroare când încercați să vă conectați la server. Du-te departe! ", Ar trebui să verificați fișierul Passwd în C: \ etc. Dacă există acest fișier, redenumiți-l temporar sau adăugați numele acestuia, de exemplu C: \ etc \ Soms_Passwd.

Mai departe, în directorul de bază al serverului OpenSSH trebuie să creați un fișier de configurare sshd_config (fără extensie). Ulterior, acest fișier poate fi copiat pentru instalare pe alte servere. În sshd_config, poate fi descris un număr mare de variabile diferite și valorile lor, dar mai mult de câteva sunt adesea suficiente.

Lista 1 prezintă un exemplu de fișier sshd_config. Variabila HostKey specifică locația perechii de chei RSA, iar variabila HostDSA-Key specifică tastele DSA. Dacă cheile RSA nu au fost create, atunci linia cu descrierea HostKey poate fi omisă. Dacă fișierele cheie sunt transferate în alte directoare, trebuie să modificați liniile corespunzătoare din sshd_config. Trebuie avut în vedere faptul că atunci când specificați căile, se folosește o linie dreaptă în locul unui backslash. Acest lucru se face pentru compatibilitatea cu regulile de specificare a unei căi în Unix.

Apoi, creați o bază de date pentru autentificarea utilizatorilor. Pe majoritatea sistemelor Unix, Passwd este folosit pentru autentificarea utilizatorilor. Cygwin a continuat această tradiție de autentificare SSH în Windows. Dacă OpenSSH efectuează autentificarea utilizatorilor, Cygwin verifică numele de utilizator în Passwd. Dacă nu se găsește niciun nume Passwd, accesul este interzis chiar și administratorului local al calculatorului. Dacă se găsește numele, Cygwin se întoarce la Windows pentru a verifica parola. În primul rând, parola este verificată în baza de date locală SAM și apoi în baza de date a domeniului (dacă este disponibilă).

Acum este momentul să treceți la testul OpenSSH. Pentru aceasta, încărcați shell-ul din numele sistemului local. Acest lucru se datorează faptului că, pentru o funcționare corectă, serverul OpenSSH trebuie să fie încărcat în contextul securității LocalSystem. Cel mai simplu mod de a face acest lucru este să mergeți la linia de comandă și, dacă utilizați Task Scheduler, introduceți:

În caz contrar, introduceți:

În plus, indiferent de tipul de programator, trebuie să tastați:

După ce încărcătorul încarcă procesorul de comandă în numele LocalSystem, puteți porni serverul OpenSSH în modul de depanare (pentru aceasta este specificat comutatorul -d):

Dacă instalarea serverului OpenSSH nu a fost efectuată corect, mesajele de eroare vor ajuta la rezolvarea problemei. Cele mai frecvente erori apar în fișierele de configurare, precum și lipsa accesului la aceste fișiere prin contul LocalSystem. După eliminarea erorilor, serverul OpenSSH poate fi încărcat în modul normal de funcționare (fără comutatorul -d). Pentru a verifica modul în care interacționează serverul și clientul, trebuie să introduceți următoarea comandă de pe computerul Windows pe care este instalat clientul OpenSSH:

În cazul în care utilizatorul corespunde cu numele de utilizator care este permis să se conecteze la server local și al cărui nume este inclus în fișierul Passwd. Dacă computerul client are propriul Passwd, trebuie să vă asigurați că are un nume de utilizator. Dacă comanda rulează pe server, puteți utiliza localhost pentru a introduce numele serverului. După câteva secunde, clientul ar trebui să primească un mesaj despre incapacitatea de a identifica serverul și despre oferta de a continua conexiunea.

Acest lucru este normal. Clientul a primit o cheie publică de la server și a încercat să o verifice utilizând fișiere cunoscute_hosts sau know_hosts2. Deoarece aceasta este prima conexiune la server, cheia publică nu a fost încă salvată de client. Prin urmare, faceți clic pe Da pentru a continua conexiunea. Sistemul afișează un mesaj despre adăugarea unei chei, trebuie ignorat. Apoi, ecranul va apărea după cum se arată în ecranul 1.

Ssh în ferestre

Ecranul 1. Prima conexiune utilizând OpenSSH.

În viitor, clientul nu vă va reaminti cheia de server, decât dacă detectează că serverul sa schimbat. În cazul în care clientul a observat schimbarea, aceasta ar putea însemna că cineva a îndepărtat known_hosts (modificate) sau fișiere known_hosts2, stocate sau modificate pe cheia de server, sau a încercat conexiune ilegal la acest server de conexiune. Prin urmare, dacă apare un mesaj cheie după prima conectare la server, ar trebui efectuată o investigație pentru posibile încercări de intruziune. Imediat după conectare, trebuie să verificați jurnalul de aplicații, care ar trebui să înregistreze atât conexiunile de succes, cât și conexiunile nereușite. Puteți utiliza intrările din acest jurnal pentru a controla încercările de conectare ilegală la serverul OpenSSH.

Pentru ca serviciul OpenSSH să funcționeze corect, acesta trebuie executat în contul LocalSystem. Aceasta oferă OpenSSH drepturile necesare pentru a acționa ca orice utilizator. Puteți utiliza orice alt cont în loc de LocalSystem, dar atunci va trebui să citiți documentația și să atribuiți drepturile necesare pentru această înregistrare. De asemenea, ar trebui să definiți variabila de mediu CYGWIN ca tty, astfel încât serverul să interpreteze corect datele de intrare. Ar trebui să creați un fișier batch, așa cum se arată în listare 3, și să îl plasați în directorul de bază. În loc să reporniți serverul, trebuie să utilizați acest fișier pentru a porni OpenSSH.

Eliminarea procesului OpenSSH

După cum sa menționat mai devreme, pentru a lucra cu procesul OpenSSH, trebuie să rulați shell-ul în numele sistemului (cu contul LocalSystem). Pentru aceasta, se folosește procedura descrisă mai sus. Apoi trebuie să introduceți linia de comandă

pentru a obține o listă a tuturor proceselor Cygwin care rulează. Trebuie să vă amintiți PID-ul primului proces OpenSSH și să introduceți comanda

Serviciul va fi repornit cu datele actualizate ale fișierului Passwd.

SSH completează perfect orice pachet de administratori pentru gestionarea sistemelor sau a unei rețele, dar nu poate fi un instrument pentru toate ocaziile. Cu o utilizare corectă, OpenSSH vă permite să creșteți protecția, dar trebuie să respectați mai multe reguli.

Dacă este posibil, furnizați acces la distanță numai administratorilor.
  • Limitați accesul la directorul \ ssh, \ var, \ etc la contul de sistem LocalSystem și la grupul de administratori locali.
  • Verificați toate instanțele de schimbare a tastelor de pe server, cu excepția primului, când clientul primește un mesaj despre schimbarea cheii.
  • Utilizați SSH1 numai pentru compatibilitate cu clienții vechi.

  • <





    ?php include ($ _SERVER ["DOCUMENT_ROOT"]. "/ vstavki / blokvtext2.php"); ?>

    SSH vă permite să executați de la distanță aproape toate comenzile pe care le puteți introduce de la consola server. Utilizați toate avantajele programelor de ajutor SSH din Resource Kit, permițându-vă să opriți sau să reporniți serverul de la distanță, să afișați o listă de sarcini de rulare și să le întrerupeți și multe altele. Deci, instalarea și configurarea OpenSSH nu este deloc dificilă, așadar ar fi frumos să înlocuiți toate serverele dvs. telnet cu servere SSH. OpenSSH oferă nu numai securitatea sesiunii, dar poate, de asemenea, să protejeze fișierele atunci când le copiază, să efectueze remaparea porturilor, să utilizeze perechi de chei publice și private pentru autentificare în locul parolelor. După examinarea capacităților OpenSSH, beneficiile utilizării acesteia ca bază pentru recrutarea programelor de administrator devin vizibile.

    Notă: câteva sfaturi de instalare și fișiere de configurare pentru acest articol, oferite de Bret Jordan de la Universitatea din Poz. Utah.

    Listing 1. Sample file Sshd_config

    Listare 2. Passwd fișier exemplu

    Listă 3. Exemplul fișierului Start-sshd.bat







    Articole similare

    Trimiteți-le prietenilor: