Предположим, у меня есть сервер с закрытым интерфейсом и открытым интерфейсом. Public может иметь такие вещи, как HTTP (S) серверы, private может иметь MySQL и SSH.
Очевидно, что Nagios полезен для проверки того, что службы работают на своих соответствующих интерфейсах. Но стоит ли создавать проверки, которые явно проверяют, что порты MySQL и SSH не открыты в открытом интерфейсе? Идея состоит в том, чтобы поймать непреднамеренные неправильные конфигурации, которые открыли сервисы, которые должны быть частными, и предупреждать соответственно.
У некоторых из меня есть идея, что это не очень хорошо масштабируется - представьте, что есть правило DROP iptables, например, проверка должна ждать до истечения времени ожидания проверки, прежде чем она сможет завершиться и двигаться дальше. Но этот тайм-аут должен быть достаточно большим, чтобы можно было отличить заблокированный сервис от открытого, который действительно застрял.
Это практическая идея? Является ли Nagios правильным инструментом? Я даже не рассматривал возможность отрицания результата от проверочных плагинов TCP, но я уверен, что это выполнимо ...
DROP
не является подходящей целью для такой цели, использование-j REJECT --reject-with tcp-reset
позволит решить эту конкретную проблему. Для меня ваш вопрос звучит как еще одна причина, чтобы использовать,REJECT
а неDROP
.