Setările inițiale pentru un server cu Ubuntu 18.04

Introducere

În momentul în care instalați un server Ubuntu 18.04 pe diverse VPS-uri sau pe mașini virtuale, sunt câțiva pași pentru configurare pe care ar trebui să-i faceți imediat ca parte a setărilor de bază. Astfel securitatea și gradul de utilitate al serverului dându-vă o bază solidă pentru acțiunile ulterioare.

Pasul 1 – Conectarea la server ca utilizator root

Pentru a vă conecta la server, veți avea nevoie de adresa IP publică a acestuia. Deasemenea veți avea nevoie de o parolă sau, dacă ați instalat chei SSH pentru autentificare, cheia privată pentru utilizatorul root. Pentru aceasta va trebui fie să accesați interfața de administrare a contului dvs. oferită de furnizorul de VPS, fie le știți deja și nu mai e nevoie să întreprindeți nimic.

Dacă nu sunteți deja conectat la serverul dvs., autentificați-vă ca utilizator root folosind următoarea comandă și înlocuind adresa_ip_publică cu adresa validă a serverului dvs:

$ ssh root@adresa_ip_publică

Acceptați mesajul de avertizare despre autenticitatea gazdei dacă acesta va fi afișat. Dacă folosiți autentificare cu parolă, introduceți parola pentru a vă conecta. Dacă utilizați chei SSH cu parolă s-ar putea să fiți nevoiți să introduceți acea parolă doar la prima autentificare sau la fiecare sesiune în funcție de setări.

Dacă este prima dată când va conectați la server s-ar putea să vi se recomande să schimbați parola root, tot în funcție de setările serverului.

Despre utilizatorul root

Utilizatorul root este utilizatorul cu drepturi administrative dintr-un mediu Linux care are privilegii foarte extinse, sau toate privilegiile. Din această cauză contul root nu este recomandat a fi folosit în utilizarea normală de zi cu zi. Asta pentru că puterea cu care este dotat contul root are abilitatea de a face schimbări destul de dăunătoare sistemului de operare fie chiar și din greșeală.

Următorul pas ar fi să setați un cont de utilizator alternativ cu o influență redusă asupra sistemului de operare doar pentru utilizarea zilnică. Vă voi arăta cum să dobândiți privilegii ridicate/elevate atunci când veți avea nevoie de ele.

Pasul 2 – Crearea unui nou utilizator

De îndată ce v-ați conectat ca utilizator root, sunteți pregătit pentru a adăuga noul con tde utilizator pe că îl veți folosi la autentificare de acum încolo.

Acest exemplu creează un nou utilizator denumit popescu, dar îl puteți schimba cu orice nume de utilizator doriți:

# adduser popescu

Veți fi interogat cu câteva întrebări, începând cu parola contului.

Introduceți o parolă puternică, și opțional completați datele adiționale ramase dacă credeți că e necesar. Cum spuneam, completarea datelor nu e necesară, de aceea puteți tasta ENTER în oricare câmp de date peste care vreți să săriți.

Pasul 3 – Acordarea privilegiilor administrative

Acum avem un cont de utilizator nou cu privilegii normale. Insă, uneori, s-ar putea să avem nevoie să executăm comenzi care necesită privilegii administrative.

Pentru a evita deconectarea de la utilizatorul normal și reconectarea la contul root, putem seta ceea ce este cunoscut ca „superutilizator” sau privilegii root pentru un cont de utilizator normal. Asta va permite acestui utilizator să ruleze comenzi cu privilegii administrative prin punerea înaintea fiecărei comenzi a cuvântuluisudo.

Pentru a adăuga aceste privilegii noului nostru utilizator, vom avea nevoie să adăugăm utilizatorul în grupul sudo. Implicit, în Ubuntu 18.04, utilizatorii care aparțin grupului sudo au permisiune de a folosi comanda sudo.

Ca root, rulați această comandă pentru a adăuga noul utilizator creat în grupul sudo (înlocuiți numele de utilizator popescu cu cel creat de dvs.):

# usermod -aG sudo popescu

Acum, când vă veți autentifica cu utilizatorul popescu, puteți tasta sudo înaintea comenzilor pentru a executa instrucțiuni cu privilegii de superutilzator.

Pasul 4 – Setarea unui firewall de bază

Ubuntu 18.04 UFW Firewall

Serverele Ubuntu 18.04 pot, de regulă sa folosească firewall denumit UFW (Uncomplicated Firewall) pentru a se asigura controlul permisiunilor asupra conexiunilor și traficului de date. Astfel putem seta un firewall nu foarte complicat într-un mod foarte facil utilizând aplicația menționată mai sus, UFW.

Diferite aplicații își pot înregistra profile le în firewall-ul UFW în momentul instalării acestora. Aceste profiluri permit UFW sa gestioneze aceste aplicații după nume. OpenSSH, serviciul care nr permite sa ne conectăm la server în acest moment, are un profil înregistrat în UFW.

Puteți vizualiza asta tastând comanda:

# ufw app list
Mesaj afișat

Available applications:
  OpenSSH

Atenție! Dacă nu aveți instalat UFW pe server, o puteți face cu ajutorul comenzii sudo apt install ufw.

Trebuie să ne asigurăm ca firewall-ul permite conexiuni SSH în așa fel încât să ne putem conecta și data viitoare, fără a ne tăia craca de sub picioare. Putem permite aceste conexiuni tastând:

