Pagina 1 di 1

profilo apparmor per applicazione mono

Inviato: domenica 26 dicembre 2010, 14:35
da novainvicta
buon giorno!

sto sviluppando un applicazione in C# e visto che gira su un server dovrei isolarla con apparmor,
ma come si fa visto che le applicazioni "mono" hanno un percorso particolare?

quello che li devo permettere è
1.lanciare comandi al terminale (tipo sudo poweroff,rsync e simili)
2.leggere i file nella cartella X
3.scrivere i file nella cartella Y
tutto il resto.......bloccato (non serve nemmeno la grafica visto che è un applicazione console) (rotfl)

Re: profilo apparmor per applicazione mono

Inviato: domenica 26 dicembre 2010, 18:07
da il_muflone
hai gia` visto Sicurezza/AppArmor ?
per impostare i percorsi puoi osservare un qualsiasi altro profilo.

tuttavia se il tuo programma esegue attivita` con sudo allora le esegue con sudo ed e` potenzialmente distruttivo. assicurati di creare un utente separato che NON SIA nel gruppo admin e aggiungi la possibilita` di eseguire solo quei comandi tramite visudo e null'altro.

Re: profilo apparmor per applicazione mono

Inviato: domenica 26 dicembre 2010, 18:52
da novainvicta
grazie per la risposta in tempi di vacanza!

si, ho osservato il profilo di banshee che è fatto in mono, ma mi crea molti dubbi, specie nella prima riga ossia quella del percorso del programma, non c'è mono /direcotry/file.exe oppure direttamente lil programma mono con eventuali parametri, ma bensì un percorso
qui mi servirebbe un po' più aiuto, direi un mezzo esempio

per il secondo paragrafo mi hai dato uno spunto su cui ragionare,
avevo già pensato di modificare sudores, percepisco che usare un utente separato è una gran bella idea, ma che vantaggi ci sono a parte impedire che l'utenza normale esegua quei comandi? (non mi pare pericolo rsync, poweroff o la masterizzazione da terminale)

Re: profilo apparmor per applicazione mono

Inviato: domenica 26 dicembre 2010, 19:15
da il_muflone
non e` pericoloso che un utente esegua certi comandi, e` pericoloso che un software abbia i diritti di eseguire comandi con sudo.

se il software e` esposto a problemi di sicurezza, invece di sudo rsync puo` essere alterato per eseguire sudo rm e quindi col beneplacito dei criteri di sicurezza visto che l'utente ha il diritto di eseguire comandi con sudo.

Re: profilo apparmor per applicazione mono

Inviato: domenica 26 dicembre 2010, 19:22
da novainvicta
il_muflone ha scritto: non e` pericoloso che un utente esegua certi comandi, e` pericoloso che un software abbia i diritti di eseguire comandi con sudo.

se il software e` esposto a problemi di sicurezza, invece di sudo rsync puo` essere alterato per eseguire sudo rm e quindi col beneplacito dei criteri di sicurezza visto che l'utente ha il diritto di eseguire comandi con sudo.
come ti dicevo avevo già pensato di modificare sudores per permettere l'esecuzione di comandi particolari anche da "utente semplice", la domanda è che vantaggio c'è anche a separare l'utente?

vabhè, quello che mi urge di più è il primo punto: ossia apparmor... come la incastro l'applicazione mono /path/app.exe, a leggere X e scrivere Y, oltre che eseguire comandi "console"?

Re: profilo apparmor per applicazione mono

Inviato: domenica 26 dicembre 2010, 19:38
da il_muflone
prendi un profilo qualsiasi e modificalo indicandogli quali files deve poter leggere e scrivere.

Re: profilo apparmor per applicazione mono

Inviato: domenica 26 dicembre 2010, 19:49
da novainvicta
il_muflone ha scritto: prendi un profilo qualsiasi e modificalo indicandogli quali files deve poter leggere e scrivere.
forse non riesco a spiegarmi  :)

questo è un esempio al volo da google....
/usr/sbin/hiawatha {
  /etc/group r
}

al posto di /usr/sbin/hiawatha non posso certo metterci
mono /example/application.exe{
  /etc/group r
}

Re: profilo apparmor per applicazione mono

Inviato: domenica 26 dicembre 2010, 21:20
da il_muflone
il processo in realta` e` mono.
banshee che profilo utilizza?

se non dovesse piacergli puoi creare un bash script e proteggere quello

Re: profilo apparmor per applicazione mono

Inviato: lunedì 27 dicembre 2010, 0:45
da novainvicta
il_muflone ha scritto: il processo in realta` e` mono.
banshee che profilo utilizza?

se non dovesse piacergli puoi creare un bash script e proteggere quello
cosa intendi fare uno script bash?
intendi fare il porting del programma da mono a bash o intendi fare uno script che lancia l'applicazione mono?
(mi pare che la seconda sia la strada scelta anche da banshee, visto che il profilo apparmor punta a /usr/bin/banshee che è uno script)

a questo punto chiedo come va fatto lo script bash? basta una semplice riga mono /applicazione.exe? e poi apparmor estende l'ombrello prottettivo a tutte le applicazioni lanciate dallo script pritetto quindi, di conseguenza anche l'applicazione mono?

qui c'è il profilo di banshee che ho trovato:
http://apparmor.opensuse.org/profiles/show/532

Re: profilo apparmor per applicazione mono

Inviato: lunedì 27 dicembre 2010, 15:22
da il_muflone
ecco, appunto proprio questo intendevo.

fatti uno scriptino di due righe che contenga solo il richiamo a mono /bla/tuoprogramma.exe e poi ti configuri un profilo solo per quel file bash i cui figli lanciati godranno degli stessi permessi concessi al batch.

Re: profilo apparmor per applicazione mono

Inviato: lunedì 27 dicembre 2010, 22:14
da novainvicta
questo è un problema molto grave  8),

se è vero che i figlio mono lanciato dallo script hanno i suoi stessi permessi
è altrettanto vero che anche i figli del programma mono avranno gli stessi permessi (in pratica i nipoti)
uno dei programmi bash lanciati è rsync, che deve poter leggere e scrivere in mezza home
ed è proprio quello che volevo evitare ossia che da possibili problemi del programma mono venisse compromesso il server, ma sopratutto il prezioso carico che porta: i dati..

spero(anzi sono sicuro) che apparmor preveda qualche cosa di un po' meno lasciato al caso...

EDIT:
forse ho una soluzione...
se aggiungo un secondo profilo per rsync?
in pratica il bash e mono sono limitati, poi quando il nipote parte e dovrebbe essere limitato, apparmor si trova un profilo che lo libera dalle catene, può funzionare?

Re: profilo apparmor per applicazione mono

Inviato: lunedì 27 dicembre 2010, 22:30
da il_muflone
io continuo a far fatica a capire cosa intendi fare di preciso.
se limiti il programma e poi lasci il permesso di eseguire programmi con root il pasticcio lo fai ugualmente.

Re: profilo apparmor per applicazione mono

Inviato: martedì 28 dicembre 2010, 0:17
da novainvicta
il_muflone ha scritto: io continuo a far fatica a capire cosa intendi fare di preciso.
se limiti il programma e poi lasci il permesso di eseguire programmi con root il pasticcio lo fai ugualmente.
ok, fai finta che non uso sudo, visto che rsync,poweroff etc.. tramite sudores potranno essere eseguiti senza privilegi
voglio solo limitare il programma mono, mentre rsync deve obbligatoriamente poter leggere e scrivere nella home
rimane dunque in piedi la domanda fatta prima..
che ne dici della idea di mettere un profilo per l'applicazione mono e uno per rsync, funzionerebbe?
mi sa che ci sono 2 maniere per poter rispondere a questa domanda..essere i programmatori di apparmor o provare... (rotfl)

appena riesco provo...se però sai la risposta...non mi offendo se la scrivi  (good)

p.s. è un applicazione che metterò anche come opensource su sourceforge, come mia abitudine quando faccio queste cose.. è per la gestione di un nas
...si ...so che c++ magari sarebbe più adatto e prima o poi il porting lo faccio...