myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Настройка iptables, Правила iptables

ShadoWx
сообщение 3.9.2011, 21:06
Сообщение #1


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 216
Регистрация: 23.10.2008
Из: Саратов
Пользователь №: 865
Спасибо сказали: 60 раз




Pastebin: iptables

Установка фаервола:
Код
sudo apt-get install iptables


Установка правил:
1. Необходимо разместить скрипт в /etc/network/if-pre-up.d/iptables, где "iptables" название нашего скрипта.
2. Задать права на исполнение: sudo chmod +x /etc/network/if-pre-up.d/iptables
3. Сверить все настройки, включая сетевые интерфейсы по команде - sudo ifconfig

От себя:
1. Помните все значения подбираются индивидуально, тут лишь даны усредненные параметры, включая базовый набор служб.

Набор базовых правил для iptables:
/etc/network/if-pre-up.d/iptables
Код
#! /bin/sh

IPTABLES="/sbin/iptables"
####################################
#В этом блоке описываем сетевые интерфейсы для удобного применения в последующих правилах
#установите в соответствии с вашими, подробнее по команде sudo ifconfig
internet="ppp0"
external="eth0"
####################################
$IPTABLES -F
$IPTABLES -X
####################################
#Для отлова пакетов можно включить логирование, для активации уберите символ # в начале строки
#$IPTABLES -A INPUT -p tcp -j LOG --log-prefix "iptables: INPUT tcp packets "
#$IPTABLES -A INPUT -p udp -j LOG --log-prefix "iptables: INPUT udp packets "
####################################

####################################
# Разрешаем доступ по интерфесу обратной петли
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
####################################

####################################
# C себя разрешаем всё
$IPTABLES -A OUTPUT  -m state --state NEW  -j ACCEPT
####################################

####################################
# Позволяем входящие и исходящие соединения, инициированные уже установленными соединениями
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
####################################

####################################
# Разрешаем прохождение DHCP запросов через iptables.
$IPTABLES -A INPUT -p udp -m udp --dport 68 --sport 67 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -m udp --dport 67 --sport 68 -j ACCEPT
####################################

####################################
# какие_то важные пакеты
$IPTABLES -I INPUT -p ah -j ACCEPT
$IPTABLES -I INPUT -p esp -j ACCEPT
####################################


########################################################################
#                           Защита                                     #
########################################################################

####################################
# Дропаем все с ошибками
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -A FORWARD -m state --state INVALID -j DROP
####################################

####################################
# порт сканнеры
$IPTABLES -A INPUT -m state --state NEW -p tcp --tcp-flags ALL ALL -j DROP
$IPTABLES -A INPUT -m state --state NEW -p tcp --tcp-flags ALL NONE -j DROP
####################################

####################################
# Дропаем все icmp
$IPTABLES -A INPUT -p icmp -j DROP
####################################

####################################
# антиспуффинг
$IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

$IPTABLES -N SYN_FLOOD
$IPTABLES -A INPUT -p tcp --syn -j SYN_FLOOD
$IPTABLES -A SYN_FLOOD -m limit --limit 2/s --limit-burst 6 -j RETURN
$IPTABLES -A SYN_FLOOD -j DROP
####################################

####################################
# Блокируем все попытки входящих TCP-соединений не SYN-пакетами (либо ошибка, либо атака)
$IPTABLES -I INPUT -m conntrack --ctstate NEW -p tcp ! --syn -j DROP
####################################

####################################
#Вводим ограничения для новых подключений по SSH (не больше 4 в минуту)
#Если пользуетесь ssh для улучшения безопасности измените дефолтный порт на отличный от 22*
####################################
$IPTABLES -A INPUT -i $external -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP
####################################


######################################################
#Настройки на выбор, если надо - раскомментируйте и поправьте под себя
######################################################
# Вводим ограничения для новых подключений по WWW (не больше 50 соедининий с одного ip)"
#$IPTABLES -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP
####################################

####################################
# Вводим ограничения для новых подключений по WWW (не более 5 в секунду)
#$IPTABLES -A INPUT -p tcp --dport 80 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
#$IPTABLES -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW -m limit --limit 5/sec --limit-burst 5 -j ACCEPT
####################################

####################################
# Вводим ограничения для новых подключений по FTP (не больше 50 соедининий с одного ip)
#$IPTABLES -A INPUT -p tcp --dport 21 -m connlimit --connlimit-above 50 -j DROP
####################################

