Como criar um usuário ssh preso com Jailkit no Debian!

Crie um usuário ssh preso com Jailkit

3d interior jail
Want create site? Find Free WordPress Themes and plugins.

Este documento descreve como instalar e configurar no Debian Jessie e Jailkit Server. Jailkit é um conjunto de utilitários para limitar as contas de usuário para arquivos específicos usando chroot () e ou comandos específicos. Configurando um shell chroot, um shell limitado a algum comando específico, ou um daemon dentro de uma jaula é muito mais fácil e pode ser automatizado usando esses utilitários.

Jailkit é conhecido por ser usado em dispositivos de segurança de rede a partir de várias empresas líderes de TI de segurança, servidores de internet de várias grandes organizações empresariais, servidores de internet de provedores de serviços de internet, assim como muitas pequenas empresas e usuários domésticos que precisam garantir cvs, sftp, shell ou processos daemon.

Este tutorial é baseado no Debian como servidor, portanto, você deve configurar uma instalação básica do servidor Debian 8 ou 9 antes de continuar com este tutorial. O sistema deve ter um endereço IP estático. Eu uso 192.168.0.100 ao meu endereço IP, neste tutorial e server1.example.com como o nome da máquina.

1º instalar Jailkit

Vamos primeiro fazer o download e instalar o Jailkit. No tempo presente da escrita deste guia a última versão disponível do Jailkit é 2.19. Vou baixá-lo e instalá-lo da seguinte forma: hostname.

cd /tmp
wget https://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz
tar xvfz jailkit-2.19.tar.gz
cd jailkit-2.19
Jailkit requer alguns pacotes antes de sua instalação, vamos instalá-los da seguinte forma, estou usando o ROOT!
apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold python

Agora o nosso sistema está pronto para instalar o Jailkit, instale-o da seguinte forma:

./debian/rules binary
cd ..
dpkg -i jailkit_2.19-1_amd64.deb

Ele irá instalar o Jailkit no Debian Server, podemos remover os pacotes extras de /tmp:

rm -rf /tmp/jailkit*

3º Prender um usuário

Agora vamos criar um usuário que irá ser preso usando Jailkit como:

adduser srijan
[email protected]:~#adduser srijan
Adding user `srijan' ...
Adding new group `srijan' (1001) ...
Adding new user `srijan' (1001) with group `srijan' ...
Creating home directory `/home/srijan' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: <--password
Retype new UNIX password:<--password
passwd: password updated successfully
Changing the user information for srijan
Enter the new value, or press ENTER for the default
Full Name []: <--ENTER
Room Number []:<--ENTER
Work Phone []:<--ENTER
Home Phone []:<--ENTER
Other []:<--ENTER
Is the information correct? [Y/n] <--Y
[email protected]:~#

No meu caso eu estou criando o Srijan usuário, você pode usar qualquer nome.

Em seguida, vamos verificar as informações sobre Srijan usuário em / etc / passwd como:

egrep srijan /etc/passwd

Em seguida, vamos prisão o usuário criado. Crie um diretório/cadeia por meio Jail:

mkdir /jail

Agora iremos fornecer o Jail environment com algunm programa padrão como:

jk_init -v /opt/jail netutils basicshell jk_lsh openvpn ssh sftp

Podemos dar outros valores também, a lista completa do ambiente Jail pode ser verificado no arquivo

nano /etc/jailkit/jk_init.ini

Agora Jail está pronto, basta adicionar o usuário dentro do ambiente:

jk_jailuser -m -j /jail/ srijan

Novamente verificar os valores em /etc/passwd para Srijan usuário:

egrep srijan /etc/passwd

Agora o nosso usuário foi adicionado no ambiente e já esta preso. Eu vou subir servidor Debian com o terminal de com o seu IP 192.168.0.100:

ssh [email protected]

Saídas do terminal:

[email protected]:~$ ssh [email protected]
The authenticity of host '192.168.0.100 (192.168.0.100)' can't be established.
ECDSA key fingerprint is 3d:ca:91:67:96:39:15:b4:0f:6e:c8:2c:92:ef:25:d7.
Are you sure you want to continue connecting (yes/no)? yes
[email protected]'s password: 
Linux server1 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64
Os programas incluídos com o sistema Debian GNU / Linux é um software livre; 
os termos de distribuição exatas para cada programa são descritos no 
arquivos individuais em /usr/share/doc/*/ copyright.

Debian GNU / Linux vem com ABSOLUTAMENTE NENHUMA GARANTIA, na medida 
permitido pela legislação aplicável. 
A conexão com 192.168.0.100 fechada.

Conexão está sendo fechada porque o usuário não tem shell login, vamos adicioná-lo no arquivo de configuração do Jail:

nano /jail/etc/passwd

Saídas:

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

Ele irá adicionar o shell bash para o usuário Srijan preso. Agora tente novamente o acesso ssh com usuário Srijan e você será capaz de login:

ssh [email protected]

Agora, verifique o conteúdo do diretório raiz, você vai notar que ele tem conteúdo como este:

ls /

Saídas:

[email protected]:~$ ls / 
bin dev etc home lib lib64 usr
[email protected]:~$

4º Execução de serviços e comandos no ambiente preso

Jail pode ser usado para executar serviços em ambiente “preso”. Suponha que queremos executar qualquer serviço em ambiente “preso” em seguida, vamos usar o comando jk_chrootlaunch para isso:

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

Aqui eu estou começando o serviço do Apache, da mesma forma que você pode executar qualquer serviço ou daemon com ele no ambiente preso.

Suponha que queremos executar um comando especial no ambiente Jail então vamos usar jk_cp. Vamos testá-lo no ambiente preso quando vamos correr cal seguida, ele mostra como se segue:

cal

Saídas:

[email protected]:~$ cal
bash: cal: command not found
[email protected]:~$

Significa ambiente Jail não sabe o comando cal, agora eu vou adicioná-lo no Debian Server da seguinte maneira:

jk_cp -v -j /jail/ /usr/bin/cal
Saídas:
[email protected]:~# jk_cp -v -j /jail/ /usr/bin/cal 
Creating symlink /jail/usr/bin/cal to ncal
Copying /usr/bin/ncal to /jail/usr/bin/ncal
Creating symlink /jail/lib/x86_64-linux-gnu/libncurses.so.5 to libncurses.so.5.9
Copying /lib/x86_64-linux-gnu/libncurses.so.5.9 to /jail/lib/x86_64-linux-gnu/libncurses.so.5.9
/jail/lib/x86_64-linux-gnu/libtinfo.so.5 already exists, will not touch it
/jail/lib/x86_64-linux-gnu/libc.so.6 already exists, will not touch it
/jail/lib/x86_64-linux-gnu/libdl.so.2 already exists, will not touch it
/jail/lib64/ld-linux-x86-64.so.2 already exists, will not touch it
/jail/lib/x86_64-linux-gnu/libtinfo.so.5 already exists, will not touch it
/jail/lib/x86_64-linux-gnu/libc.so.6 already exists, will not touch it
/jail/lib/x86_64-linux-gnu/libdl.so.2 already exists, will not touch it
/jail/lib64/ld-linux-x86-64.so.2 already exists, will not touch it
[email protected]:~#

Novamente execute o comando cal no ambiente Preso:

cal
Saídas:

[email protected]:~$ cal
September 2014 
Su Mo Tu We Th Fr 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 protected]:~$

Então, nós adicionamos o comando para o ambiente “preso”. Parabéns! Agora nós temos configurado com sucesso Jail environment no Debian.

Did you find apk for android? You can find new Free Android Games and apps.

Comentários