Cum sa creezi un mediu chroot

Configurare noua (How To)

Situatie


Ceea ce faceți în mod esențial este crearea unui sistem de fișiere rădăcină schelet care conține suficiente componente, binare, fișiere de parolă etc. pentru a permite Unixului să facă “chroot” atunci când utilizatorul se conectează.

Rețineți că dacă utilizați opțiunea –enable-ls în timpul compilării, directoarele / home / ftp / bin și / home / ftp / lib nu sunt necesare deoarece această nouă opțiune permite Wu-ftpd să folosească propria funcție ls.

În continuare demonstrăm vechea metodă pentru persoanele care preferă să copieze / bin / ls în directorul FTP chroot’d, / home / ftp / bin și să creeze biblioteca corespunzătoare pentru ls.

Solutie

Următoarele sunt necesare pentru a rula software-ul Wu-ftpd într-o închisoare chroot:

Mai întâi creați toate directoarele de mediu chroot, după cum urmeaza mai jos:

[root@deep ] /# mkdir /home/ftp/dev
[root@deep ] /# mkdir /home/ftp/etc
[root@deep ] /# mkdir /home/ftp/bin
[root@deep ] /# mkdir /home/ftp/lib

Schimbați permisiunea pentru directorii noi la 0511 din motive de securitate: Comanda chmod va face directorii chrooted dev, etc, bin și lib lizibili și executabili de către root-ul super-utilizator și executabili de către grupul de utilizatori și toți utilizatorii.

[root@deep ] /# chmod 0511 /home/ftp/dev/
[root@deep ] /# chmod 0511 /home/ftp/etc/
[root@deep ] /# chmod 0511 /home/ftp/bin
[root@deep ] /# chmod 0511 /home/ftp/lib

Copiați directorul / bin / ls în directorul / home / ftp / bin și schimbați permisiunea programului ls la 0111.

[root@deep ] /# cp /bin/ls /home/ftp/bin
[root@deep ] /# chmod 0111 /bin/ls /home/ftp/bin/ls

Acest pas este necesar numai dacă nu utilizați opțiunea –enable-ls în timpul de configurare al Wu-ftpd.

1.Găsiți dependențele bibliotecii partajate ale programului binar Linux:

[root@deep ] /# ldd /bin/ls

libc.so.6 => /lib/libc.so.6 (0x00125000)
/lib/ld-linux.so.2 =7gt; /lib/ld-linux.so.2 (0x00110000)

2.Copiați bibliotecile partajate identificate mai sus în noul dvs. director lib în directorul / home / ftp:

[root@deep ] /# cp /lib/libc.so.6 /home/ftp/lib/ 
[root@deep ] /# cp /lib/ld-linux.so.2 /home/ftp/lib/

Aceste biblioteci sunt necesare pentru a face munca. De asemenea, pasii 3 și 4 de mai jos sunt necesari 
numai dacă doriți să utilizați programul binar ls Linux în locul opțiunii --enable-ls care folosește 
noua capacitate ls internă a Wu-ftpd.

3.Creați fișierul / home / ftp / dev / null:

[root@deep ] /# mknod /home/ftp/dev/null c 1 3
[root@deep ] /# chmod 666 /home/ftp/dev/null

4.Copiați grupul și fișierele passwd din directorul / home / ftp / etc. Acest lucru nu ar trebui să 
fie același cu cele reale. Din acest motiv, vom elimina toți utilizatorii non-FTP, cu excepția 
rădăcină super-utilizator în ambele aceste fișiere, passwd și grup.

[root@deep ] /# cp /etc/passwd /home/ftp/etc/
[root@deep ] /# cp /etc/group /home/ftp/etc/

Editați fișierul passwd, vi / home / ftp / etc / passwd și ștergeți toate intrările, cu excepția rădăcină 
super-utilizator și utilizatorii dvs. FTP autorizati. Este foarte important ca fișierul passwd din mediul 
chroot să aibă înregistrări precum:

root:x:0:0:root:/:/dev/null
ftpadmin:x:502:502::/ftpadmin/:/dev/null

Putem observa două lucruri aici: în primul rând, directorul de acasă pentru toți utilizatorii din 
interiorul acestui fișier passwd modificat este acum modificat pentru a reflecta noul director FTP chroot, 
de exemplu /home/ftp/./ftpadmin/ begin / ftpadmin /, precum și numele din shell-ul de conectare 
al utilizatorului pentru contul rădăcină a fost schimbat în / dev / null.

Editați fișierul grupului, vi / home / ftp / etc / group și ștergeți toate intrările, cu excepția rădăcină 
super-utilizator și a tuturor utilizatorilor dvs. FTP autorizati. Fișierul grupului trebuie să corespundă 
fișierului dvs. de grup obișnuit:

root:x:0:root
ftpadmin:x:502:

5.Acum trebuie să setăm passwd și fișiere de grup în directorul jail chroot imutabil pentru o mai bună securitate.

[root@deep ] /# cd /home/ftp/etc/
[root@deep ] /# chattr +i passwd

Setați bitul imutabil pe fișierul de grup:

[root@deep ] /# cd /home/ftp/etc/
[root@deep ] /# chattr +i group
 
 




Tip solutie

Permanent

Voteaza

(20 din 45 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?