lundi 16 juillet 2007
dimanche 1 juillet 2007
Chrooted SSH HowTo
Préliminaires installation du serveur:
Mettre à jour le BIOS
Installer UBUNTU 6.06 LTS server
apt-get update
apt-get upgrade
apt-get dist-upgrade
reboot
Installation des packages et de openssh-chroot patché:
apt-get install gcc make autoconf libtool flex bison libpam0g-dev openssl libcrypto++-dev libssl0.9.7 libssl-dev ssh devscripts sbuild checkinstall
wget http://chrootssh.sourceforge.net/download/openssh-4.2p1-chroot.tar.gz
tar xvfz openssh-4.2p1-chroot.tar.gz
cd openssh-4.2p1-chroot
./configure --exec-prefix=/usr --sysconfdir=/etc/ssh --with-pam
make
checkinstall
Création de l'arborescence chroot:
mkdir /home/chroot/
mkdir /home/chroot/home/
cd /home/chroot
mkdir etc
mkdir bin
mkdir lib
mkdir usr
mkdir usr/bin
mkdir dev
mknod dev/null c 1 3
mknod dev/zero c 1 5
Copie des librairies manquantes:
APPS="/bin/bash /bin/ls /bin/mkdir /bin/mv /bin/pwd /bin/rm /usr/bin/id /usr/bin/ssh /bin/ping /usr/bin/dircolors"
for prog in $APPS; do
cp $prog ./$prog
# obtain a list of related libraries
ldd $prog > /dev/null
if [ "$?" = 0 ] ; then
LIBS=`ldd $prog | awk '{ print $3 }'`
for l in $LIBS; do
mkdir -p ./`dirname $l` > /dev/null 2>&1
cp $l ./$l
done
fi
done
cp /lib/ld-linux.so.2 /lib/libnss_compat.so.2 /lib/libnsl.so.1 /lib/libnss_files.so.2 ./lib/
echo '#!/bin/bash' > usr/bin/groups
echo "id -Gn" >> usr/bin/groups
touch etc/passwd
grep /etc/passwd -e "^root" > etc/passwd
Copier les groupes des utilisateurs en chroot dans etc/group:
grep /etc/group -e "^root" -e "^users" > etc/group
/etc/init.d/ssh restart
Ajouter un utilisateur:
useradd -s /bin/bash -m -d /home/chroot/./home/testuser -c "testuser" -g users testuser
passwd testuser
grep /etc/passwd -e "^testuser" >> /home/chroot/etc/passwd
Penser à ajouter tout groupe supplémentaire:
grep /etc/group -e "^othergroup" >> /home/chroot/etc/group
Source: http://www.howtoforge.com/chrooted_ssh_howto_debian
Mettre à jour le BIOS
Installer UBUNTU 6.06 LTS server
apt-get update
apt-get upgrade
apt-get dist-upgrade
reboot
Installation des packages et de openssh-chroot patché:
apt-get install gcc make autoconf libtool flex bison libpam0g-dev openssl libcrypto++-dev libssl0.9.7 libssl-dev ssh devscripts sbuild checkinstall
wget http://chrootssh.sourceforge.net/download/openssh-4.2p1-chroot.tar.gz
tar xvfz openssh-4.2p1-chroot.tar.gz
cd openssh-4.2p1-chroot
./configure --exec-prefix=/usr --sysconfdir=/etc/ssh --with-pam
make
checkinstall
Création de l'arborescence chroot:
mkdir /home/chroot/
mkdir /home/chroot/home/
cd /home/chroot
mkdir etc
mkdir bin
mkdir lib
mkdir usr
mkdir usr/bin
mkdir dev
mknod dev/null c 1 3
mknod dev/zero c 1 5
Copie des librairies manquantes:
APPS="/bin/bash /bin/ls /bin/mkdir /bin/mv /bin/pwd /bin/rm /usr/bin/id /usr/bin/ssh /bin/ping /usr/bin/dircolors"
for prog in $APPS; do
cp $prog ./$prog
# obtain a list of related libraries
ldd $prog > /dev/null
if [ "$?" = 0 ] ; then
LIBS=`ldd $prog | awk '{ print $3 }'`
for l in $LIBS; do
mkdir -p ./`dirname $l` > /dev/null 2>&1
cp $l ./$l
done
fi
done
cp /lib/ld-linux.so.2 /lib/libnss_compat.so.2 /lib/libnsl.so.1 /lib/libnss_files.so.2 ./lib/
echo '#!/bin/bash' > usr/bin/groups
echo "id -Gn" >> usr/bin/groups
touch etc/passwd
grep /etc/passwd -e "^root" > etc/passwd
Copier les groupes des utilisateurs en chroot dans etc/group:
grep /etc/group -e "^root" -e "^users" > etc/group
/etc/init.d/ssh restart
Ajouter un utilisateur:
useradd -s /bin/bash -m -d /home/chroot/./home/testuser -c "testuser" -g users testuser
passwd testuser
grep /etc/passwd -e "^testuser" >> /home/chroot/etc/passwd
Penser à ajouter tout groupe supplémentaire:
grep /etc/group -e "^othergroup" >> /home/chroot/etc/group
Source: http://www.howtoforge.com/chrooted_ssh_howto_debian
Inscription à :
Articles (Atom)