Wednesday, October 16, 2019

Настройка iptables в Ubuntu

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

Для начала, нам необходимо понять, что у нас доступно, а что нет. Проверяется командой
sudo iptables -L
Мы удостоверились, что на только что установленой ОС открыто все возможное. Нам нужно все эти конфигурации удалить
sudo iptables -F
Теперь самое интересное - нам нужно открыть все порты на локальном интерфейсе, для того, чтобы внутри сервера все работало без сбоев
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Также накопал важную строчку в процессе конфигурации. Необходимо разрешать уже открытым соединениям завершать работу (не блокировать)
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Как только предварительные действия совершили, нужно открыть необходимые порты (мы открываем 22, 80, 8080, 443)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Теперь, чтобы все это заработало, необходимо поменять политику по умолчанию на DROP
sudo iptables -P INPUT DROP

No comments: