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
Leave A Comment?