Entra

View Full Version : mysql e connessione apache in gabbia


_YTS_
07-02-2005, 14:30
ciao
ho messo in gabbia apache, funziona tranne il blog in prova che sto facendo, che ha bisogno di uscire su mysql che non ho incluso in gabbia.

come posso fare per farlo vedere ad apache in gabbia?
ho cercato in rete ma non ho trovato nulla di spedifico, anzi.... :mc:

tnx dei reply

Maestro
07-02-2005, 15:27
io ho risolto facendo scrivere a mysql il socket in /chroot/tmp con la seguente riga nel file di configurazione:


socket=/chroot/tmp/mysql.sock


Poi, per poterlo usare anche fuori la jail, ho fatto un symlink di /chroot/tmp/mysql.sock in /tmp/mysql.sock (ad esempio per usare mysql da console e così via).


Ovviamente, dopo aver fatto la modifica al file di configurazione, riavvia MySQL ;)

Ciao

PiloZ
07-02-2005, 17:29
ottimo :) provai qualche giorno fa a mettere apache in chroot e tutto fungeva correttamente ma il problema era che non riuscivo a chrootare mysql, così dovrei risolvere anche io :p
speriamo che funga :D

cia

_YTS_
07-02-2005, 19:50
ciao
ho provato a fare come hai detto tu maestro....

tuttavia la creazione di un nuovo socket e la configurazione del file
my.cnf di mysql non è andata a buon fine.
syslog mi riporta un errore che dice che il socket è gia in uso ecc....

cmq ho risolto facendo bindare la richiesta del blog su localhost:3306.
ora in effetti tutto funzia e credo sia il modo corretto in quanto non ho creato ne hard ne soft link che potrebbero minacciare la gabbia in caso di compromissione.

in ultima analisi, nel file my.cnf di mysql ci sono 3 voci con scritto socket....
io quale delle 3 devo andare a modificare per seguire il tuo metodo?

vorrei capire perche non mi partiva mysql

ciao e grazie dei reply :sofico:

PiloZ
08-02-2005, 00:44
Originariamente inviato da _YTS_

in ultima analisi, nel file my.cnf di mysql ci sono 3 voci con scritto socket....
io quale delle 3 devo andare a modificare per seguire il tuo metodo?

vorrei capire perche non mi partiva mysql

un po di prove e così mi funge:

[client]
#password = my_password
port = 3306
socket = /var/chroot/apache/var/run/mysqld/mysqld.sock
#socket = /var/run/mysqld/mysqld.sock
..........
........
.......
[mysqld_safe]
socket = /var/chroot/apache/var/run/mysqld/mysqld.sock
#socket = /var/run/mysqld/mysqld.sock
nice = 0
..........
........
.......
[mysqld]
user = root
pid-file = /var/run/mysqld/mysqld.pid
#socket = /var/run/mysqld/mysqld.sock
socket = /var/chroot/apache/var/run/mysqld/mysqld.sock
port = 3306
..........
........
.......

ln -s /var/run/mysqld/mysqld.sock /var/chroot/apache/var/run/mysqld/mysqld.sock

/etc/init.t/mysql restart

:sofico:

_YTS_
08-02-2005, 09:33
ah ecco, forse mi sono pescato il collegamento da fuori gabbia....

cmq mi funzia nell'altro modo quindi sono piu che contento.
unica cosa è questa:

PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4/20020429/gd.so' - libX11.so.6: cannot open shared object file: No such file or directory in Unknown on line 0

mmm
eppure la prima libreria c'e e anche la seconda, non li insieme però.
come posso rimediare?

cmq funziona lo stesso per quello che devo farci io.

tnx

PiloZ
08-02-2005, 10:58
Originariamente inviato da _YTS_
ah ecco, forse mi sono pescato il collegamento da fuori gabbia....

cmq mi funzia nell'altro modo quindi sono piu che contento.
unica cosa è questa:

PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4/20020429/gd.so' - libX11.so.6: cannot open shared object file: No such file or directory in Unknown on line 0

mmm
eppure la prima libreria c'e e anche la seconda, non li insieme però.
come posso rimediare?

cmq funziona lo stesso per quello che devo farci io.

