Uno script di shell ( myscript
) verrà eseguito come root, in base a cron
. Legge gli indirizzi IP da un file di configurazione e aggiorna iptables
per autorizzare tali IP per le connessioni in entrata.
myscript
utilizza un'espressione regolare (espressione regolare) per analizzare il file di configurazione per gli indirizzi IP all'inizio delle righe. Non vi è alcun rischio evidente di overflow del buffer o di escalation dei privilegi, poiché qualsiasi cosa che non corrisponde alla struttura e alla lunghezza di un indirizzo IP viene ignorata.
Per ragioni operative, questo file di configurazione deve essere aggiornabile da una persona specifica e fidata il cui unico accesso è tramite SFTP da un vecchio programma SFTP GUI che non è in grado di autenticare a sudo
. (Pensa a CyberDuck, FileZilla, WinSCP.) Questa persona non dovrebbe fare nient'altro sulla macchina. Chiaramente, dovrebbero accedere tramite un account non-root. Chiamiamo il loro account sftp-user
.
Se il file di configurazione ha root:root
come proprietario e gruppo, come fanno la maggior parte dei file di configurazione GNU / Linux, quindi AFAIK l'unico modo per sftp-user
di modificarli sarebbe se l'account sftp-user
avesse password% sudo
privilegi. Ciò sarebbe pericoloso: darebbe all'account molta più energia del necessario. Quindi, è necessaria un'alternativa meno rischiosa.
La mia domanda è: di quanto segue, che è il set di autorizzazioni meno rischioso per quel file di configurazione, e perché?
permissions owner group
----rw---- root sftp-user
-rw------- sftp-user root
-rw------- sftp-user sftp-user
Modifica in risposta a utile per David answer : Sì, in circostanze normali, le autorizzazioni di cui sopra sono equivalenti. Supponendo che l'unico membro del gruppo sftp-user
sia sftp-user
, ciascuno di essi consente l'accesso in lettura e scrittura solo a sftp-user
ea root
. Ma per quanto riguarda le circostanze straordinarie: una delle configurazioni presenta quindi meno rischi rispetto alle altre? Per esempio. ci sono stati casi di escalation dei privilegi tramite la proprietà dei file da soli, in modo tale che la miscelazione di un proprietario root e di un gruppo non-root (o viceversa) è una cattiva idea?