Linux: hosts.allow, hosts.deny - как разрешить все, кроме хостов, упомянутых в hosts.deny
Как настроить hosts.allow и hosts.deny, чтобы разрешить все соединения со всех хостов, кроме некоторых хостов / портов, указанных в hosts.deny?
Вот что у меня сейчас в этих файлах:
hosts.allow:
ALL:ALL
hosts.deny:
somehost:someport
Я хочу разрешить все соединения, кроме somehost: someport, но вышеуказанная конфигурация не работает.
РЕДАКТИРОВАТЬ:
Ну, я обнаружил, что в этом случае hosts.allow должен быть пустым файлом, но он по-прежнему разрешает соединения в некотором порту...
2 ответа
Вы получили это задом наперед.
Это должно быть так:
someport : somehost
Синтаксис на самом деле более выразителен, чем этот: порт и хосты могут быть списками, и вместо этого порт может быть указан, например, именем демона, а не номером порта. Ваша система должна иметь документацию для формата файла.
И вы правы в отношении hosts.allow, он должен быть пустым, так как действие по умолчанию - принять.
Вы также можете использовать расширенный формат, описанный в hosts_options(5), и использовать только /etc/hosts.allow.