tnx
semplice:
cp -rf /usr/lib/php4/20020429/ /tuo/chroot/apache/usr/lib/php4/

quelle 3 librerie (gd.so,imap.so,mysql.s)
io le avevo già dentro chroot

_YTS_
08-02-2005, 14:08
mmm
fatto ho copiato ma niente...

angelo@seppia:/usr/lib/php4/20020429$ ls
gd.so libX11.so.6 mysql.so

e poi in gabbia:

angelo@seppia:/var/chroot/apache/usr/lib/php4/20020429$ ls
gd.so libX11.so.6 mysql.so

le stesse.
ho anche riavviato per avere ulteriore conferma ma mi da sempre il
warning di apachePHP.

seppia:/var/log# sh /etc/init.d/apache start
Starting web server: apachePHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4/20020429/gd.so' - libX11.so.6: cannot open shared object file: No such file or directory in Unknown on line 0

bha.. se avete idee ben vengano :sofico:

ciao

Maestro
08-02-2005, 14:30
ldd /path/to/jailed/libphp4.so cosa dice ?

PiloZ
08-02-2005, 14:36
hai editato /etc/init.d/apache per il chroot

ho seguito passo passo questo howto ed è andato tutto bene al primo colpo.

https://www.biazzi.org/files/Securing-Debian-HOWTO-ITA.pdf

fai anche questo:
$which php4
/usr/bin/php4
$cd /usr/bin/
$ldd php4
libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xb7fac000)
libnsl.so.1 => /lib/tls/libnsl.so.1 (0xb7f97000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7f77000)
libedit.so.2 => /usr/lib/libedit.so.2 (0xb7f5b000)
libncurses.so.5 => /lib/libncurses.so.5 (0xb7f1c000)
libpcre.so.3 => /usr/lib/libpcre.so.3 (0xb7f0c000)
libpanel.so.5 => /usr/lib/libpanel.so.5 (0xb7f08000)
libdb-4.2.so => /usr/lib/libdb-4.2.so (0xb7e31000)
libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0xb7e22000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7e10000)
libssl.so.0.9.7 => /usr/lib/i686/cmov/libssl.so.0.9.7 (0xb7ddf000)
libresolv.so.2 => /lib/tls/libresolv.so.2 (0xb7dcd000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7dab000)
libdl.so.2 => /lib/tls/libdl.so.2 (0xb7da7000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7c73000)
libcrypto.so.0.9.7 => /usr/lib/i686/cmov/libcrypto.so.0.9.7 (0xb7b74000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fea000)

copia le librerie che vengono usate da php4 in chroot

