Привет! Прохожу курс “от 0 до Linux админа” вот здесь https://yodo.im/courses/linux/?v=1d20b5ff1ee9 и у меня возникла проблема с настройкой iptables. Я пытаюсь создать простые правила для минимального сервера Ubuntu, разрешая только SSH, HTTP и HTTPS. Вот что у меня есть:
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
sudo iptables -P INPUT DROP
Но, похоже, что у меня проблемы с apt-get, ping, а также, вероятно, с NTP. Я оставил правила OUTPUT пустыми, так как не переживаю за исходящие соединения, меня интересует только безопасность входящих. Можете порекомендовать, как настроить более безопасный набор правил, который все еще позволит исходящим соединениям получать ответы, желательно без установки дополнительных пакетов?
После обновления правил у меня теперь такая конфигурация:
sudo iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Я использовал iptables -Z
, чтобы сбросить счетчики, и затем запустил команду ping google.com, но ничего не получаю в ответ. Если я использую sudo iptables -xvnL
, то вижу:
sudo iptables -xvnL
Chain INPUT (policy DROP 7 packets, 739 bytes)
pkts bytes target prot opt in out source destination
50 3104 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT)
pkts bytes target prot opt in out source destination
Как сделать так, чтобы работает исходящий ping и apt-get?