В чем разница между безопасностью linux box с помощью hosts. [Allow | deny] против iptables?

16

Как следует из названия, у меня есть окно Linux. Насколько я могу судить, я могу использовать hosts.allow / hosts.deny или iptables для обеспечения безопасности. Какая разница? Есть ли другой механизм, который можно использовать?

Tree77
источник

Ответы:

22

IPTables работает на уровне ядра. В целом это означает, что он не знает приложений или процессов. Он может фильтровать только на основе того, что он получает от различных заголовков пакетов по большей части.

Однако host.allow / deny работает на уровне приложения / процесса. Вы можете создавать правила для различных процессов или демонов, работающих в системе.

Так, например, IPTables может фильтровать на порту 22. SSH может быть настроен на использование этого порта, и обычно это так, но он также может быть настроен на другой порт. IPTables не знает, на каком порту он находится, он знает только о порте в заголовке TCP. Однако файлы hosts.allow можно настроить для определенных демонов, таких как демон openssh.

Если вам нужно выбрать, я бы выбрал как минимум IPTables. Я рассматриваю hosts.allow в качестве приятного бонуса. Даже при том, что кажется, что уровни демонов кажутся более простыми, IPTables заблокирует пакет, прежде чем он действительно даже продвинется очень далеко. С безопасностью, чем раньше вы сможете что-то заблокировать, тем лучше. Однако я уверен, что есть ситуации, которые меняют этот выбор.

Кайл Брандт
источник
0

iptables блокирует доступ до того, как он достигнет приложения, тогда как hosts.allow / hosts.deny является частью PAM и требует, чтобы приложение реализовало проверку PAM и правильно обработало файл. И то, и другое полезно, а иметь их на месте - еще лучше.

Джеймс Л
источник
Я не верю, что файлы hosts. [Allow | deny] имеют какое-либо отношение к PAM. Вы думали о tcpwrappers?
EEAA
Извините, меня перепутали с имплементациями allow_hosts внутри PAM для vsftpd и т. Д.
Джеймс Л,