Cum se activează și se configurează SFTP pe CentOS 7

În multe ocazii trebuie să transferăm mai multe informații între dispozitive și cel mai comun mod de a face acest lucru, care se întâmplă de mai bine de 20 de ani, este utilizarea protocolului FTP (File Transfer Protocol) și FTP care permite transferul între computerele conectate. TCP luând baza client / server.

Cu FTP folosim porturile 20 și 21. Acum avem un nou protocol predefinit numit SFTP în care găsim activat pe toate serverele care acceptă SSH.

SFTP (SSH File Transfer Protocol) este diferit de tipul FTP, deși acceptă toți clienții FTP pe care îi găsim astăzi. Deși SFTP a fost implementat pentru a adăuga un strat de securitate, acesta prezintă o vulnerabilitate la nivel de acces, deoarece, fiind un standard, acordă acces complet utilizatorilor de sistem pentru a transfera fișiere și a utiliza Shell.

Astăzi Solvetic va învăța cum să configureze CentOS 7 pentru a împiedica un anumit utilizator să aibă acces SSH cu libertatea de a manipula sistemul prin protocolul SFTP0.

1. Crearea utilizatorului


Mai întâi vom crea utilizatorul care va avea acces restricționat de SSH, în acest caz îl vom numi acces, executăm următoarele:
 acces sudo adduser
Apoi atribuim o parolă noului utilizator executând următoarele:
 acces sudo passwd

2. Crearea directorului pentru transferul de fișiere


Odată ce utilizatorul nostru este creat, următorul pas este crearea directorului în care va acționa SFTP, împiedicând accesul și acesta trebuie configurat cu anumiți parametri.

Vom crea un director numit / var / sftp / uploads în care partea / var / sftp, utilizatorul root va fi proprietarul său și niciun alt utilizator nu va avea permisiuni active și în subdirectorul / var / sftp / uploads proprietarul va fi accesul noului utilizator. Creăm directorul folosind următoarea linie:

 sudo mkdir -p / var / sftp / uploads
Apoi stabilim utilizatorul root ca proprietar în directorul indicat:
 rădăcină sudo chown: root / var / sftp
Acordăm permisiuni de scriere utilizatorului root și citim celorlalți utilizatori în calea indicată:
 sudo chmod 755 / var / sftp

Acum modificăm proprietarul încărcărilor astfel încât să fie accesul utilizatorului, executăm următoarele:

 sudo chown access: access / var / sftp / uploads

3. Restricționarea accesului la un director


În acest pas vom vedea cum să restricționăm accesul de către terminal la accesul utilizatorului, dar dacă va fi posibil să transferăm fișiere. Pentru aceasta trebuie să edităm serverul SSH cu editorul preferat, vim sau nano, în următoarea cale:
 sudo nano / etc / ssh / sshd_config
Vom vedea următoarele:

În partea finală a fișierului adăugăm următoarele:

 Potrivire acces utilizator ForceCommand internal-sftp PasswordAuthentication yes ChrootDirectory / var / sftp PermitTunnel no AllowAgentForwarding no AllowTcpForwarding no X11Forwarding no 

Salvăm modificările folosind combinația de taste Ctrl + O și ieșim din editor folosind tastele Ctrl + X. Sintaxa utilizată implică următoarele:

Potriviți utilizatorulSpuneți serverului SSH să aplice modificările utilizatorului indicat acolo.

ForceCommand internal-sftpForțează serverul SSH să ruleze SFTP pentru a împiedica accesul la Shell.

Autentificare parolă daActivați autentificarea prin parolă

ChrootDirectory / var / sftp /Se referă la faptul că utilizatorul indicat nu va avea acces dincolo de calea / var / sftp.

AllowAgentForwarding nu, AllowTcpForwarding nr. iar X11Forwarding nu esteAceste opțiuni dezactivează redirecționarea porturilor, tunelurile și redirecționarea protocolului X11 pentru utilizatorul specificat.

Odată ce salvăm fișierul, vom executa următoarea comandă pentru a aplica modificările în SSH:

 sudo systemctl reporniți sshd

4. Verificarea conexiunii SSH

Pasul 1
Cu aceasta configurată, va fi timpul să validați accesul prin SSH și să verificați că vor fi posibile doar transferuri de fișiere. Pentru aceasta mergem la conexiunea prin SSH care în acest caz va fi.

 ssh [email protected]
Odată ce introducem acreditările de acces, vom vedea următorul mesaj:

Pasul 2
Cu aceasta am verificat că conexiunea va fi închisă prin SSH. Acum vom încerca conexiunea folosind protocolul sftp:

 sftp [email protected]
Introducând parola vom vedea că conexiunea este reușită și vom putea transfera fișiere:

Pasul 3
Acolo putem folosi comanda ls pentru a lista directoarele disponibile și vom vedea folderul de încărcare pe care l-am creat:

Pasul 4
Acolo putem muta informații, dar dacă încercăm să revenim la un director de mai sus folosind cd … nu vom primi o eroare, dar vedem că niciun director nu poate fi listat:

Este atât de simplu că putem restricționa accesul datorită sftp.

wave wave wave wave wave