GNU/Linux >> Linux Esercitazione >  >> Debian

Come creare un utente SSH in jail con Jailkit su Debian 9 (Stretch)

Questo documento descrive come installare e configurare Jailkit nel server Debian 9 (Stretch). Jailkit è un insieme di utilità per limitare gli account utente a file specifici utilizzando chroot() eo comandi specifici. Configurare una shell chroot, una shell limitata a un comando specifico o un demone all'interno di una jail chroot è molto più semplice e può essere automatizzato utilizzando queste utilità.

Jailkit è noto per essere utilizzato in dispositivi di sicurezza di rete di diverse aziende leader di sicurezza IT, server Internet di diverse grandi organizzazioni aziendali, server Internet di provider di servizi Internet, nonché molte aziende più piccole e utenti privati ​​che devono proteggere cvs, sftp, shell o processi demoniaci.

1 Nota preliminare

Questo tutorial è basato sul server Debian 9, quindi dovresti configurare un'installazione di base del server Debian prima di continuare con questo tutorial. Il sistema dovrebbe avere un indirizzo IP statico. Uso 192.168.0.100 come indirizzo IP in questo tutorial e server1.example.com come nome host.

2 Installa Jailkit

Per prima cosa scaricheremo e installeremo il Jailkit. Al momento della stesura di questa guida, l'ultima versione disponibile di Jailkit è la 2.20. Lo scaricherò e lo installerò come segue:

cd /tmp    
wget http://olivier.sessink.nl/jailkit/jailkit-2.20.tar.gz
tar xvfz jailkit-2.20.tar.gz
cd jailkit-2.20

Jailkit richiede alcuni pacchetti prima della sua installazione, li installeremo come segue:

apt-get install build-essential autoconf automake1.11 libtool flex bison debhelper binutils-gold python

Ora il nostro sistema è pronto per installare il Jailkit, installalo come segue:

echo 5 > debian/compat
./debian/rules binary
cd ..
dpkg -i jailkit_2.20-1_amd64.deb

Installerà Jailkit in Debian Server, possiamo rimuovere i pacchetti extra da /tmp:

rm -rf /tmp/jailkit*

3 Jailing di un utente

Ora creeremo un utente che verrà incarcerato utilizzando Jailkit come:

adduser srijan

[email protetta]:~#adduser srijan
Aggiunta utente `srijan' ...
Aggiunta nuovo gruppo `srijan' (1001) ...
Aggiunta nuovo utente `srijan ' (1001) con il gruppo `srijan' ...
Creazione della home directory `/home/srijan' ...
Copiare file da `/etc/skel' ...
Inserisci nuovo Password UNIX:<--password
Ridigita la nuova password UNIX:<--password
passwd:password aggiornata correttamente
Modifica delle informazioni utente per srijan
Inserisci il nuovo valore o premi INVIO per quello predefinito
        Nome completo []:<--ENTER
        Numero camera []:<--ENTER
        Telefono di lavoro []:<--ENTER
        Telefono di casa []:<--ENTER
        Altro []:<--ENTER
Le informazioni sono corrette? [S/n] <--S
[email protetta]:~#

Nel mio caso sto creando l'utente srijan, puoi usare qualsiasi nome.

Successivamente controlleremo le informazioni sull'utente srijan in /etc/passwd come:

egrep srijan /etc/passwd
[email protetta]:/tmp# egrep srijan /etc/passwd
srijan:x:1001:1001:,,,:/home/srijan:/bin/bash
[email protetta]:/tmp #

Successivamente, imprigioneremo l'utente creato. Crea una directory /jail per l'ambiente Jail:

mkdir /jail

Ora forniremo alla prigione alcuni degli ambienti di programmi predefiniti come:

jk_init -v /jail netutils basicshell jk_lsh openvpn ssh sftp

Possiamo dare anche altri valori, l'elenco completo dell'ambiente Jail può essere controllato nel file

nano /etc/jailkit/jk_init.ini

Ora Jail è pronto, basta aggiungere l'utente all'interno dell'ambiente:

jk_jailuser -m -j /jail/ srijan

Controlla di nuovo i valori in /etc/passwd per l'utente srijan:

egrep srijan /etc/passwd
[email protetta]:/tmp# egrep srijan /etc/passwd
srijan:x:1001:1001:,,,:/jail/./home/srijan:/usr/sbin/jk_chrootsh
[ e-mail protetta]:/tmp#

Ora il nostro utente è stato aggiunto nell'ambiente Jailed. Collegherò il server Debian con il terminale bash con il suo IP 192.168.0.100:

ssh [email protected]
[email protected]:~$ ssh [email protected]
Impossibile stabilire l'autenticità dell'host '192.168.0.100 (192.168.0.100)'.
ECDSA key fingerprint is 3d:ca:91:67:96:39:15:b4:0f:6e:c8:2c:92:ef:25:d7.
Sei ​​sicuro di voler continuare a connetterti (sì/no)? yes
Password di [email protetta]:
Linux server1 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64