guarda da me:
piloz@PiloZpC:~$ ls /var/chroot/apache/usr/lib/
totale 4220
drwxr-xr-x 8 root root 4096 2005-01-28 03:18 .
drwxr-xr-x 6 root root 4096 2005-01-28 03:18 ..
drwxr-xr-x 3 root root 4096 2005-01-28 03:17 apache
drwxr-xr-x 2 root root 4096 2005-01-28 03:17 gconv
drwxr-xr-x 3 root root 4096 2005-01-28 03:17 i686
lrwxr-xr-x 1 root root 15 2005-01-28 03:18 libbz2.so.1.0 -> libbz2.so.1.0.2
-rw-r--r-- 1 root root 62048 2005-01-28 03:18 libbz2.so.1.0.2
lrwxr-xr-x 1 root root 28 2005-01-28 03:18 libc-client.so.2002edebian -> libc-client.so.2002edebian.1
-rw-r--r-- 1 root root 767184 2005-01-28 03:18 libc-client.so.2002edebian.1
-rw-r--r-- 1 root root 876584 2005-01-28 03:17 libdb-4.2.so
lrwxr-xr-x 1 root root 17 2005-01-28 03:17 libexpat.so.1 -> libexpat.so.1.0.0
-rw-r--r-- 1 root root 129972 2005-01-28 03:17 libexpat.so.1.0.0
lrwxr-xr-x 1 root root 22 2005-01-28 03:18 libfontconfig.so.1 -> libfontconfig.so.1.0.4
-rw-r--r-- 1 root root 154916 2005-01-28 03:18 libfontconfig.so.1.0.4
lrwxr-xr-x 1 root root 20 2005-01-28 03:18 libfreetype.so.6 -> libfreetype.so.6.3.5
-rw-r--r-- 1 root root 447212 2005-01-28 03:18 libfreetype.so.6.3.5
lrwxr-xr-x 1 root root 15 2005-01-28 03:18 libgd.so.2 -> libgd.so.2.0.33
-rw-r--r-- 1 root root 240944 2005-01-28 03:18 libgd.so.2.0.33
lrwxr-xr-x 1 root root 21 2005-01-28 03:18 libgssapi_krb5.so.2 -> libgssapi_krb5.so.2.2
-rw-r--r-- 1 root root 82252 2005-01-28 03:18 libgssapi_krb5.so.2.2
lrwxr-xr-x 1 root root 17 2005-01-28 03:18 libjpeg.so.62 -> libjpeg.so.62.0.0
-rw-r--r-- 1 root root 120952 2005-01-28 03:18 libjpeg.so.62.0.0
lrwxr-xr-x 1 root root 18 2005-01-28 03:18 libk5crypto.so.3 -> libk5crypto.so.3.0
-rw-r--r-- 1 root root 138664 2005-01-28 03:18 libk5crypto.so.3.0
lrwxr-xr-x 1 root root 14 2005-01-28 03:18 libkrb5.so.3 -> libkrb5.so.3.2
-rw-r--r-- 1 root root 425800 2005-01-28 03:18 libkrb5.so.3.2
lrwxr-xr-x 1 root root 24 2005-01-28 03:18 libmysqlclient.so.10 -> libmysqlclient.so.10.0.0
-rw-r--r-- 1 root root 214344 2005-01-28 03:18 libmysqlclient.so.10.0.0
lrwxr-xr-x 1 root root 17 2005-01-28 03:18 libpcre.so.3 -> libpcre.so.3.10.0
-rw-r--r-- 1 root root 63992 2005-01-28 03:18 libpcre.so.3.10.0
lrwxr-xr-x 1 root root 19 2005-01-28 03:18 libpng12.so.0 -> libpng12.so.0.1.2.8
-rw-r--r-- 1 root root 147224 2005-01-28 03:18 libpng12.so.0.1.2.8
lrwxr-xr-x 1 root root 14 2005-01-28 03:18 libt1.so.5 -> libt1.so.5.0.2
-rw-r--r-- 1 root root 253136 2005-01-28 03:18 libt1.so.5.0.2
lrwxr-xr-x 1 root root 13 2005-01-28 03:18 libz.so.1 -> libz.so.1.2.2
-rw-r--r-- 1 root root 67468 2005-01-28 03:18 libz.so.1.2.2
drwxr-xr-x 2 root root 4096 2005-01-28 03:17 locale
drwxr-xr-x 3 root root 4096 2005-01-28 03:18 php4
drwxr-xr-x 2 root root 4096 2005-01-28 03:17 tls

tutte queste librerie makejail non me le metteva e allora con ldd le ho copiate io :)

_YTS_
08-02-2005, 19:19
perfetto!!

me ne ha chieste un paio nuove che ho subito messo in chroot insieme alle altre tipo queste:

libXpm.so.4
libX11.so.6

posto una cosa:

