Php WatchDog

1,267 views
1,182 views

Published on

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.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,267
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Php WatchDog

  1. 1. Ricardo Coelho ricardo@nexy.com.br
  2. 2. 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
  3. 3. 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!!!
  4. 4. 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
  5. 5. #!/bin/bash Scripts 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/sudoers Defaults:www-data env_keep+="PHPWD_*" www-data ALL=(root) NOPASSWD:/var/watchdog/bin/enable_rule.sh NOPASSWD:/var/watchdog/bin/enable_gracetime_rule.sh NOPASSWD:/var/watchdog/bin/disable_rule.sh NOPASSWD:/var/watchdog/bin/deactivate_rule.sh NOPASSWD:/var/watchdog/bin/schedule_disable_rule.sh
  6. 6. <?php config.php define('PHPWD_BINARY_DIR', '/var/watchdog/bin/'); cRuleFile.php `/usr/bin/sudo /var/watchdog/bin/enable_rule example.rule` ?>
  7. 7. Simplicidade ● Quatro passos rápidos: ● Download ● Configurar segurança de pastas ● Autorizar minimamente o Apache ● Configurar o envio de E-mail/SMS
  8. 8. Simplicidade ● Quatro http://www.nexy.com.br/phpwd.tar.bz2 passos rápidos: ● Download ● Configurar segurança de pastas ● Autorizar minimamente o Apache ● Configurar o envio de E-mail/SMS
  9. 9. Simplicidade ● Quatro passos rápidos: ● Download chown -R root:root /var/watchdog/* ● Configurar segurança chmod -R o-w /var/watchdog/* de pastas ● Autorizar minimamente o Apache ● Configurar o envio de E-mail/SMS
  10. 10. Simplicidade ● Quatro passos rápidos: ● Download Defaults:www-data env_keep+="PHPWD_*" ● Configurar segurança www-data ALL=(root) N.../bin/enable_rule.sh www-data ALL=(root) N.../enable_gracetime_rule.sh de pastas www-data ALL=(root) N.../bin/disable_rule.sh www-data ALL=(root) N.../bin/deactivate_rule.sh ● Autorizar minimamente www-data ALL=(root) N.../schedule_disable_rule.sh o Apache ● Configurar o envio de E-mail/SMS
  11. 11. Simplicidade ● Quatro passos rápidos: sudo apt-get install php-pear ● Download sudo pear channel-update pear.php.net sudo pear install Mail ● Configurar segurança sudo pear install Net_SMTP de pastas sudo pear install Net_Socket sudo apt-get install gnokii ● Autorizar minimamente sudo vi /etc/gnokiirc o Apache port = /dev/ttyUSB0 ● Configurar o envio de use_locking = no E-mail/SMS
  12. 12. 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
  13. 13. Dúvidas? Lie Time PHPConfBR

×