Welcome, anonymous (IP: 127.0.0.1). Log in or Sign up?
Blog / Index 1

Базовая настройка iptables
В зависимости от дистрибутива — правила для iptables находятся в разных местах, но правильнее всего просто использовать /etc/rc.local или ему подобный скрипт, который выполняется при загрузке операционной системы. В таком файле удобно хранить все настройки сети, указывать сервисы для автозапуска и так далее, и переносить файл между хостами, не утруждаясь настройкой каждый раз.

Конфигурация iptables запрещает хождение любого трафика по-умолчанию, а далее создаются разрешающие правила.
#!/bin/bash
set -x

(
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -p tcp ! --syn -m conntrack --ctstate NEW -j DROP
iptables -A INPUT -p tcp -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p icmp --icmp-type echo-request -m conntrack --ctstate NEW -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --name SSH --rttl --rcheck --hitcount 3 --seconds 300 -j DROP
iptables -A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --name SSH --set -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

iptables -A OUTPUT -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT
)


Правила разрешают устанавливать новые исходящие соединения и принимать входящий трафик на них. Например, ICMP-запросы, в простонародье ping, всегда полезны для проверки доступности хоста.

Некоторые программы используют только localhost для передачи информации, и некоторые из них можно настроить на использование unix-сокетов (fifo), но всё же для корректной работы таких программ лучше разрешить localhost.

На хосте могут работать сервисы, к которым требуется доступ другим пользователям извне, — это могут быть веб-сервер, почтовый сервер, джаббер и многое другое. Только зная наверняка, что это за сервис и для чего он нужен, доступ извне к определенным портам сервиса следует разрешить. Помните, чем больше сервисов запущено, тем потенциально уязвимее система.

SSH-демон постоянно атакуют хакеры, это нормально, и достаточно использовать ключи для авторизации вместо паролей, но усложнить жизнь хакерам можно ограничив количество подключений за определённый промежуток времени к SSH-демону, к примеру не более 3-х подключений в течении 5-ти минут. При возникновении ошибки iptables: No chain/target/match by that name. необходимо просто установить недостающие модули ядра. В случае с правилами для SSH должна быть установлена следующая опция.
# cat /proc/config.gz | gunzip | grep CONFIG_NETFILTER_XT_MATCH_RECENT
CONFIG_NETFILTER_XT_MATCH_RECENT=y

Author: Spoofing , @ , WWW
Published on: 2015-04-29 12:52:25
Views: 1035
Comments: 0
Copyright © Spoofing. All rights reserved.