Introducere

Atunci când gestionați un server Linux, asigurarea accesului restricționat al utilizatorilor pentru transferuri de fișiere fără a acorda acces complet la shell este o preocupare comună în materie de securitate. Două instrumente care ajută la realizarea acestui obiectiv sunt rssh și scponly. Aceste shell-uri restricționate permit utilizatorilor să efectueze operațiuni specifice de transfer de fișiere prin SCP, SFTP și rsync, împiedicând în același timp executarea comenzilor.

În acest ghid, vom acoperi instalarea și configurarea rssh și scponly pe un sistem Linux.

Instalarea rssh

Instalarea rssh

Majoritatea distribuțiilor Linux oferă rssh în depozitele lor de pachete. Îl puteți instala utilizând următoarele comenzi:

Pentru Debian/Ubuntu:

sudo apt update && sudo apt install rssh -y

Pentru CentOS/RHEL:

sudo yum install rssh -y

Pentru Arch Linux:

sudo pacman -S rssh

Configurați rssh

Odată instalat, configurați rssh prin editarea fișierului său de configurare:

sudo nano /etc/rssh.conf

Decomentați opțiunile necesare pentru a permite SCP, SFTP sau rsync. Exemplu:

allowscp
allowsftp
allowrsync

Salvați și ieșiți din fișier.

Configurarea unui utilizator cu rssh

Pentru a atribui rssh ca shell pentru un anumit utilizator, executați:

sudo usermod -s /usr/bin/rssh nume utilizator

Acum, utilizatorul poate efectua operațiuni permise numai prin SCP, SFTP sau rsync.

Instalarea scponly

Instalați scponly

Pentru sistemele bazate pe Debian:

sudo apt update && sudo apt install scponly -y

Pentru CentOS/RHEL:

sudo yum install scponly -y

Pentru Arch Linux:

sudo pacman -S scponly

Configurarea scponly pentru un utilizator

Pentru a restricționa accesul unui utilizator la scponly, modificați-i shell-ul:

sudo usermod -s /usr/bin/scponly nume utilizator

Pentru a vă asigura că utilizatorul este restricționat corespunzător, testați cu:

ssh username@server

Acesta ar trebui să interzică accesul la shell, dar să permită transferurile de fișiere SCP/SFTP.

Testare și verificare

Pentru a verifica configurația, încercați să transferați fișiere utilizând:

Pentru SCP:

scp file.txt username@server:/home/username/

Pentru SFTP:

sftp nume utilizator@server

Dacă este configurat corect, utilizatorii ar trebui să poată transfera fișiere, dar nu să execute comenzi.

Concluzie

Utilizând rssh și scponly, administratorii pot spori securitatea prin restricționarea accesului utilizatorilor doar la transferul de fișiere. Acest lucru previne accesul neautorizat la shell, permițând în același timp operațiunile necesare de schimb de fișiere. Asigurați-vă că actualizați periodic configurațiile pentru a le alinia cu politicile de securitate.