Adicionando permissões elevadas a scripts em um diretório

2

Eu tenho um diretório contendo alguns scripts que preciso invocar de uma solicitação da web. Os scripts precisam de permissões elevadas para serem executados.

Meu pensamento atual é adicionar as seguintes linhas a /etc/sudoers :

Cmnd_Alias WEB_COMMANDS = /path/to/scripts
www-data ALL=(ALL) NOPASSWD: WEB_COMMANDS

Esta é a abordagem correta para esse problema? Ou estou causando uma possível vulnerabilidade de segurança?

Usando o CentOS 7, se isso fizer alguma diferença.

    
por Sam Hastings 09.03.2018 / 15:33

1 resposta

0

Qualquer coisa é uma vulnerabilidade de segurança em potencial. Duas coisas:

Primeiro de tudo, você tem certeza que precisa de root? Por quê? Você pode fazer isso com recursos? (Você provavelmente pode.)

Dito isto, o seu exemplo é quase perfeito. Adicione um asterisco após o caminho:

Cmnd_Alias WEB_COMMANDS = /path/to/scripts/*

E agora vai funcionar. Mas cuidado, se algum desses scripts puder ser modificado por um invasor, o invasor ganhará FULL ROOT ACCESS . Eles podem simplesmente exec('/bin/bash') e ter um shell. Definitivamente, use a rota de recursos por script, se possível, e DEFINITIVAMENTE, bloqueie o diretório de script de qualquer forma. Consulte esta resposta do unix.se para obter informações sobre o gerenciamento de recursos com scripts.

    
por 09.03.2018 / 15:43