Când creați un nou server, sunt câțiva pași de configurare pe care ar trebui să îi urmați mai întâi ca parte a setării de bază. Aceasta va crește securitatea și gradul de utilizare a server-ului și va vă oferi o bază solidă pentru acțiunile ulterioare.
Pasul Unu – Autentificarea Root
Pentru a vă autentifica pe server, va trebui să cunoașteți adresa IP publică și parola contului de utilizator “root”. Dacă nu v-ați conectat încă la server-ul dvs. mergeți mai departe și autentificați-vă ca utilizator cu drepturi root folosind următoarea comandă (înlocuiți cuvintele subliniate cu adresa IP publică a dvs.):
ssh root@SERVER_IP_ADDRESS
Finalizați procesul de autentificare acceptând avertizarea despre autenticitatea host-ului, dacă vi se solicită, apoi oferind autentificarea root (parola și cheia privată). Dacă este prima dată când vă conectați la server, cu parola, vi se va cere să schimbați parola root.
Despre Root: Utilizatorul root este un utilizator administrativ într-un mediu Linux care are privilegii extinse.
Din cauza privilegiilor crescute ale contului root, suntem descurajați să îl folosim în mod regulat. Acest lucru se datorează faptului că puterea oferită de drepturile root poate face schimbări distructive, chiar și din greșeală.
Pasul următor este să configurăm un alt cont de utilizator cu drepturi limitate pentru munca de zi cu zi. Vă vom arăta cum să obțineți privilegii crescute pentru situațiile când veți avea nevoie de ele.
Pasul Doi – Crearea Unui Nou Utilizator
Odată autentificat ca root, ne vom pregăti să adăugăm un nou cont de utilizator pe care să îl folosim de acum înainte. În acest exemplu, vom crea un nou cont de utilizator numit “demo”, dar puteți înlocui numele cu unul care vă place:
adduser demo
În continuare, atribuiți o parolă noului utilizator (încă o dată, substituiți “demo” cu utilizatorul pe care tocmai l-ați creat):
passwd demo
Introduceți o parolă puternică și repetați-o pentru a o verifica.
Pasul Trei – Drepturile Root
Acum, avem un nou cont de utilizator cu drepturi obișnuite. Cu toate acestea, vom avea nevoie uneori să îndeplinim sarcini administrative. Pentru a evita să ne deconectăm de la utilizatorul normal și să ne autentificăm în contul cu drepturi root, putem configura un “super user” sau drepturi root pentru contul obișnuit. Aceasta va permite utilizatorului obișnuit să execute comenzi cu drepturi administrative prin adăugarea cuvântului sudo înaintea fiecărei comenzi.
Pentru a adăuga aceste drepturi noului utilizator, va trebui să îl adăugăm în grupul “wheel”. Implicit, pe CentOS 7, utilizatorii care aparțin grupului “wheel” li se permite să folosească comanda sudo. Ca root, rulați această comandă pentru a adăuga noul utilizator la grupul wheel (înlocuiți cuvintele îngroșate cu noul utilizator):
gpasswd -a demo wheel
Acum noul utilizator poate rula comenzi cu drepturi de “super user”. Pentru mai multe informații despre modul în care funcționează consultați tutorialul sudoers.
Pasul Patru – Adăugarea Autentificării cu Cheia Publică (Recomandat)
Următorul pas în securizarea server-ului este configurarea autentificării cu cheia publică pentru noul utilizator. Configurând aceasta veți crește securitatea server-ului prin solicitarea unei chei private SSH la autentificare.
Generarea unei Perechi de Chei
Dacă nu aveți deja o pereche de chei SSH, care e alcătuită dintr-o cheie publică și una privată, va trebui să generați una. Dacă aveți deja o cheie pe care doriți să o folosiți, săriți la pasul Copiați Cheia Publică. Pentru a genera o nouă pereche de chei introduceți următoarea comandă:
ssh-keygen
Presupunând că utilizatorul este numit „localuser”, o să vedeți un mesaj care va arăta că următorul:
ssh-keygen output
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):
Apăsați „return” pentru a accepta acest nume și această cale (sau introduceți un nume nou). În continuare vi se va solicita o parolă pentru a securiza cheia. Fie introduceți o parolă, fie lăsați spațiul liber. Observație: Dacă lăsați spațiul pentru parolă liber, o să vă puteți autentifica folosind cheia privată fără a fi nevoie de parolă. Dacă introduceți o parolă, o să aveți nevoie de ambele pentru a vă loga, atât de cheia privată cât și de parolă.
Securizându-vă cheile cu parole este mai sigur, dar ambele metode au utilizările lor fiind mai sigure decât clasica autentificare cu parolă.
Aceasta generează o cheie privată, id_rsa, și o cheie publică, id_rsa.pub, în directorul .ssh al utilizatorului localuser.
Nu uitați că acea cheie privată nu trebuie dezvăluită nici unei persoane care nu are acces la serverul dumneavoastră.
Copiarea Cheii Publice
După generarea unei perechi de chei SSH, va trebui să copiați cheia publică pe noul server. Vă vom prezenta două metode simple pentru a face acest lucru.
Metoda 1: Folosirea copiei id-ului ssh
Dacă computerul dumneavoastră are script-ul ssh-copy-id instalat, îl puteți folosi pentru a instala cheia publică pentru orice utilizator pentru care aveți acreditare.
Rulați scriptul ssh-copy-id specificând utilizatorul și adresa IP a server-ului pe care doriți instalarea acestei chei, ca mai jos:
ssh-copy-id demo@SERVER_IP_ADDRESS
După furnizarea parolei, cheia publică va fi adăugată în fișierul utilizatorilor la distanță .ssh/authorized_keys. Cheia privată corespunzătoare poate fi folosită pentru a vă loga în server.
Metoda 2: Instalarea manuală a cheii
Presupunând că ați generat o pereche de chei SSH folosind pasul anterior, utilizați următoarea comandă pe computerul dumneavoastră pentru a imprima cheia publică (id_rsa.pub):
cat ~/.ssh/id_rsa.pub
Aceasta ar trebui să vă afișeze cheia publică SSH, care ar trebui să arate ca mai jos:
id_rsa.pub contents
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local
Selectați cheia publică și copiați-o în clipboard. Adăugarea cheii publice pentru utilizatorul nou de la distanță Pentru activarea utilizării cheii SSH necesară autentificării utilizatorilor la distanță, trebuie să adăugați cheia publică într-un fișier special, directorul home al utilizatorului. Pe server, ca utilizatorul root, introduceți următoarea comandă pentru a comuta temporar la noul utilizator (înlocuiți cu propriul nume de utilizator):
su – demo
Acum veți fi în directorul home al utilizatorului dumneavoastră. Creați un nou director numit .ssh și restricționați accesul cu ajutorul următoarelor comenzi:
- mkdir .ssh
- chmod 700 .ssh
Deschideți un fișier în .ssh denumit authorized_keys cu un editor de text. Vom folosi editorul vi pentru a edita fișierul:
vi .ssh/authorized_keys
Introduceți insert mode, tastând i, apoi introduceți cheia publică (care ar trebui să fie copiată în clipboard) lipind-o în editor. Acum apăsați ESC pentru a părăsi insert mode. Introduceți “:x” apoi apăsați ENTER pentru a salva și închide fișierul. Acum restricționați permisiunea fișierului authorized_keys cu această comandă:
chmod 600 .ssh/authorized_keys
Tastați această comandă o dată pentru a vă întoarce la utilizatorul root:
exit
Acum cheia publică este instalată și puteți folosi cheile SSH pentru a vă loga ca utilizator. Pasul Cinci – Configurarea SSH Daemon. Acum că avem noul cont, putem securiza server-ul încă puțin prin modificarea configurării SSH daemon (programul care ne permite să ne conectăm la distanță) pentru a refuza accesul de la distanță la contul root:
Începeți prin a deschide fișierul de configurare cu editorul text ca root:
vi /etc/ssh/sshd_config
Aici avem opțiunea de a dezactiva autentificarea root prin SSH. Aceasta este, în general, o setare mai sigură deoarece acum putem accesa server-ul prin intermediul contului de utilizator normal, putând folosi privilegiile când este necesar. Pentru a dezactiva autentificările root de la distanță, trebuie să găsim linia care arată ca cea de mai jos:
/etc/ssh/sshd_config (inainte)
#PermitRootLogin yes
Indiciu: Pentru a linia, tastați /PermitRoot apoi apăsați ENTER. Acesta ar trebui să aducă cursorul pe caracterul „P” din linie. Eliminați linia ștergând simbolul “#”(apăsați Shift-x). Acum mutați cursorul pe “yes” tastând c, înlocuiți “yes” tastând cw, apoi tastând „no”. Apăsați Escape când ați terminat de editat. Ar trebui să arate ca mai jos:
/etc/ssh/sshd_config (dupa)
PermitRootLogin no
Dezactivarea autentificării root de la distanță este recomandată pentru fiecare server. Tastați “:x” apoi ENTER pentru a salva și închide fișierul. Reload SSH Acum că am modificările, va trebui să repornim serviciul SSH pentru a folosi noua configurare. Pentru a reporni SSH tastați:
systemctl reload sshd
Acum, înainte de a vă deconecta de la server, va trebui să testați noua configurare. Nu trebuie să vă deconectați până nu aveți confirmarea că se pot stabili noi conexiuni cu succes. Deschideți o nouă fereastră. În noua fereastră, va trebui să începem o nouă conexiune la server. De această dată vom folosi noul cont pe care l-am creat. Pentru server-ul pe care l-am configurat mai sus, conectați-vă folosind comanda. Înlocuiți cu propriile informații în cazul în care este necesar:
ssh demo@SERVER_IP_ADDRESS
Observație: Dacă folosiți PuTTY pentru a vă conecta la servere, asigurați-vă că actualizați numărul sesiunilor port pentru a se potrivi cu setarea curentă a server-ului. Vi se va cere parola noului utilizator pe care ați configurat-o. După aceasta, vă veți autentifica cu noul utilizator. Rețineți, pentru a rula comenzi cu drepturi root, tastați înainte “sudo ” ca mai jos:
sudo command_to_run
Dacă totul este în regulă, puteți părăsi sesiunea tastând:
exit
Ce puteți face mai departe? În acest moment aveți o bază solidă pentru server-ul dvs. Acum aveți posibilitatea să instalați orice software aveți nevoie pe server. Dacă nu sunteți siguri încă ce doriți să faceți cu server-ul dvs., puteți citi cu atenție celelalte articole de pe blog. Cele mai populare idei sunt configurarea grupului LAMP sau a grupului LEMP, care vă permit să găzduiți site-uri web.