Android

Kako postaviti sftp chroot zatvor

How to Connect S-One Shielded Connector with S-FTP Cable?

How to Connect S-One Shielded Connector with S-FTP Cable?

Sadržaj:

Anonim

U ovom ćemo vodiču objasniti kako postaviti SFTP Chroot Jail okruženje koje će korisnike ograničiti na njihove kućne direktorije. Korisnici će imati samo SFTP pristup, SSH pristup bit će onemogućen. Ove bi upute trebale raditi za bilo koju modernu distribuciju Linuxa, uključujući Ubuntu, CentOS, Debian i Fedora.

Stvaranje SFTP grupe

Umjesto konfiguriranja OpenSSH poslužitelja za svakog korisnika pojedinačno, stvorit ćemo novu grupu i dodati sve naše chrooted korisnike u ovu grupu.

Pokrenite sljedeću naredbu groupadd da biste stvorili korisničku grupu sftponly :

sudo groupadd sftponly Grupu možete imenovati kako želite.

Dodavanje korisnika u SFTP grupu

Sljedeći je korak dodavanje korisnika koje želite ograničiti u grupu sftponly .

Ako je ovo novo postavljanje, a korisnik ne postoji, možete stvoriti novi korisnički račun upisivanjem:

sudo useradd -g sftponly -s /bin/false -m -d /home/username username

  • Opcija -g sftponly će dodati korisnika u sftponly grupu. Opcija -s /bin/false postavlja ljusku korisnika za prijavu. Postavljanjem ljuske prijave na /bin/false korisnik se neće moći prijaviti na poslužitelj putem SSH-a. Opcije -m -d /home/username poručuju useradd za izradu kućnog direktorija korisnika.

Postavljanje snažne lozinke za novostvorenog korisnika:

sudo passwd username

Inače ako korisnik kojeg želite ograničiti već postoji, dodajte ga u sftponly grupu i promijenite korisničku ljusku:

sudo usermod -G sftponly -s /bin/false username2

Kućni imenik korisnika mora biti vlasništvo root-a i imati 755 dozvola:

sudo chown root: /home/username sudo chmod 755 /home/username

Budući da su kućni direktori u vlasništvu korijenskog korisnika, ti korisnici neće moći stvarati datoteke i mape u svojim matičnim direktorijima. Ako u korisnikovoj kući nema direktorija, morat ćete stvoriti nove direktorije kojima će korisnik imati potpuni pristup. Na primjer, možete stvoriti sljedeće mape:

sudo mkdir /home/username/{public_html, uploads} sudo chmod 755 /home/username/{public_html, uploads} sudo chown username:sftponly /home/username/{public_html, uploads}

Ako web aplikacija koristi korisnički imenik public_html kao korijen dokumenta, ove promjene mogu dovesti do problema s dozvolama. Na primjer, ako pokrećete WordPress, morat ćete stvoriti PHP bazen koji će se pokretati kao korisnik koji posjeduje datoteke i dodati web mjesto erver u sftponly grupu.

Konfiguriranje SSH-a

SFTP je podsustav SSH i podržava sve SSH mehanizme provjere identiteta.

Otvorite SSH konfiguracijsku datoteku /etc/ssh/sshd_config sa svojim uređivačem teksta:

sudo nano /etc/ssh/sshd_config

Potražite liniju koja započinje s Subsystem sftp , obično na kraju datoteke. Ako linija započinje s hash # uklonite oznaku # i izmijenite je da izgleda ovako:

/ Etc / ssh / sshd_config

Subsystem sftp internal-sftp

Na kraju datoteke slijedeći blok postavki:

/ Etc / ssh / sshd_config

Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no

Smjernica ChrootDirectory određuje put do chroot direktorija. %h znači kućni direktorij korisnika. Taj direktorij mora biti vlasnik korijenskog korisnika, a ne može ga pisati nijedan drugi korisnik ili grupa.

Budite posebno oprezni prilikom izmjene SSH konfiguracijske datoteke. Pogrešna konfiguracija može uzrokovati da se SSH usluga ne pokrene.

Nakon što završite spremite datoteku i ponovno pokrenite SSH uslugu za primjenu promjena:

sudo systemctl restart ssh

U CentOS-u i Fedori, ssh usluga se naziva sshd :

sudo systemctl restart sshd

Ispitivanje konfiguracije

Sada kada ste konfigurirali SFTP chroot, možete pokušati prijaviti na udaljeni stroj putem SFTP-a koristeći vjerodajnice chrooted korisnika. U većini slučajeva koristit ćete stolni SFTP klijent poput FileZilla, ali u ovom primjeru koristit ćemo sftp naredbu.

Otvorite SFTP vezu pomoću sftp naredbe praćene korisničkim imenom udaljenog poslužitelja i IP adresom ili nazivom domene poslužitelja:

sftp [email protected]

Od vas će se tražiti da unesete korisničku lozinku. Nakon povezivanja, udaljeni poslužitelj prikazat će poruku potvrde i sftp> prompt:

[email protected]'s password: sftp>

Izvršite naredbu pwd , kao što je prikazano u nastavku, i ako sve radi kako ste očekivali, naredba bi se trebala vratiti / .

sftp> pwd Remote working directory: /

Možete navesti i udaljene datoteke i mape pomoću naredbe ls i trebali biste vidjeti mape koje smo prethodno stvorili:

sftp> ls public_html uploads

Zaključak

U ovom su vodiču naučili kako postaviti SFTP Chroot Jail okruženje na vašem Linux poslužitelju i ograničiti korisnikov pristup njihovom matičnom direktoriju.

Prema zadanom, SSH sluša na priključku 22. Promjena zadanog SSH priključka dodaje dodatni sloj sigurnosti vašem poslužitelju smanjujući rizik od automatiziranih napada. Možda ćete također htjeti postaviti SSH ključ za autentifikaciju i povezati se s poslužiteljem bez unosa lozinke.

ssh sftp sigurnost