I programmi inclusi con il sistema Debian GNU/Linux è un software libero;
i termini esatti di distribuzione per ciascun programma sono descritti nei
file individuali in /usr/share/doc/*/copyright.

Debian GNU/Linux viene fornito con ASSOLUTAMENTE NESSUNA GARANZIA, nella misura
consentita dalla legge applicabile.
Connessione a 192.168.0.100 chiusa.
[email protetta]:~$

La connessione viene chiusa poiché l'utente non ha la shell di registrazione, aggiungiamola nel file di configurazione per Jail:

nano /jail/etc/passwd
root:x:0:0:root:/root:/bin/bash
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
#srijan:x:1001:1001:,,,:/home/srijan:/usr/sbin/jk_lsh
srijan:x:1001:1001:,,,:/home/srijan:/bin/bash

Aggiungerà il prompt bash per l'utente incarcerato srijan. Ora prova di nuovo l'accesso ssh con l'utente srijan e sarai in grado di accedere:

ssh [email protected]

Ora controlla il contenuto della directory principale, noterai che ha contenuti come questo:

ls /
[e-mail protetta]:~$ ls /
bin  dev  etc  home  lib  lib64  usr
[e-mail protetta]:~$

4 Esecuzione di servizi e comandi in un ambiente Jailed

Jail può essere utilizzato per eseguire servizi in un ambiente Jailed. Supponiamo di voler eseguire qualsiasi servizio nell'ambiente Jailed, quindi useremo il comando jk_chrootlaunch per quello:

jk_chrootlaunch -j /jail -u srijan -x 'service apache2 start'

Qui sto iniziando il servizio di Apache. Allo stesso modo, puoi eseguire qualsiasi servizio o demone con esso in un ambiente Jailed.

Supponiamo di voler eseguire un comando particolare in un ambiente Jail, quindi useremo jk_cp. Testiamolo nell'ambiente Jailed quando eseguiremo cal, quindi mostra come segue:

cal
[email protetta]:~$ cal
bash:cal:comando non trovato
[email protetta]:~$

Significa che l'ambiente Jail non conosce il comando cal, ora lo aggiungerò in Debian Server come segue:

jk_cp  -v -j /jail/ /usr/bin/cal
[email protetta]:~# jk_cp  -v -j /jail/ /usr/bin/cal
Creazione del collegamento simbolico /jail/usr/bin/cal in ncal
Copia di /usr/bin/ncal in / jail/usr/bin/ncal
Creazione del collegamento simbolico /jail/lib/x86_64-linux-gnu/libncurses.so.5 a libncurses.so.5.9
Copia di /lib/x86_64-linux-gnu/libncurses .so.5.9 a /jail/lib/x86_64-linux-gnu/libncurses.so.5.9
/jail/lib/x86_64-linux-gnu/libtinfo.so.5 esiste già, non lo toccherà
/jail/lib/x86_64-linux-gnu/libc.so.6 esiste già, non lo toccherà
/jail/lib/x86_64-linux-gnu/libdl.so.2 esiste già, non lo farà toccalo
/jail/lib64/ld-linux-x86-64.so.2 esiste già, non lo toccherà
/jail/lib/x86_64-linux-gnu/libtinfo.so.5 già esiste, non lo toccherà
/jail/lib/x86_64-linux-gnu/libc.so.6 esiste già, non lo toccherà
/jail/lib/x86_64-linux-gnu/libdl. so.2 esiste già, non lo toccherà
/jail/lib64/ld-linux-x86-64.so.2 esiste già, non lo toccherà

Eseguire nuovamente il comando cal nell'ambiente Jailed:

cal
[email protected]:~$ cal
  Aprile 2019
Su Lu Ma Me Gi Ve Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
                    
[email protetta]:~$


Quindi abbiamo aggiunto il comando per l'ambiente Jailed. Congratulazioni! Ora abbiamo configurato con successo l'ambiente Jail in Debian 9 :)

  • Debian:https://www.debian.org/
  • Jailkit: https://olivier.sessink.nl/jailkit/

Debian
  1. Come crittografare la directory con EncFS su Debian 9 Stretch Linux

  2. Come creare un utente Sudo su CentOS, Ubuntu e Debian

  3. Come creare un nuovo utente con accesso Ssh?

  4. Come creare ed eliminare un utente su Debian 9

  5. Come configurare le chiavi SSH su Debian

Come creare un utente ssh in jail con Jailkit su Debian/Ubuntu

Come installare Debian 9 Stretch – Tutorial passo passo con schermate

Come installare NextCloud su Debian 9 Stretch con LAMP

Come creare un utente solo SFTP in Debian 11

Come installare Vai su Debian 9 Stretch

Come creare un utente Sudo su Ubuntu e Debian