Curs Linux Advanced: Diferență între versiuni

De la Wiki Linux Advanced
Sari la navigare Sari la căutare
(Pagină nouă: ==Acces SSH== ===Despre=== Secure Shell (SSH) este un protocol de rețea criptografic ce permite ca datele să fie transferate folosind un canal securizat intre dispozitive de rețea. Cele două mari versiuni ale protocolului sunt SSH1 sau SSH-1 și SSH2 sau SSH-2. Folosit cu precădere în sistemele de operare multiutilizator bazate pe unix, SSH a fost dezvoltat ca un înlocuitor al Telnet-ului și al altor protocoale nesigure de acces de la distanță, care trimit informa...)
 
Fără descriere a modificării
Linia 70: Linia 70:
Copiați cheia publică (id_rsa.pub) pe server (utilizatorul la distanță nu ar trebui să fie niciodată root; selectați utilizatorul implicit non-root ca utilizator la distanță):
Copiați cheia publică (id_rsa.pub) pe server (utilizatorul la distanță nu ar trebui să fie niciodată root; selectați utilizatorul implicit non-root ca utilizator la distanță):


  Scp –p id_rsa.pub remoteuser@remotehost:
  scp –p id_rsa.pub remoteuser@remotehost


Apoi conectați-vă cu SSH și copiați cheia publică în locul potrivit:
Apoi conectați-vă cu SSH și copiați cheia publică în locul potrivit:
Linia 87: Linia 87:


Când vă conectați la server, vi se va solicita expresia de acces cheie (în funcție de configurația dvs.).
Când vă conectați la server, vi se va solicita expresia de acces cheie (în funcție de configurația dvs.).
2. Configurați intervalul de expirare inactiv
Pentru a evita o sesiune SSH nesupravegheată, puteți seta un interval de timeout inactiv. Deschideți fișierul /etc/ssh/sshd_config și adăugați următoarea linie:
ClientAliveInterval 360
ClientAliveCountMax 0
Intervalul de timeout pe care îl setați este în secunde (360 secunde = 6 minute). Odată ce intervalul a trecut, utilizatorul inactiv va fi deconectat automat.
Dezactivați parolele goale
Trebuie să împiedicați autentificarea de la distanță de la conturi cu parole goale pentru o securitate sporită. Deschideți fișierul /etc/ssh/sshd_config și actualizați următoarea linie:
PermitEmptyPasswords nr
Limitați accesul SSH al utilizatorilor
Pentru a oferi un alt nivel de securitate, ar trebui să vă limitați conexiunile SSH doar la anumiți utilizatori care au nevoie de acces de la distanță. În acest fel, veți minimiza impactul de a avea un utilizator cu o parolă slabă.
Deschideți fișierul /etc/ssh/sshd_config pentru a adăuga o linie „AllowUsers”, urmată de lista de nume de utilizator și separați-le cu un spațiu:
AllowUsers utilizator1 utilizator2
Apoi reporniți serviciul SSH.
Dezactivați autentificarea ca root
Una dintre cele mai periculoase găuri de securitate pe care le puteți avea în sistemul dvs. este să permiteți conectarea directă la root prin SSH. Procedând astfel, orice hacker care încearcă să folosească forța brută asupra parolei dvs. de root ar putea accesa ipotetic sistemul dvs.; și dacă vă gândiți bine, root poate provoca mult mai multe daune pe o mașină decât poate face un utilizator standard.
Găsiți secțiunea din fișierul care conține #PermitRootLogin.
Pentru a dezactiva conectarea prin SSH ca root, schimbați linia în aceasta:
PermitRootLogin no
Simbolul # (comentar) îi spune serverului să ignore orice după el pe aceeași linie. Eliminați # pentru ca modificările să aibă efect.


==Acces VNC==
==Acces VNC==

Versiunea de la data 7 noiembrie 2024 23:33

Acces SSH

Despre

