Para o CentOS 6 e anteriores, você está correto sobre isso usando iptables
. O CentOS 7 usa firewalld
.
Para monitorar usando o Monit, você pode usar PROGRAM-STATUS-TEST . Existem vários métodos para determinar o status de iptables
.
Um método para obter o status de iptables
no CentOS 6 é usar
$ sudo /etc/init.d/iptables status
Se iptables
não estiver em execução, você receberá a seguinte resposta:
$ sudo /etc/init.d/iptables status
iptables: Firewall is not running.
Se iptables
estiver em execução, será semelhante a isto:
$ sudo /etc/init.d/iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Escreva um script para verificar o status e o grep para Firewall is not running
e forneça um código de retorno para o script e use monit
para executar o script.
Eu não testei, mas seria algo assim:
check program iptables with path "/etc/init.d/iptables status"
if status != 0 then alert