Ordinea practică pentru pregătirea serverului unui IP proxy propriu: verifică întâi accesul SSH, schimbă portul și treci la autentificarea cu cheie, aplică măsurile de bază de securitate, instalează serviciul proxy și deschide portul, apoi conectează și verifică clientul.
Când cumperi un server cloud pentru a-l folosi ca proxy, blocajul apare rareori la conectivitatea de bază. De cele mai multe ori, problema este ordinea în care este pregătită partea de server. Dacă urmezi ordinea corectă, clientul se conectează de obicei din prima; dacă o amesteci, vei reveni constant în terminal pentru a modifica setările.
Aici discutăm doar partea de server: de la prima autentificare și restrângerea accesului până la pornirea serviciului proxy, deschiderea porturilor, conectarea clientului și depanarea pe niveluri atunci când conexiunea nu funcționează.
La prima autentificare, verifică mai întâi accesul
După crearea instanței, autentifică-te mai întâi prin terminalul web din consola furnizorului, fără să depinzi imediat de un instrument local. Scopul acestui pas este doar să confirmi că mașina rulează și că rețeaua este accesibilă.
După conectare, treci la root rulând sudo -i și apăsând Enter. Când promptul se schimbă din $ în #, ridicarea privilegiilor a reușit. Efectuează pașii următori cu această identitate.
Notează patru informații: IP-ul public, numele de utilizator pentru autentificare (root implicit pe Linux), parola și portul SSH (22 implicit). Clientul are nevoie exact de aceste patru valori; dacă lipsește una, conexiunea nu va funcționa.
Schimbă portul implicit, apoi treci la autentificarea cu cheie
Portul 22 este scanat de nenumărate ori în fiecare zi, iar încercările automate de autentificare sunt obișnuite. Schimbarea portului nu face serverul mai puternic în sine, dar filtrează cea mai mare parte a zgomotului automatizat.
Modificarea se face în /etc/ssh/sshd_config. Deschide fișierul cu vi, apasă i pentru modul de editare, schimbă liniile PermitRootLogin și PasswordAuthentication la yes, apoi apasă Esc și introdu :wq pentru salvare și ieșire. Dacă furnizorul acceptă autentificarea cu cheie, o variantă mai robustă este să adaugi cheia publică locală în authorized_keys pe server, apoi să schimbi PasswordAuthentication la no, astfel încât să fie acceptate doar cheile.
Nu închide sesiunea curentă imediat după modificarea configurației. Deschide mai întâi o a doua fereastră de terminal, autentifică-te o dată folosind noul port și noua metodă, confirmă că funcționează și abia apoi închide fereastra veche. Altfel, o eroare de configurare te poate bloca în afara serverului și vei fi obligat să recuperezi accesul din consola furnizorului.
Portul SSH este setat pe linia Port. După modificare, repornește serviciul SSH pentru ca setarea să intre în vigoare. Pe sistemele Debian și Ubuntu poți rula /etc/init.d/ssh restart.
Aplică întărirea de bază chiar din prima zi
Pe lângă schimbarea portului și folosirea cheilor, merită să finalizezi două sarcini mici în prima zi. În primul rând, setează pentru root o parolă aleatorie și suficient de lungă cu passwd root, în locul unei combinații ușor de ghicit. În al doilea rând, dezactivează serviciile și porturile de care nu ai nevoie. Cu cât rulează mai puține lucruri pe mașină, cu atât suprafața de atac este mai mică; firewall-ul sistemului ar trebui să permită doar porturile necesare.
Dacă serverul va fi folosit pe termen lung doar din câteva locații sursă fixe, limitează în grupul de securitate adresele sursă la acele locații. Este mult mai sigur decât accesul deschis către întregul internet.
Instalează serviciul proxy și configurează autentificarea
După ce inițializarea serverului este terminată, treci la proxy-ul propriu-zis.
O opțiune este să folosești direct un tunel SSH. Nu trebuie instalat nimic suplimentar pe server; clientul folosește serviciul SSH integrat în sistem pentru redirecționare și aceleași credențiale ale serverului. Este simplu, dar performanța este medie, iar concurența mare îl solicită rapid, deci este potrivit pentru utilizare temporară sau puține conturi.
Cealaltă opțiune este să instalezi un serviciu proxy dedicat. De obicei, o singură comandă de instalare este suficientă, după care configurezi metoda de autentificare și portul de ascultare. Activează pornirea automată; altfel, o singură repornire a serverului va opri și proxy-ul.
Există trei niveluri uzuale de autentificare, cu securitate în creștere: numele de utilizator și parola sunt cele mai simple, dar o scurgere echivalează practic cu cedarea proxy-ului; parola plus o listă permisă de IP-uri sursă este suficientă pentru utilizare obișnuită; autentificarea cu cheie sau certificat este cea mai solidă, deși necesită mai multă configurare și merită pentru conturi folosite pe termen lung.
Deschide portul în două locuri separate
Acesta este unul dintre cele mai frecvente puncte de blocaj. Portul de ascultare al serviciului proxy trebuie permis atât în firewall-ul sistemului, cât și în grupul de securitate al furnizorului. Cele două controale sunt independente, iar deschiderea unuia singur nu este suficientă.
Un alt element ușor de omis este adresa de ascultare a serviciului. Unele servicii se leagă implicit doar la 127.0.0.1. Dacă testul local pe server funcționează, dar accesul din exterior nu, aceasta este adesea cauza. Schimbă adresa de ascultare la adresa privată a serverului sau la 0.0.0.0.
Conectează-te din clientul local
Creează un mediu nou în instrumentul de administrare și selectează tipul de proxy folosit în realitate. Dacă utilizezi un tunel SSH, adresa este IP-ul public al serverului, portul este portul SSH, iar numele de utilizator și parola sunt credențialele serverului. Apoi rulează testul de conexiune.
Un test reușit arată doar că traseul este accesibil. Deschide mediul și verifică încă trei lucruri: IP-ul de ieșire trebuie să fie IP-ul public al serverului; DNS trebuie să treacă și el prin proxy, deoarece rezoluția DNS locală poate expune o regiune care nu corespunde IP-ului de ieșire; iar fusul orar și limba trebuie să se potrivească regiunii de ieșire. Mediul este gata de utilizare doar după ce toate trei verificările trec.
Pe măsură ce crește numărul de conturi, păstrează fixă relația dintre mediu și ieșire, pentru a evita ca mai multe conturi să folosească același mediu. Instrumente precum PurpleMark pot lega separat câte o ieșire pentru fiecare cont, ceea ce este mai stabil decât menținerea manuală a unui tabel de corespondență.
Dacă nu se conectează, verifică din exterior spre interior
Începe cu nivelul cel mai exterior: grupul de securitate permite traficul? Firewall-ul sistemului îl permite? Confirmă ambele înainte de a continua.
Apoi verifică serviciul: procesul încă rulează, mai ales după o repornire a serverului? Adresa de ascultare este legată doar local?
Urmează nivelul de autentificare: numele de utilizator sau parola sunt greșite? Permisiunile fișierului de cheie sunt prea largi? SSHD respinge direct cheia dacă permisiunile sunt incorecte. Abia la final verifică partea de client: ai introdus IP-ul public sau, din greșeală, IP-ul privat? Această confuzie este foarte frecventă.
Dacă urmezi această ordine, de obicei două sau trei treceri sunt suficiente pentru a identifica nivelul problematic, în loc să reinstalezi serviciul de mai multe ori.
Încheiere
Pregătirea părții de server durează mai puțin de o jumătate de oră, dar stabilește câtă întreținere va necesita mașina în lunile următoare. Restrânge accesul, deschide corect porturile și configurează clar autentificarea; după aceea rămâne doar întreținerea de rutină.


