13
Ricardo Coelho [email protected]

Php WatchDog

Embed Size (px)

DESCRIPTION

PHP Watchdog integra-se ao iptables e ao SSH com o objetivo de abrir portas e túneis sob demanda por um período determinado. O usuário deve se autenticar para liberar regras pré-definidas. O administrador pode optar por receber um pedido de autorização no momento do acesso, com a capacidade de liberar ou bloquear o ticket. Pode substituir o port knocking e a VPN convencional em alguns casos.

Citation preview

Page 1: Php WatchDog

Ricardo [email protected]

Page 2: Php WatchDog

Motivação

● Acesso a PostgreSQL alterando pg_hba.conf

● Novas demandas exigiram uso de túneis SSH e escrita NetFilter

● Removido uso de túneis SSH no início do mês

Page 3: Php WatchDog

Onde se encaixa

● Camada adicional de segurança. Não deve ser a única

● Serviços em portas alternativas

● Senhas fortes para os serviços críticos

● HTTPS!!!

Page 4: Php WatchDog

Queríamos evitar

● Escrita de regras de firewall na camada de aplicação

● Complexidade no lado cliente:● Port Knocking● VPN● Túneis SSH

– Acesso desnecessário

Page 5: Php WatchDog

#!/bin/bashScripts com acesso ao iptables

/var/watchdog/bin/enable_rule.sh/var/watchdog/bin/enable_gracetime_rule.sh/var/watchdog/bin/disable_rule.sh/var/watchdog/bin/deactivate_rule.sh/var/watchdog/bin/schedule_disable_rule.sh

/etc/sudoersDefaults:www-data env_keep+="PHPWD_*"www-data ALL=(root)

NOPASSWD:/var/watchdog/bin/enable_rule.shNOPASSWD:/var/watchdog/bin/enable_gracetime_rule.shNOPASSWD:/var/watchdog/bin/disable_rule.shNOPASSWD:/var/watchdog/bin/deactivate_rule.shNOPASSWD:/var/watchdog/bin/schedule_disable_rule.sh

Page 6: Php WatchDog

<?php

?>

config.phpdefine('PHPWD_BINARY_DIR', '/var/watchdog/bin/');

cRuleFile.php`/usr/bin/sudo /var/watchdog/bin/enable_rule example.rule`

Page 7: Php WatchDog

Simplicidade

● Quatro passos rápidos:● Download● Configurar segurança

de pastas● Autorizar minimamente

o Apache● Configurar o envio de

E-mail/SMS

Page 8: Php WatchDog

Simplicidade

● Quatro passos rápidos:● Download● Configurar segurança

de pastas● Autorizar minimamente

o Apache● Configurar o envio de

E-mail/SMS

http://www.nexy.com.br/phpwd.tar.bz2

Page 9: Php WatchDog

Simplicidade

● Quatro passos rápidos:● Download● Configurar segurança

de pastas● Autorizar minimamente

o Apache● Configurar o envio de

E-mail/SMS

chown -R root:root /var/watchdog/*chmod -R o-w /var/watchdog/*

Page 10: Php WatchDog

Simplicidade

● Quatro passos rápidos:● Download● Configurar segurança

de pastas● Autorizar minimamente

o Apache● Configurar o envio de

E-mail/SMS

Defaults:www-data env_keep+="PHPWD_*"www-data ALL=(root) N.../bin/enable_rule.shwww-data ALL=(root) N.../enable_gracetime_rule.shwww-data ALL=(root) N.../bin/disable_rule.shwww-data ALL=(root) N.../bin/deactivate_rule.shwww-data ALL=(root) N.../schedule_disable_rule.sh

Page 11: Php WatchDog

Simplicidade

● Quatro passos rápidos:● Download● Configurar segurança

de pastas● Autorizar minimamente

o Apache● Configurar o envio de

E-mail/SMS

sudo apt-get install php-pearsudo pear channel-update pear.php.netsudo pear install Mailsudo pear install Net_SMTPsudo pear install Net_Socketsudo apt-get install gnokiisudo vi /etc/gnokiirc

port = /dev/ttyUSB0use_locking = no

Page 12: Php WatchDog

O futuro

● Cliente GTK para escrita de arquivos de regras

● Suporte a aviso fonado de ativação

● Contador de ativações (tickets)

● Interface de verdade

Page 13: Php WatchDog

Dúvidas?

Lie Time PHPConfBR