####################################
# Вводим ограничения для новых подключений по FTP (не больше 5 в секунду)
#$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp --dport 21 -m hashlimit --hashlimit-upto 5/sec --hashlimit-mode srcip --hashlimit-name ftphash -j ACCEPT
####################################

####################################
# Настройки для Хаба
# дропаем, если с ip новых соединений больше чем 10
#$IPTABLES -A INPUT -p tcp -m multiport --dports 411,4111 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
#$IPTABLES -A INPUT -p tcp -m multiport --dports 411,4111 -m conntrack --ctstate NEW -m limit --limit 10/min --limit-burst 10 -j ACCEPT
# дропаем если с ip коннектов больше чем 20
#$IPTABLES -A INPUT -p tcp -m multiport --dports 411,4111 -m connlimit --connlimit-above 20 -j REJECT
#$IPTABLES -A INPUT -p udp -m multiport --dports 411,4111 -m connlimit --connlimit-above 20 -j REJECT


###############################################################
#~ #таблица черного списка для dc++| замените путь к файлу на корректный в вашей системе
# В нем в каждой новой будем указывать черные ip-адреса, например:
#1.1.1.1
#2.2.2.2
#3.3.3.3
#в файле допускаются комментарии
###############################################################
####################################
#BLOCKDB="/home/ftp/www/nemesis/iptables/ip.blocked"
#IPS=$(grep -Ev "^#" $BLOCKDB)
#for i in $IPS
#do
    # $IPTABLES -A INPUT -p tcp -i $external -s $i -m multiport --dports 411,4111 -j DROP
    # $IPTABLES -A INPUT -p udp -i $external -s $i -m multiport --dports 411,4111 -j DROP
#done

#вечный бан по ip для  всех соединений к серверу
#баним особо наглых
#BLOCKDB="/home/ftp/www/nemesis/iptables/ip-all.blocked"
#IPS=$(grep -Ev "^#" $BLOCKDB)
#for i in $IPS
#do
        #~ $IPTABLES -A INPUT -p tcp -i $external -s $i -j DROP
        #~ $IPTABLES -A INPUT -p udp -i $external -s $i -j DROP
#~ done
####################################


####################################
#дропаем запрос имен netbios
$IPTABLES -A INPUT -p udp ! -i $internet --dport 137:138 -j DROP
####################################

####################################
#дропаем мультикаст
$IPTABLES -A INPUT -d 224.0.0.1/32 -j DROP
$IPTABLES -A OUTPUT -d 224.0.0.1/32 -j DROP
$IPTABLES -A FORWARD -d 224.0.0.1/32 -j DROP
####################################

########################################################################
#                       ОБЩЕЕ ДЛЯ ВСЕХ                                 #
########################################################################
#Разрешаем доступ к ftp
# FTP
$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp --sport 1024:65535 --dport 20:21 -j ACCEPT
$IPTABLES -A INPUT -p tcp --sport 1024:65535 --dport 49000:49500 -j ACCEPT
####################################

####################################
#Разрешаем доступ к веб-серверу
# WWW
$IPTABLES -A INPUT -p tcp -m tcp -m multiport --dports 80,443 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m tcp -m multiport --sports 80,443 -j ACCEPT
####################################

####################################
# Доступ к Хаб-серверу
$IPTABLES -A INPUT -p tcp -m tcp -m multiport --dports 411,4111 -j ACCEPT
$IPTABLES -A INPUT -p udp -m udp -m multiport --dports 411,4111 -j ACCEPT
####################################


########################################################################
#                           ВНЕШКА                                     #
########################################################################

####################################
# Доступ к DNS-серверам
$IPTABLES -A OUTPUT -p tcp -m tcp -o $internet --dport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -m udp -o $internet --dport 53 -j ACCEPT
####################################

####################################
#Добавляем правила по умолчанию
$IPTABLES -A INPUT -i $internet -j DROP
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
####################################


Спасибо сказали:
Go to the top of the page
+Quote Post
mariner
сообщение 21.9.2011, 8:57
Сообщение #2


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




Код
/etc/network/if-pre-up.d/iptables

Добавлю свои 5 копеек. Вот у ShadoWx путь верный но не до конца. У него при подъеме кждого интерфейса будут устанавливаться правила. То есть минимум 2 раза(!). Смысла так делать нет, т.к. можно поставить загрузчик фаера (iptables-persistant), либо настраивать таблицы тогда, когда поднимается внешний интерфейс. Для этого в тело сценария надо добавить простой if-чик.