seppia:/var/chroot/apache/usr/lib# ls -la
total 4976
drwxr-xr-x 5 root root 4096 Feb 8 16:14 ./
drwxr-xr-x 6 root root 4096 Feb 7 10:30 ../
drwxr-xr-x 3 root root 4096 Feb 7 10:29 apache/
-rw-r--r-- 1 root root 82744 Feb 8 16:11 gd.so
drwxr-xr-x 3 root root 4096 Feb 7 10:29 i686/
lrwxrwxrwx 1 root root 11 Feb 8 16:00 ld-linux.so.2 -> ld-2.3.2.so
-rw-r--r-- 1 root root 826192 Feb 8 16:11 libX11.so.6
lrwxrwxrwx 1 root root 14 Feb 8 16:13 libXpm.so.4 -> libXpm.so.4.11
-rw-r--r-- 1 root root 59296 Feb 8 16:14 libXpm.so.4.11
lrwxrwxrwx 1 root root 15 Feb 8 16:02 libbz2.so.1.0 -> libbz2.so.1.0.2
-rw-r--r-- 1 root root 60392 Feb 7 10:29 libbz2.so.1.0.2
lrwxrwxrwx 1 root root 13 Feb 8 16:00 libc.so.6 -> libc-2.3.2.so
lrwxrwxrwx 1 root root 17 Feb 8 16:02 libcrypt.so.1 -> libcrypt-2.3.2.so
-rw-r--r-- 1 root root 1029672 Feb 8 16:00 libcrypto.so.0.9.7
-rw-r--r-- 1 root root 876584 Feb 8 16:02 libdb-4.2.so
lrwxrwxrwx 1 root root 14 Feb 8 16:00 libdl.so.2 -> libdl-2.3.2.so
lrwxrwxrwx 1 root root 17 Feb 8 16:02 libexpat.so.1 -> libexpat.so.1.0.0
-rw-r--r-- 1 root root 129972 Feb 8 15:58 libexpat.so.1.0.0
lrwxrwxrwx 1 root root 22 Feb 7 10:30 libfontconfig.so.1 -> libfontconfig.so.1.0.4
-rw-r--r-- 1 root root 154916 Feb 7 10:30 libfontconfig.so.1.0.4
lrwxrwxrwx 1 root root 20 Feb 7 10:30 libfreetype.so.6 -> libfreetype.so.6.3.5
-rw-r--r-- 1 root root 447212 Feb 7 10:30 libfreetype.so.6.3.5
lrwxrwxrwx 1 root root 15 Feb 7 10:30 libgd.so.2 -> libgd.so.2.0.33
-rw-r--r-- 1 root root 240944 Feb 7 10:30 libgd.so.2.0.33
lrwxrwxrwx 1 root root 17 Feb 7 10:30 libjpeg.so.62 -> libjpeg.so.62.0.0
-rw-r--r-- 1 root root 120952 Feb 7 10:30 libjpeg.so.62.0.0
lrwxrwxrwx 1 root root 13 Feb 8 15:59 libm.so.6 -> libm-2.3.2.so
lrwxrwxrwx 1 root root 24 Feb 7 10:30 libmysqlclient.so.10 -> libmysqlclient.so.10.0.0
-rw-r--r-- 1 root root 214344 Feb 7 10:30 libmysqlclient.so.10.0.0
lrwxrwxrwx 1 root root 15 Feb 8 16:02 libnsl.so.1 -> libnsl-2.3.2.so
lrwxrwxrwx 1 root root 17 Feb 8 16:02 libpcre.so.3 -> libpcre.so.3.10.0
-rw-r--r-- 1 root root 63992 Feb 8 15:58 libpcre.so.3.10.0
lrwxrwxrwx 1 root root 19 Feb 7 10:30 libpng12.so.0 -> libpng12.so.0.1.2.8
-rw-r--r-- 1 root root 147224 Feb 7 10:30 libpng12.so.0.1.2.8
lrwxrwxrwx 1 root root 18 Feb 8 15:59 libresolv.so.2 -> libresolv-2.3.2.so
lrwxrwxrwx 1 root root 17 Feb 8 16:02 libsafe.so.2 -> libsafe.so.2.0.16
-rw-r--r-- 1 root root 198576 Feb 8 15:59 libssl.so.0.9.7
lrwxrwxrwx 1 root root 14 Feb 7 10:30 libt1.so.5 -> libt1.so.5.0.2
-rw-r--r-- 1 root root 253136 Feb 7 10:30 libt1.so.5.0.2
lrwxrwxrwx 1 root root 13 Feb 8 15:59 libz.so.1 -> libz.so.1.2.2
-rw-r--r-- 1 root root 67468 Feb 7 10:29 libz.so.1.2.2
drwxr-xr-x 3 root root 4096 Feb 7 10:30 php4/
seppia:/var/chroot/apache/usr/lib#

mi pare di vedere che ci sono dei collegamenti alle librerie che poi io ho ricopiato a mano.
che dite li posso eliminare?
anzi nei security è CONSIGLIATO non avere link dentro la jail.

ciao

PiloZ
08-02-2005, 19:28
io le lascerei, secondo me è più che sicuro così.