|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
/proc in chroot ?
E' sicuro montare proc in chroot?
Mi pareva ci fossero dei problemi di sicurezza con i kernel 2.2 e 2.4 Ci sono ancora con la 2.6, o comunque in genere? Il punto è che tomcat (o meglio java) in chroot, senza il /proc dà un warning, che non può voler dire nulla, ma che se non ci fosse toglierebbe dubbi su eventuali impallamenti in produzione. Credo potrebbe basta /proc/self/stat (non sono sicuro), ma in tal caso esiste un modo per montare solo questa parte ? Grazie ! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Ok, ho detto una mezza cavolata: /proc/self punta all'ID associato al processo, quindi non posso montare soltanto /proc/self perché non avrebbbe senso.
Siccome non so a priori l'ID del processo, mi tocca montare comunque proc /chroot/tomcat/proc. Fosse stata una directory, forse avrei potuto fare un mount con l'opzione bind. I dubbi che restano sono quindi: 1) Con il kernel 2.6 è abbastanza sicuro montare proc in chroot? 2) Ho scoperto che esiste l'opzione bind per il mount. Si può fare anche con il fs proc e se si, cosa è meglio in termini di sicurezza e prestazioni ? Un mount diretto o un bind alla directory precedentemente montata (/proc) ? |
![]() |
![]() |
![]() |
#3 | ||
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Nota che puoi montare proc in r/o. Quote:
Ad oggi il read-only bind mount è disponibile solo come patch esterna.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Ti ringrazio per le preziosissime risposte.
Per capire se mi può bastare montarlo solo in ro faccio uno strace del processo che lo richiede (java) per vedere se ci accede solo con dei read ? |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Probabilmente (sicuramente) ci accede solo in read. Lo scopo del chroot è di proteggere il sistema da programmi che possono venire "bucati", quindi che compiono azioni che normalmente non dovrebbero compiere.
Nota che proc in ro non è la fine della storia. Proc contiene diverse informazioni che, se lette, potrebbero essere utili ad un attaccante (quali i pid e i nomi dei processi in esecuzione, i loro socket aperti ecc.). Non si tratta di vulnetabilità in se, ma di informazioni che se puoi evitare di diffondere è meglio.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Quote:
[LAMENTELA ON] ![]() ![]() ![]() O meglio, qualcosa l'hanno fatto: in passato causava un segmentation fault con dump del core ![]() [LAMENTELA OFF] Come verificare il problema, se hai un JDK sotto mano e una chroot ![]() chroot /chroot/test /usr/java/bin java -version Basta solo questo..... |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Quote:
mount --bind -o ro /proc /chroot/tomcat/proc e l'ha digerito. Sto usando Trustix con il kernel 2.6 e avevo letto di problemi con il readonly ma con il 2.4. Quello che mi stai dicendo, che non è implementato il read only, sai mica come si manifesta? Cioè, mi dovrebbe dare errore il mount oppure lo accetta, non mi dice niente, ma poi lo monta come scrivibile ? Penso che sia quest'ultimo caso, perché ho provato a montare /tmp in una cartella qualsiasi in readonly e mi ha lasciato creare un files (da root, comunque) |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
-o ro viene silenziosamente ignorato dai bind mount...
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Quote:
... e dei signori ![]() Non voglio attaccare chi lavora penso "gratis" su Linux, ma metterci un if che stampa "o -ro ignored" in caso di "--bind" e "o -ro" non ci avrebbe richiesto molto ![]() Più che altro è una questione di fiducia: quali altre parti hanno un comportamento analogo? (non te lo sto chiedendo ![]() Grazie ancora per l'assistenza. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:23.