Спасибо сказали:
Go to the top of the page
+Quote Post
ShadoWx
сообщение 21.9.2011, 12:52
Сообщение #3


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 216
Регистрация: 23.10.2008
Из: Саратов
Пользователь №: 865
Спасибо сказали: 60 раз




Цитата(mariner @ 21.9.2011, 9:57) *
Код
/etc/network/if-pre-up.d/iptables

Добавлю свои 5 копеек. Вот у ShadoWx путь верный но не до конца. У него при подъеме кждого интерфейса будут устанавливаться правила. То есть минимум 2 раза(!). Смысла так делать нет, т.к. можно поставить загрузчик фаера (iptables-persistant), либо настраивать таблицы тогда, когда поднимается внешний интерфейс. Для этого в тело сценария надо добавить простой if-чик.


поддерживаю, у себя так и сделал embarrassed.gif
Go to the top of the page
+Quote Post
CrazyKiller
сообщение 3.7.2012, 12:41
Сообщение #4


Продвинутый участник
****

Группа: Пользователи
Сообщений: 189
Регистрация: 20.4.2009
Пользователь №: 3 121
Спасибо сказали: 12 раз




Спасибо за правила, супер))

Зацените плыз то что я натворил, посоветуйте что не так и т д ?

iptables

# Generated by iptables-save v1.4.12 on Mon Jul 2 21:31:05 2012
*filter
:FORWARD ACCEPT [0:0]
:INPUT DROP [0:0]
:OUTPUT ACCEPT [0:0]
# Drop Hack
-A INPUT -s 66.249.73.15 -j DROP
-A INPUT -s 218.200.142.162 -j DROP
-A INPUT -s 77.247.181.0/24 -j DROP
-A INPUT -s 109.207.206.0/24 -j DROP
# Drop Error
-A INPUT -m state --state INVALID -j DROP
-A FORWARD -m state --state INVALID -j DROP
# Port Skaner
-A INPUT -p tcp -m state --tcp-flags ALL ALL --state NEW -j DROP
-A INPUT -p tcp -m state --tcp-flags ALL NONE --state NEW -j DROP
# drop netbios netbios
-A INPUT -p udp -m udp -i eth0 --dport 137:138 -j DROP
# drop MC
-A INPUT -d 224.0.0.1/32 -j DROP
-A OUTPUT -d 224.0.0.1/32 -j DROP
-A FORWARD -d 224.0.0.1/32 -j DROP
# Accept traffic from internal interfaces
-A INPUT ! -i eth0 -j ACCEPT
# Accept traffic with the ACK flag set
-A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT
# Allow incoming data that is part of a connection we established
-A INPUT -m state --state ESTABLISHED -j ACCEPT
# Allow data that is related to existing connections
-A INPUT -m state --state RELATED -j ACCEPT
# Accept responses to DNS queries
-A INPUT -p udp -m udp --dport 1024:65535 --sport 53 -j ACCEPT
# Accept responses to our pings
-A INPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT
# Accept notifications of unreachable hosts
-A INPUT -p icmp -m icmp --icmp-type destination-unreachable -j ACCEPT
# Accept notifications to reduce sending speed
-A INPUT -p icmp -m icmp --icmp-type source-quench -j ACCEPT
# Accept notifications of lost packets
-A INPUT -p icmp -m icmp --icmp-type time-exceeded -j ACCEPT
# Accept notifications of protocol problems
-A INPUT -p icmp -m icmp --icmp-type parameter-problem -j ACCEPT
# Hub
-A INPUT -p tcp -m tcp --dport 411 -j ACCEPT
# Allow connections to our SSH server
-A INPUT -p tcp -m tcp -s 178.150.158.0/24 --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp -s 159.224.39.0/24 --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp -s 109.87.66.0/24 --dport 22 -j ACCEPT
# Allow connections to our Webmin server
-A INPUT -p tcp -m tcp -s 159.224.39.0/24 --dport 777 -j ACCEPT
-A INPUT -p tcp -m tcp -s 178.150.158.0/24 --dport 777 -j ACCEPT
-A INPUT -p tcp -m tcp -s 109.87.66.0/24 --dport 777 -j ACCEPT
# WWW
-A INPUT -p tcp -m tcp -m multiport -j ACCEPT --dports 80,443
-A OUTPUT -p tcp -m tcp -m multiport -j ACCEPT --sports 80,443
# Max Connect
-A INPUT -p udp -m hashlimit --dport 411:420 -j ACCEPT --hashlimit 15/s --hashlimit-burst 15 --hashlimit-mode srcip --hashlimit-name HUB
-A INPUT -p udp --dport 411:420 -j DROP
-A INPUT -p udp -m hashlimit --dport 80 -j ACCEPT --hashlimit 15/s --hashlimit-burst 15 --hashlimit-mode srcip --hashlimit-name HUB
-A INPUT -p udp --dport 80 -j DROP
COMMIT
# Completed on Mon Jul 2 21:31:05 2012
# Generated by iptables-save v1.4.12 on Mon Jul 2 21:31:05 2012
*mangle
:PREROUTING ACCEPT [217:9370]
:INPUT ACCEPT [217:9370]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [233:69145]
:POSTROUTING ACCEPT [233:69145]
COMMIT
# Completed on Mon Jul 2 21:31:05 2012
# Generated by iptables-save v1.4.12 on Mon Jul 2 21:31:05 2012
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# Redirect Hub
-A PREROUTING -p tcp -m tcp -d 178.150.158.64 --dport 412:420 -j REDIRECT --to-ports 411
COMMIT
# Completed on Mon Jul 2 21:31:05 2012
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new Настройка (D)DoS Deflate
Защита от DDoS с помощью (D)DoS Deflate
16 ShadoWx 22 467 18.9.2018, 6:22 Посл. сообщение: KCAHDEP
No New Posts Настройка tp-link WR340GD и flylink
Проблема со скоростью скачивания в DC++
7 zazikstealth 14 851 24.2.2012, 20:52 Посл. сообщение: KT315
No new ВАЖНО: Topic has attachmentsНастройка Hexhub
Помощь новичкам
50 Maximum 69 143 2.2.2012, 13:37 Посл. сообщение: stailzoRE
No New Posts Настройка fail2ban
Инструкция и с чем его кушать!
0 ShadoWx 13 929 21.9.2011, 13:22 Посл. сообщение: ShadoWx
No New Posts От: iptables
От темы с ID: 4964
2 Nickolya 4 792 21.9.2011, 4:12 Посл. сообщение: Nickolya
No New Posts От: Настройка iptables
От темы с ID: 4964
0 Saymon21 3 355 4.9.2011, 11:50 Посл. сообщение: Saymon21
No New Posts Topic has attachmentsУстановка и настройка Ubuntu 10.04 под PtokaX 4.1.2 с MySQL. Финал.
Инструкция для новичков в Линуксе
11 TiGRpp 28 433 2.9.2010, 5:09 Посл. сообщение: TiGRpp
No New Posts Topic has attachmentsОт: Настройка Hexhub
От темы с ID: 1531
3 Николай 8 149 18.5.2010, 21:20 Посл. сообщение: ANDRBEST
No New Posts Настройка маршрутов для DC
когда 2 и более провайдера
8 ZZZRF413 13 961 2.4.2010, 16:06 Посл. сообщение: ZZZRF413
No New Posts От: Настройка маршрутов для DC
От темы с ID: 3312
0 (Steep)_(Boss) 4 991 30.3.2010, 23:17 Посл. сообщение: (Steep)_(Boss)
No New Posts Первоначальная настройка хаба
Админка, установка скриптов
8 Gate001 15 517 11.10.2009, 11:45 Посл. сообщение: Jaska
Moved Первоначальная настройка хаба
Админка, установка скриптов
0 Gate001 0 10.10.2009, 22:04 Посл. сообщение: Gate001
No New Posts Дизайн и настройка доски объявлений Joker Board Commercial 3
Дизайн и настройка доски объявлений Joker Board Commercial 3
0 capslock 10 874 25.9.2009, 17:48 Посл. сообщение: capslock
No New Posts Настройка Dbhub
2 LightDiver 10 509 27.3.2009, 17:36 Посл. сообщение: Серый
No New Posts ВАЖНО: Topic has attachmentsНастройка Dc Клиента
1 BIMMER71 13 422 25.3.2009, 15:38 Посл. сообщение: FallenAngel

 



RSS Сейчас: 28.3.2024, 23:03