[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: eseguire comandi da interfaccia web



Pol Hallen writes:
 > mi chiedevo in che modo è possibile utilizzare un'interfaccia web per
 > riavvire un servizio (tipo samba) cliccando sul pulsante "riavvia".

Web application che reagisce ad una opportuna post.

 > Nel lato pratico: per creare l'interfaccia è meglio usare perl, php, o
 > cosa? (a memoria con html non si può... o si?)

Con html non si può, che viene interpretato dal tuo client.

O cosa.

PERL rischia di diventare read only, php pure e in ambedue i casi se
sfondi il programma sei nella macchina, oppure si scaricano i sorgenti
del programma e capiscono come funziona e come farlo malfunzionare per
i loro comodi.

Meglio un linguaggio eseguito da una VM (ruby, Python o Java).

Il tuo programma dovrebbe prendere dalla post le credenziali
dell'utente (ergo, fallo ascoltare su https e non http), verificarle e
poi fare uno shell-out per un bel "service smb restart" (o equivalente
con systemd) che a naso va eseguito con l'ID di root. Meglio usare una
api che permetta di fare lo user switch dall'interno dell'interprete
della web application.

Punti critici di sicurezza:

- l'interprete, sempre aggiornato e non deve girare come root

- la verifica delle credenziali lato server, se usi un DB e non usi un
  prepared statement apri la porta a vari tipi di attacchi di SQL
  injection (uno script kid con sqlmap può ravanarti il DB e forse la
  macchina).

- lo statement utilizzato per riavviare samba. Usare una cosa come

  "echo "$PASS_DA_POST" sudo -S -u "$USER_DA_POST" service samba restart"

  è una idea sbagliata (non si inietta solo lo SQL).

-- 
 /\           ___                                    Ubuntu: ancient
/___/\_|_|\_|__|___Gian Uberto Lauri_____               African word
  //--\| | \|  |   Integralista GNUslamico            meaning "I can
\/                 coltivatore diretto di software       not install
     già sistemista a tempo (altrui) perso...                Debian"

Warning: gnome-config-daemon considered more dangerous than GOTO


Reply to: