View Full Version : apache2.2 hardening: modsecurity2 e chroot
darkbasic
10-10-2008, 17:46
Visto che per altre esigenze ho dovuto tirar su un serverino xen e allacciare una nuova linea con 1.5 Mb di upload (powered by cisco 1841 :D ) mi sto divertendo a tirare su un anche una macchinetta virtuale con apache e una con mysql.
Purtroppo non ho molto tempo da dedicargli e quindi posso metterci mano solo nel poco tempo libero che ho a disposizione e sarei ben felice di sapere se qualcuno ha gia affrontato le mie stesse problematiche:
debian lenny con apache2.2 e mod-security2 2.5.5 con il quale tra le altre cose ho chrootato apache (ma con mod_chroot ho gli stessi problemi).
Ovviamente apache non è in grado di raggiungere /usr/share/phpmyadmin e quindi ho copiato quella cartella dentro il chroot.
Il problema è che senza chroot quando provo a connettermi a un database ricevo questo errore
#2002 - Il server non risponde (o il socket del server locale MySQL non è correttamente configurato)
come è giusto che sia dal momento che mysql-server non è installato, mentre se apache è chrootato quando provo a connettermi non succede nulla :(
Idee?
darkbasic
13-10-2008, 11:52
Possibile che sia l'unico uomo al mondo che ha provato ad utilizzare phpmyadmin con apache chrootato?
Non riesco a trovare niente nemmeno con google :cry:
ciao
il socket di mysql dove lo fai ascoltare?
dentro la chroot?
devi naturalmente installarlo mysql...
Se usi apache chrootato la via migliore per connetterti al db non è via socket (a meno che tu lo sposti dentro la jail), ma utilizzando il protocollo tcp impostando che si connetta al tuo localhost (127.0.0.1). Assicurati di non avere il parametro "skip-networking" nel file my.cnf e per sicurezza controlla che il server mysql sia accessibile solo da localhost (sempre da my.cnf).
darkbasic
13-10-2008, 17:42
Innanzitutto grazie per le risposte!
Non c'è nessun server mysql installato, il server mysql è su un'altra macchina virtuale. Quello che mi chiedo è: perché non mi da il messaggio di errore (cosa che fa se apache non è chrootato)?
Ho notato che anche non avendo installato mysql-server ho comunque il file /etc/mysql/my.cnf... perché?
darkbasic
03-11-2008, 12:14
ma utilizzando il protocollo tcp impostando che si connetta al tuo localhost (127.0.0.1)
Saresti così gentile da spiegarmi come fare? Ho cercato con google ma non sono riuscito a trovare niente a parte gente che dice di fare così senza però spiegare come :cry:
darkbasic
08-11-2008, 18:52
up
Ho notato che anche non avendo installato mysql-server ho comunque il file /etc/mysql/my.cnf... perché?
Perché il my.cnf non include sono le configurazioni per il server ma anche per i client! La parte server è quella che inizia per [mysqld].
Saresti così gentile da spiegarmi come fare? Ho cercato con google ma non sono riuscito a trovare niente a parte gente che dice di fare così senza però spiegare come :cry:
Allora, se il server mysql è su un'altra macchina (virtuale o no) dovrai impostare in modo che apache/php non si connettano più al localhost, ma all'IP della macchina con il server; io avevo capito che mysqld era sulla stessa macchina della chroot ma fuori da essa.
Mysql sulla macchina remota non dovrà avere il parametro 'skip-networking' mentre l'utente che tu vuoi utilizzare dovrà avere i permessi di connessione dalla macchina con apache. Per esempio lo puoi impostare con il comando GRANT lanciato su mysql:
GRANT ALL ON mydb.* TO 'mioutente'@'ipapache';
o meglio prima revochi tutti i permessi all'utente che ti interessa (che non sia root!!), poi gli dai i permessi da localhost (sempre meglio) e poi i permessi per l'ip remoto:
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'mioutente';
GRANT ALL ON mydb.* TO 'mioutente'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON mydb.* TO 'mioutente'@'ipapache' IDENTIFIED BY 'password';
http://dev.mysql.com/doc/refman/5.0/en/grant.html e http://dev.mysql.com/doc/refman/5.0/en/revoke.html
Così dovrebbe andare tutto...
darkbasic
27-11-2008, 23:54
dovrai impostare in modo che apache/php non si connettano più al localhost, ma all'IP della macchina con il server
Scusa ma mi sfugge questa parte: come faccio? :doh:
darkbasic
29-11-2008, 20:27
up
darkbasic
01-12-2008, 16:57
up
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.