Android

Hvordan sette opp sftp chroot fengsel

How to transfer a file from Windows to Linux | File Transfer using SFTP in FileZilla

How to transfer a file from Windows to Linux | File Transfer using SFTP in FileZilla

Innholdsfortegnelse:

Anonim

I denne opplæringen vil vi forklare hvordan du konfigurerer et SFTP Chroot Jail-miljø som vil begrense brukere til hjemmekatalogene. Brukerne vil kun ha SFTP-tilgang, SSH-tilgang vil være deaktivert. Disse instruksjonene skal fungere for all moderne Linux-distribusjon inkludert Ubuntu, CentOS, Debian og Fedora.

Oppretter en SFTP-gruppe

I stedet for å konfigurere OpenSSH-serveren for hver bruker individuelt, oppretter vi en ny gruppe og legger alle våre hakkede brukere til denne gruppen.

Kjør følgende groupadd å opprette sftponly brukergruppe:

sudo groupadd sftponly Du kan navngi gruppen slik du vil.

Legge til brukere i SFTP-gruppen

Neste trinn er å legge til brukerne du vil begrense til sftponly gruppen.

Hvis dette er et nytt oppsett og brukeren ikke eksisterer, kan du opprette en ny brukerkonto ved å skrive:

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

  • Alternativet -g sftponly vil legge brukeren til sftponly-gruppen. Alternativet -s /bin/false angir brukerens påloggingsskall. Ved å sette påloggingsskallet til /bin/false vil ikke brukeren kunne logge seg på serveren via SSH. Alternativer -m -d /home/username ber brukeren legge til om å opprette brukerens hjemmekatalog.

Angi et sterkt passord for den nyopprettede brukeren:

sudo passwd username

Hvis ikke brukeren du vil begrense allerede eksisterer, legger du brukeren til sftponly gruppen og endrer brukerens skall:

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

Brukerens hjemmekatalog må være eid av root og ha 755 tillatelser:

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

Siden brukerkatalogene eies av rotbrukeren, vil disse brukerne ikke kunne opprette filer og kataloger i hjemmekatalogene. Hvis det ikke er kataloger i brukerens hjem, må du opprette nye kataloger som brukeren vil ha full tilgang til. Du kan for eksempel opprette følgende kataloger:

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

Hvis en webapplikasjon bruker brukerens public_html katalog som dokumentrot, kan disse endringene føre til tillatelsesproblemer. For eksempel, hvis du kjører WordPress, må du opprette et PHP-basseng som skal kjøres som brukeren som eier filene og legger sftponly til sftponly gruppen.

Konfigurerer SSH

SFTP er et undersystem av SSH og støtter alle SSH-autentiseringsmekanismer.

Åpne SSH-konfigurasjonsfilen /etc/ssh/sshd_config med tekstredigereren:

sudo nano /etc/ssh/sshd_config

Søk etter linjen som begynner med Subsystem sftp , vanligvis på slutten av filen. Hvis linjen starter med en hash # fjern hasjen # og modifiser den slik at den ser slik ut:

/ Etc / ssh / sshd_config

Subsystem sftp internal-sftp

Mot slutten av filen, følgende innstillingsblokk:

/ Etc / ssh / sshd_config

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

ChrootDirectory direktivet spesifiserer banen til chroot-katalogen. %h betyr brukerkatalogen. Denne katalogen må være eid av rotbrukeren og ikke skrivbar av noen annen bruker eller gruppe.

Vær ekstra forsiktig når du endrer SSH-konfigurasjonsfilen. Feil konfigurasjon kan føre til at SSH-tjenesten ikke starter.

Når du er ferdig, lagrer du filen og start SSH-tjenesten på nytt for å bruke endringene:

sudo systemctl restart ssh

I CentOS og Fedora heter ssh-tjenesten sshd :

sudo systemctl restart sshd

Testing av konfigurasjonen

Nå som du har konfigurert SFTP-chroot, kan du prøve å logge deg på den eksterne maskinen via SFTP ved å bruke legitimasjonsbeskrivelsen til den hakkede brukeren. I de fleste tilfeller vil du bruke en desktop SFTP-klient som FileZilla, men i dette eksemplet vil vi bruke sftp-kommandoen.

Åpne en SFTP-tilkobling ved å bruke sftp-kommandoen etterfulgt av brukernavnet til den eksterne serveren og serverens IP-adresse eller domenenavn:

sftp [email protected]

Du blir bedt om å oppgi brukerpassordet. Når den er koblet til, vil den eksterne serveren vise en bekreftelsesmelding og sftp> ledeteksten:

[email protected]'s password: sftp>

Kjør pwd kommandoen, som vist nedenfor, og hvis alt fungerer som forventet, skal kommandoen returnere / .

sftp> pwd Remote working directory: /

Du kan også liste opp eksterne filer og kataloger ved å bruke kommandoen ls og du bør se katalogene som vi tidligere har opprettet:

sftp> ls public_html uploads

Konklusjon

I denne opplæringen har du lært hvordan du konfigurerer et SFTP Chroot Jail-miljø på din Linux-server og begrenser brukertilgang til deres hjemmekatalog.

Som standard lytter SSH på port 22. Endring av standard SSH-port gir et ekstra lag med sikkerhet til serveren din ved å redusere risikoen for automatiserte angrep. Det kan også være lurt å sette opp en SSH-nøkkelbasert autentisering og koble til serveren uten å oppgi et passord.

ssh sftp sikkerhet