Secure Shell (SSH) este un protocol de rețea criptografic ce permite ca datele să fie transferate folosind un canal securizat intre dispozitive de rețea. Cele două mari versiuni ale protocolului sunt SSH1 sau SSH-1 și SSH2 sau SSH-2. Folosit cu precădere în sistemele de operare multiutilizator bazate pe unix, SSH a fost dezvoltat ca un înlocuitor al Telnet-ului și al altor protocoale nesigure de acces de la distanță, care trimit informatia, în special parola, în clar, făcând posibilă descoperirea ei prin analiza traficului. Criptarea folosită de SSH intenționează să asigure confidențialitatea și integritatea datelor transmise printr-o rețea nesigură cum este Internetul.

SSH utilizeaza o arhitectura client-server pentru comunicarea securizata prin retea, prin conectarea unui client ssh cu serverul ssh. In mod implicit, serverul SSHh ruleaza pe portul TCP standard 22.

SSH foloseste o tehnica de criptografie cu cheie publica pentru autentificare intre client si server. In plus, protocolul foloseste criptare simetrica puternica si algoritmi de hashing pentru schimbul de mesaje intre client si server, pentru a asigura confidentialitatea si integritatea datelor.

Majoritatea sesiunilor SSH vor avea doar urmatoarele doua operatii:

1. Autentificare

2. Executarea comenzii

Serverele SSH pot autentifica clientii folosind o varietate de metode; cele doua moduri de autentificare frecvent utilizate sunt:

1. Pe baza parolei (metoda implicita utilizata pentru clientii OpenSSH, cea mai simpla autentificare dar nu cea mai sigura)

2. Pe baza de cheie (imbunatateste securitatea sistemului prin generarea de perechi de chei SSH, o alternativa mai sigura)

Dupa ce serverul autentifica clientul cu succes, se stabileste o conexiune sigura intre ei.

O data deschisa conexiunea, prin SSH se deschide TTY-ul standard de login care il intampina pe utilizator.

SSH este folosit in principal pentru text (terminal) dar poate fi folosit si pentru accesul unor programe de interfata de la distanta (X11 Forwarding/ssh -X) sau pentru transfer de fisiere (sftp)


Setup

SSH-ul are nevoie de un server. Cel mai comun si folosit in acest curs este openssh-server

$ sudo apt install openssh-server -y

Când instalarea openssh-server este finalizată, vom folosi comanda systemctl pentru a-i verifica starea:

$ sudo systemctl status ssh

Serviciul SSH este în stare de rulare, se va configura partea de firewall:

# ufw allow ssh
sau
# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

Regula pentru a permite doar unui anumit IP sa acceseze server-ul:

# iptables -A INPUT -p tcp -s YourIP --dport 22 -j ACCEPT

Regula pentru a inregistra IP-urile ce se conecteaza la server:

# iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name ssh –rsource


Utilizarea cheilor publice/private pentru autentificare

Autentificarea cu chei publice/private este cu siguranță mai sigură și o soluție mult mai bună decât autentificarea prin parolă. Fiecare cheie este un număr mare cu proprietăți matematice diferite. Cheia privată este stocată pe computerul de pe care vă autentificați, în timp ce cheia publică este stocată în fișierul .ssh/authorized_keys de pe fiecare computer la care doriți să vă conectați.

Acest lucru este deosebit de important dacă computerul este vizibil pe Internet. Utilizarea cheilor criptate pentru autentificare este utilă, deoarece nu va mai trebui să introduceți o parolă. Odată ce autentificarea perechii de chei publice/private a fost configurată pe server, puteți dezactiva complet autentificarea prin parolă; aceasta înseamnă că nimeni fără o cheie autorizată nu va putea avea acces. Chiar și cei mai inventivi hackeri nu vor putea interveni sau se strecoară într-o sesiune și nu vor mai putea încerca să spargă parola.

Iată cum să creați o pereche de chei publice/private și să le instalați pentru a le utiliza pe serverul dvs. SSH:

Începeți prin a genera perechea de chei, o cheie publică și o cheie privată. Cheia publică va fi plasată pe server și vă veți autentifica cu cheia privată (aceasta trebuie efectuată pe fiecare computer client de la care vă conectați):

$ ssh-keygen -t rsa

Acest lucru va crea două fișiere în directorul dvs. (ascuns) ~/.ssh numite: id_rsa și id_rsa.pub Primul: id_rsa este cheia dumneavoastră privată și celălalt: id_rsa.pub este cheia dumneavoastră publică.

Vi se va cere apoi o frază de acces, care este parola dvs. pentru a debloca o anumită cheie publică de fiecare dată când vă conectați. Este alegerea dvs. să adăugați o criptare de protecție a unei fraze de acces la cheia dvs. atunci când o creați. Dacă preferați să nu utilizați unul, pur și simplu apăsați Enter când vi se cere expresia de acces atunci când vă creați perechea de chei. Rețineți că, dacă nu vă protejați cheia cu expresia de acces, oricine obține acces la mașina dvs. locală va avea automat acces SSH la serverul de la distanță.

Copiați cheia publică (id_rsa.pub) pe server (utilizatorul la distanță nu ar trebui să fie niciodată root; selectați utilizatorul implicit non-root ca utilizator la distanță):

scp –p id_rsa.pub remoteuser@remotehost

Apoi conectați-vă cu SSH și copiați cheia publică în locul potrivit:

ssh remoteuser@remotehost mkdir ~/.ssh chmod 700 ~/.ssh cat id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys mv id_rsa.pub ~/.ssh logout

Apoi ștergeți cheia publică de pe server, altfel clientul SSH nu vă va permite să vă conectați la server:

rm id_rsa.pub

Și, în sfârșit, setați permisiunile pentru fișiere pe server:

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

Când vă conectați la server, vi se va solicita expresia de acces cheie (în funcție de configurația dvs.).

2. Configurați intervalul de expirare inactiv

Pentru a evita o sesiune SSH nesupravegheată, puteți seta un interval de timeout inactiv. Deschideți fișierul /etc/ssh/sshd_config și adăugați următoarea linie:

ClientAliveInterval 360

ClientAliveCountMax 0

Intervalul de timeout pe care îl setați este în secunde (360 secunde = 6 minute). Odată ce intervalul a trecut, utilizatorul inactiv va fi deconectat automat.

Dezactivați parolele goale

Trebuie să împiedicați autentificarea de la distanță de la conturi cu parole goale pentru o securitate sporită. Deschideți fișierul /etc/ssh/sshd_config și actualizați următoarea linie:

PermitEmptyPasswords nr

Limitați accesul SSH al utilizatorilor

Pentru a oferi un alt nivel de securitate, ar trebui să vă limitați conexiunile SSH doar la anumiți utilizatori care au nevoie de acces de la distanță. În acest fel, veți minimiza impactul de a avea un utilizator cu o parolă slabă.

Deschideți fișierul /etc/ssh/sshd_config pentru a adăuga o linie „AllowUsers”, urmată de lista de nume de utilizator și separați-le cu un spațiu:

AllowUsers utilizator1 utilizator2

Apoi reporniți serviciul SSH.

Dezactivați autentificarea ca root

Una dintre cele mai periculoase găuri de securitate pe care le puteți avea în sistemul dvs. este să permiteți conectarea directă la root prin SSH. Procedând astfel, orice hacker care încearcă să folosească forța brută asupra parolei dvs. de root ar putea accesa ipotetic sistemul dvs.; și dacă vă gândiți bine, root poate provoca mult mai multe daune pe o mașină decât poate face un utilizator standard.

Găsiți secțiunea din fișierul care conține #PermitRootLogin.

Pentru a dezactiva conectarea prin SSH ca root, schimbați linia în aceasta:

PermitRootLogin no

Simbolul # (comentar) îi spune serverului să ignore orice după el pe aceeași linie. Eliminați # pentru ca modificările să aibă efect.

Acces VNC

SAMBA file share

Următoarea pagină