Configurazione del sistema che cambia in modo sicuro da un'applicazione web

1

Ho bisogno di scrivere un'applicazione web che funge da interfaccia di configurazione per alcuni servizi di sistema. Significa che probabilmente cambierà qualche tipo di file di configurazione e dovrà riavviare (linux) i servizi di sistema.

Mi stavo chiedendo come progettare una cosa del genere in modo sicuro. È molto simile alle interfacce web del router e così via, quindi ho dato un'occhiata veloce ad alcuni di questi e anche a webmin.

Fondamentalmente, potrei eseguire il servizio web / CGI-Script / ecc. con i privilegi di root, filtra l'input nel miglior modo possibile e scrivi semplicemente sul sistema ed esegui qualsiasi programma desideri.

Questo non sembra molto sicuro. Mi piacerebbe ottenere una sorta di separazione dei privilegi.

Forse avere la mia app web eseguita come utente non privilegiato e passare le informazioni a qualche demone / servizio privilegiato, cioè avere un'app Web Python che scrive le informazioni in un file e notifica il demone o usa i socket unix per comunicare con questo programma di backend .

Qualche idea o esperienza che potresti condividere in merito a questo problema?

Grazie mille in anticipo.

    
posta Benjamin Maurer 05.01.2013 - 15:08
fonte

1 risposta

0

Hai risposto per lo più alla tua stessa domanda. Hai ragione di non gradire l'esecuzione dell'applicazione web come root , indipendentemente da come lo esegui. Hai ragione a guardare alla separazione dei privilegi per colmare il divario tra gli ambienti meno e più sicuri. Vorrei solo aggiungere che il tuo bridge scelto (e mi piacciono i file di testo per questo) dovrebbe descrivere l'azione da eseguire, non la tecnica con cui viene eseguita. Così il tuo ambiente meno sicuro scrive un "file di azione" che dice restart_cron invece di /etc/init.d/crond restart . E fai in modo che il tuo ambiente più sicuro controlli molto attentamente il contenuto del "file di azione", in particolare tutto ciò che finisce per invocare come parte di un comando. In generale, se pensi a un modo per rendere l'ambiente più sicuro più semplice da usare da parte del meno sicuro, vai nella direzione opposta.

    
risposta data 05.01.2013 - 17:02
fonte

Leggi altre domande sui tag