# ufw allow OpenSSH

După care dăm comanda pentru activare:

# ufw enable

Tastați „y” și apăsați ENTER pentru confirmare. Puteți verifica faptul că toate conexiunile SSH sunt încă permise cu ajutorul comenzii:

# ufw status
Mesaj afișat:

# Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

În cazul de față firewall-ul blochează toate conexiunile cu excepția protocolului SSH, iar dacă instalați și configurați servicii adiționale, va trebui să ajustați setările firewall-ului pentru a permite traficul acceptat. Puteți învața câteva operații de bază în UFW cu ajutorul acestui ghid.

Pasul 5 – Activarea accesului extern pentru utilizatorul obișnuit

Odată creat utilizatorul obișnuit pentru utilizarea de rutină, trebuie să ne asigurăm ca ne putem conecta SSH direct, cu ajutorul acelui cont.

Atenție! Până când nu verificați că vă puteți loga și aveți acces la comanda sudo cu noul utilizator creat, vă recomandăm să rămâneți logat ca că utilizator root. În acest fel, dacă aveți probleme, le puteți rezolva făcând ajustările necesare cu ajutorul contului root.

Procesul de configurare al accesului SSH pentru contul noului utilizator depinde dacă utilizatorul root al serverului dvs. folosește pentru autentificare o parolă sau chei criptografice SSH.

Dacă utilizatorul root folosește o parolă pentru autentificare

Dacă te-ai conectat la contul de utilizator root folosind o parolă, atunci înseamnă că autentificarea cu parolă este activată pentru protocolul SSH. Puteți deschide o sesiune SSH în contul de utilizator nou creat prin deschiderea unui terminal și folosind o comandă SSH cu parametri noului utilizator:

$ ssh popescu@adresa_ip_publică

După introducerea parolei pentru utilizatorul creat, autentificarea va fi realizată. Atenție, dacă doriți sa rulați o comandă cu privilegii administrative, tastați sudo exact ca în exemplul de mai jos:

$ sudo orice_comandă

Veți fi rugați să introduceți parola utilizatorului încă o dată când utilizați sudo pentru prima oară în cadrul sesiunii (și periodic după aceea).

Pentru a spori securitatea serverului, recomandăm cu tărie setarea unor chei SSH în locul autentificării tradiționale cu parolă. Citiți tutorialul nostru despre setarea cheilor SSH pe un server Ubuntu 18.04 pentru a învața cum sa configurați autentificarea bazată pe chei criptografice.

Dacă utilizatorul root folosește autentificarea bazată pe chei criptografice

Dacă v-ați logat în contul root folosind chei SSH, arunci autentificarea bazată pe parolă este dezactivată pentru protocolul SSH. Veți avea nevoie să adăugați o copie a cheii publice locale la fișierul ~/.ssh/authorized_keys al noului utilizator pentru a vă autentifica cu succes.

Din moment ce cheia publică este deja în contul root în fișierul ~/.ssh/authorized_keys de pe server, putem copia acel fișier și structura directorului în noul cont de utilizator în sesiunea existentă.

Cea mai simplă metodă pentru a copia fișierele cu apartenența (ownership) corectă și permisiunile este cu ajutorul comenzii rsync. Această comandă va copia directorul .ssh al utilizatorului root, va păstra permisiunile și va modifica proprietarii fișierului într-o singură comandă. Asigurați-vă că schimbați parametrii comenzii pentru a se potrivi cu numele de utilizator folosit de dvs:

Atenție: Comanda rsync tratează diferit sursele și destinațiile care se termină cu un slash „/” în comparație cu cele care nu se termină în acest fel. În momentul în care folosim rsync în exemplul de mai jos, asigurați-vă că directorul sursă (~/.ssh) nu include un „/” la final (verificați pentru a fi siguri că nu folosiți ~/.ssh/).

Dacă din greșeală adăugați un slash „/” de final în comanda rulată, rsync va copia conținutul directorului ~/.ssh al utilizatorului root în directorul home al utilizatorului sudo în loc să copieze întreaga structură a directorului ~/.ssh. Fișierele vor fi în locații diferite și comanda SSH nu le va putea găsi pentru a le utiliza.

# rsync --archive --chown=popescu:popescu ~/.ssh /home/popescu

Acum, deschideți un nouă sesiune în terminal folosind comanda SSH împreună cu noul nume de utilizator:

$ ssh popescu@adresa_ip_publică

Astfel ar trebui să fiți conectat la noul cont de utilizator fără a folosi o parolă. Nu uitați, că în momentul în care folosiți o comandă care necesită drepturi administrative, tastați sudo înaintea comenzii, astfel:

$ sudo orice_comandă

Va trebui apoi să introduceți parola noului utilizator în momentul în care invocați sudo pentru prima dată în sesiunea SSH creată (și periodic după aceea).

Ce să faceți în continuare?

În acest moment aveți o fundație solidă pentru configurația serverului dvs. Ubuntu 18.04. În continuare puteți instala orice aplicație aveți nevoie pentru proiectele dvs.

root

Un entuziast pasionat de tot ceea ce înseamnă Linux și Open Source și un energic promotor. Deschis la orice proiecte bazate pe aceste tehnologii.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Share via
Copy link
Powered by Social Snap