Вы могли попробовать решение как это, с cacls, или использовать более - мощный subinacl инструмент, который может позволить Вам сделать это оперативный.
Как я могу настроить iptables для блокирования каких-либо связей, установленных с моим сервером с внешней стороны, не блокируя ничего инициируемого с внутренней части?
Приведите в порядок это во ВХОДНОЙ цепочке
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -m state --state INVALID -j DROP
iptables -A INPUT -i eth0 -j REJECT
Если Вы хотите отладить его, посмотрите свой conntrack.
В зависимости от Вашей iptables конфигурации первая строка не может быть необходимой, и вторая строка является определенно неправильной (p.s, вторая строка eth0 или eth1).
Первая строка по существу позволяет Вашему iptables принимать все входящие запросы и соединения от Вашей внутренней сети.
Попытайтесь использовать это для второй строки:
iptables-A ВПЕРЕД-i eth1-o eth0-j ПРИНИМАЮТ
Это говорит iptables передавать все пакеты, входящие от eth1 (WAN) к eth0 (LAN) - тот способ, которым никакие связи не могут быть установлены от eth1 (WAN) к Вашему серверу.
Просто предостережение, хотя: iptables с двумя лайнерами правила напрашивается на неприятности. Я предлагаю, чтобы Вы узнали больше о том, как настроить путем рассмотрения демонстрационных конфигураций, найденных онлайн. Можно начать смотреть на эту статью.
Я думаю, возможно, что у меня есть ответ. Это, кажется, работает на меня, и если кто-либо знает, что больше проверок делает, чем я, сообщите мне.
Я думаю, что просто, несомненно, должен был бы соответствовать состоянию соединения. Я добавил следующие правила:
iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j DROP
iptables -A INPUT -i eth0 -s 192.168.2.0/24 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -j REJECT
Я проверил его путем выполнения nmap против бледного IP от компьютера вне нашей сети (мой компьютер дома)... это просто подвесило и никогда ничего не отображало.
Я также попытался соединиться с портами, которые слушают на сервере сквида и всех отказавших попытках подключения. Все все еще работает, как желаемый из сети, как бы то ни было.
В первую очередь, какова Ваша политика для каждой цепочки? Можно свериться iptables -L
Политика является действием по умолчанию, которое будет выполнено, если никакое правило не будет соответствовать.
Для защиты сервера, в чем Вы нуждаетесь, это:
Установите правило по умолчанию для ОТБРАСЫВАНИЯ
iptables-P ВХОДНОЕ ОТБРАСЫВАНИЕ
Позвольте трафик от своей LAN, которая вводит интерфейс LAN
iptables-A ВХОДНОЙ-i eth1-s 192.168.2.0/24-j ПРИНИМАЮТ
и оставьте Ваш ВПЕРЕД цепочкой, как.
Именно.