Come Settare Una Prigione Server Bukkit
Sommario:
- Creazione di un gruppo SFTP
- Aggiunta di utenti al gruppo SFTP
- Configurazione di SSH
- Test della configurazione
- Conclusione
In questo tutorial, spiegheremo come configurare un ambiente SFTP Chroot Jail che limiterà gli utenti alle loro home directory. Gli utenti avranno solo l'accesso SFTP, l'accesso SSH sarà disabilitato. Queste istruzioni dovrebbero funzionare per qualsiasi moderna distribuzione Linux incluso Ubuntu, CentOS, Debian e Fedora.
Creazione di un gruppo SFTP
Invece di configurare il server OpenSSH per ciascun utente individualmente creeremo un nuovo gruppo e aggiungeremo tutti i nostri utenti chroot a questo gruppo.
Eseguire il comando
groupadd
seguente per creare il gruppo utenti
sftponly
:
sudo groupadd sftponly
Puoi nominare il gruppo come desideri.
Aggiunta di utenti al gruppo SFTP
Il prossimo passo è aggiungere gli utenti che vuoi limitare al gruppo
sftponly
.
Se si tratta di una nuova configurazione e l'utente non esiste, è possibile creare un nuovo account utente digitando:
sudo useradd -g sftponly -s /bin/false -m -d /home/username username
- L'opzione
-g sftponly
aggiungerà l'utente al gruppo sftponly. L'opzione-s /bin/false
imposta la shell di accesso dell'utente. Impostando la shell di accesso su/bin/false
l'utente non sarà in grado di accedere al server tramite SSH. Le opzioni-m -d /home/username
indicano a useradd di creare la home directory dell'utente.
Imposta una password complessa per l'utente appena creato:
sudo passwd username
Altrimenti se l'utente che vuoi limitare esiste già, aggiungi l'utente al gruppo
sftponly
e cambia la shell dell'utente:
sudo usermod -G sftponly -s /bin/false username2
La home directory dell'utente deve essere di proprietà di root e avere
755
autorizzazioni:
sudo chown root: /home/username
sudo chmod 755 /home/username
Poiché le home directory degli utenti sono di proprietà dell'utente root, questi utenti non saranno in grado di creare file e directory nelle loro home directory. Se non ci sono directory nella home dell'utente, dovrai creare nuove directory a cui l'utente avrà pieno accesso. Ad esempio, è possibile creare le seguenti directory:
sudo mkdir /home/username/{public_html, uploads}
sudo chmod 755 /home/username/{public_html, uploads}
sudo chown username:sftponly /home/username/{public_html, uploads}
Se un'applicazione Web utilizza la directory
public_html
dell'utente come root del documento, queste modifiche potrebbero causare problemi di autorizzazione. Ad esempio, se stai eseguendo WordPress dovrai creare un pool PHP che verrà eseguito come utente proprietario dei file e aggiungere il webs erver al gruppo
sftponly
.
Configurazione di SSH
SFTP è un sottosistema di SSH e supporta tutti i meccanismi di autenticazione SSH.
Apri il file di configurazione SSH
/etc/ssh/sshd_config
con il tuo editor di testo:
sudo nano /etc/ssh/sshd_config
Cerca la riga che inizia con
Subsystem sftp
, generalmente alla fine del file. Se la riga inizia con un hash
#
rimuovi l'hash
#
e modificalo in modo che sia simile al seguente:
Subsystem sftp internal-sftp
Verso la fine del file, il seguente blocco di impostazioni:
Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
La direttiva
ChrootDirectory
specifica il percorso della directory chroot.
%h
indica la home directory dell'utente. Questa directory deve essere di proprietà dell'utente root e non scrivibile da nessun altro utente o gruppo.
Prestare particolare attenzione quando si modifica il file di configurazione SSH. Una configurazione errata potrebbe impedire l'avvio del servizio SSH.
Una volta terminato, salvare il file e riavviare il servizio SSH per applicare le modifiche:
sudo systemctl restart ssh
In CentOS e Fedora il servizio ssh è chiamato
sshd
:
Test della configurazione
Ora che hai configurato il chroot SFTP, puoi provare ad accedere al computer remoto tramite SFTP usando le credenziali dell'utente chroot. Nella maggior parte dei casi, utilizzerai un client SFTP desktop come FileZilla ma in questo esempio useremo il comando sftp.
Apri una connessione SFTP usando il comando sftp seguito dal nome utente del server remoto e dall'indirizzo IP o dal nome dominio del server:
sftp [email protected]
Ti verrà richiesto di inserire la password dell'utente. Una volta connesso, il server remoto visualizzerà un messaggio di conferma e il prompt
sftp>
:
[email protected]'s password: sftp>
Esegui il comando
pwd
, come mostrato di seguito, e se tutto funziona come previsto il comando dovrebbe restituire
/
.
sftp> pwd Remote working directory: /
Puoi anche elencare i file e le directory remoti usando il comando
ls
e dovresti vedere le directory che abbiamo creato in precedenza:
Conclusione
In questo tutorial, hai imparato come configurare un ambiente SFTP Chroot Jail sul tuo server Linux e limitare l'accesso degli utenti alla loro home directory.
Per impostazione predefinita, SSH è in ascolto sulla porta 22. La modifica della porta SSH predefinita aggiunge un ulteriore livello di sicurezza al server riducendo il rischio di attacchi automatici. È inoltre possibile impostare un'autenticazione basata su chiave SSH e connettersi al server senza immettere una password.
sicurezza ssh sftpConfigurare e configurare Exchange ActiveSync su Windows Phone 7

Questo tutorial spiega come configurare Exchange ActiveSync sul dispositivo Windows Phone 7, utilizzando il mio account Office 365 per un esempio.
Come configurare, configurare, utilizzare il Controllo genitori in Windows 7

Scopri come abilitare, disabilitare, configurare e utilizzare la funzione Controllo genitori in Windows 7 per monitorare e controllare le attività Internet per bambini.
Come configurare e configurare le impostazioni del router firewall

Scopri come configurare il firewall del router, accedere alla pagina del router hardware, configurare le impostazioni del firewall del router. Scopri quali porte sono necessarie sul computer.