Настройка iptables для начинающих.

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

MAA писал(а):
07.07.2008 12:20
TuLiss писал(а):
19.04.2007 20:55
Перезалил скрипт

TuLiss, а в какой кодировке он у тебя записан?
Что ни пробовал - нигде комментарии не отображаются по русски :(

UTF8 должен быть.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Настройка iptables для начинающих.

Сообщение sspphheerraa »

Странно, перезалил с этого поста - русский появился на koi8-r.
Sspphheerraa
Спасибо сказали:
Аватара пользователя
fines
Сообщения: 359
ОС: Slackware-current

Re: Настройка iptables для начинающих.

Сообщение fines »

MAA писал(а):
08.07.2008 22:23
Странно, перезалил с этого поста - русский появился на koi8-r.

Ошибся, не знаю как удалить.
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Настройка iptables для начинающих.

Сообщение sspphheerraa »

А как разрешить банальные ICQ,Jabber,NTP,p2p (имеется в виду клиенты) на рабочей станции?
IP адресс на ней внешний/реальный. Есть такие мысли:

icq (нужен ли OUTPUT?)

Код: Выделить всё

$IPT -A INPUT -p tcp -m tcp --dport 5190 -j ACCEPT

jabber (нужен ли OUTPUT?)

Код: Выделить всё

$IPT -A INPUT -p tcp -m tcp --dport 5222:5223 -j ACCEPT

NTP (обновление времени), в роде так

Код: Выделить всё

$IPT -A INPUT -p udp -s europe.pool.ntp.org --sport 123 --dport 123 -j ACCEPT


По поводу пиринговых сетей (трренты, мулы/ослы, дс++), так чтоб не получать Low-ID нужно открывать какие-то специфические порты. Пробовал 6881:6889 (для торрента) и 10100 для DC - не получается (если отключить IPT, то все норм.).
Еще слышал, что существует модуль ipp2p (как раз для распознавания p2p траффика). Кто-нибудь пользовался, как он?

Правило судя по всему должно быть таким.

Код: Выделить всё

$IPT -A INPUT -m ipp2p --ipp2p -j ACCEPT

Но тоже мне не понятно, нужно ли здесь такую же цепочку для OUTPUT писать?
Sspphheerraa
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Настройка iptables для начинающих.

Сообщение sspphheerraa »

Время и IM-клиенты пропускаются так.

Код: Выделить всё

# NTP (обновление времени).
iptables -A INPUT -p udp --sport 123 --dport 123 -j ACCEPT

# ICQ-client
iptables -A OUTPUT -p tcp --dport 5190 -j ACCEPT
iptables -A INPUT -p tcp --sport 5190 -j ACCEPT

# Jabber-client
iptables -A OUTPUT -p tcp -m tcp --dport 5222 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport 5269 -j ACCEPT

Также в них есть функция передачи файлов, по умолчанию - через 8010 порт.
Вопрос - это будут ESTABLISHED/RELATED соединения или NEW?
Sspphheerraa
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Настройка iptables для начинающих.

Сообщение sspphheerraa »

Для работы Valknut (dc++ клиент) на рабочей станции (активный режим):

Код: Выделить всё

iptables -A OUTPUT -p tcp --dport 411 -j ACCEPT # Hub connection
iptables -A OUTPUT -p tcp --sport 9176 -j ACCEPT # Upload files
iptables -A INPUT -p tcp --dport 9176 -j ACCEPT # Download files
iptables -A INPUT -p udp --dport 9176 -j ACCEPT # Search files

Порты, использующиеся по умолчанию 9176 и 411 для соединения с хабом.
Sspphheerraa
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Настройка iptables для начинающих.

Сообщение sspphheerraa »

Параллельные обсуждения http://www.gentoo.ru/node/13588
Sspphheerraa
Спасибо сказали:
IgoreXa
Сообщения: 1

Re: Настройка iptables для начинающих.

Сообщение IgoreXa »

Всем привет, пытаюсь реализовать DMZ следующего вида:


LAN
|
Ubuntu Server (nat, iptables) -> DMZ (WWW, Mail и т.д.)
|
Internet

За основу скрипта взял пример приведённый в Iptables Tutorial 1.1.19 http://www.opennet.ru/docs/RUS/iptables/mi...MZ.firewall.txt. Что-то подправил, в итоге работает, WWW ещё не запускал, но проблема есть с почтой. А именно, письма на Mail server из Internet приходят, а отправить не получается,

tail -f /var/log/mail.info

вижу ошибку:

...postfix/qmgr: from=<igor@noname-spb.ru>
...postfix/smtp: connect to mail.noname-spb.ru [53.52.153.110]:25 Connection refused.

# "53.52.153.110" имеет MX запись в интернете

Для выявления проблемы урезал всё что можно, получилось следующее:


#!/bin/bash

#Local area network
LAN_IP="192.168.0.1"
LAN_RANGE="192.168.0.0/24"
LAN_IFACE="eth0"

#Internet
INET_IP="53.52.153.110"
INET_IFACE="eth1"

#DMZ addresses
DMZ_HTTP_IP="10.0.0.2" - Mail server
DMZ_IP="10.0.0.1"
DMZ_IFACE="eth2"

LO_IFACE="lo"
LO_IP="127.0.0.1"

IPTABLES="/sbin/iptables"

###########################################################################

# 2. Module loading.

/sbin/depmod -a

/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state

###########################################################################

# 3.1 Required proc configuration

echo "1" > /proc/sys/net/ipv4/ip_forward

##################################################################
# 4.1 Filter Table
##################################################################

#################################################################
# 4.1.4 INPUT chain
#################################################################

#######################################################
# 4.1.5 FORWARD chain
#######################################################

# MAIL server
# for SMTP 25 from INTERNET / TO INTERNET

$IPTABLES -A FORWARD -p TCP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_HTTP_IP --dport 25 -j ACCEPT

$IPTABLES -A FORWARD -p TCP -i $DMZ_IFACE -o $INET_IFACE -d 0/0 -j ACCEPT


# for SMTP 25 from LAN

$IPTABLES -A FORWARD -p TCP -i $LAN_IFACE -s $LAN_RANGE -d $DMZ_HTTP_IP --dport 25 -j ACCEPT

# для POP3 110 из LAN

$IPTABLES -A FORWARD -p TCP -i $LAN_IFACE -s $LAN_RANGE -d $DMZ_HTTP_IP --dport 110 -j ACCEPT


##########################################################
# 4.1.6 OUTPUT chain
##########################################################


# PREROUTING chain

# MAIL server

$IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $INET_IP --dport 25 -j DNAT --to-destination $DMZ_HTTP_IP


# POSTROUTING chain

$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

Подскажите, где накосячил?
Спасибо сказали:
Аватара пользователя
Korotkov
Сообщения: 8
ОС: FreeBSD
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение Korotkov »

Интересно, а имеется ли какая либо веб-морда для настройки правил iptables?
Спасибо сказали:
Slack
Сообщения: 86

Re: Настройка iptables для начинающих.

Сообщение Slack »

Korotkov писал(а):
22.06.2009 14:04
Интересно, а имеется ли какая либо веб-морда для настройки правил iptables?

KMyFirewall
Спасибо сказали:
Аватара пользователя
vlakas
Сообщения: 109
ОС: Linux Debian

Re: Настройка iptables для начинающих.

Сообщение vlakas »

Korotkov писал(а):
22.06.2009 14:04
Интересно, а имеется ли какая либо веб-морда для настройки правил iptables?


Если уж веб интересует, есть такая штука

webmin

Но лучше рукам...
Спасибо сказали:
lejak
Сообщения: 119

Re: Настройка iptables для начинающих.

Сообщение lejak »

подскажите пожалуйста такую вещь
выполняю такое
iptables -t nat -A PREROUTING -p tcp --destination-port 5190 -j REDIRECT --to-ports 16667
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 5190 -j MASQUERADE

вроде всё ок но потом смотрю -list и нифига не добавляется
Спасибо сказали:
Raistlin
Сообщения: 26
ОС: Ubuntu, Debian

Re: Настройка iptables для начинающих.

Сообщение Raistlin »

Вложение отошло в лучший мир, может быть кто поделится последней актуальной версией скрипта? проект на source forge я так понял так и не появился
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Настройка iptables для начинающих.

Сообщение sspphheerraa »

да, а все потому что универсального нету... каждому прийдется писать под себя самому :)
пробегись по теме, собери все описанные здесь правила, удали ненужные, допиши свои нужные,
пробуй экспериментируй :)
Sspphheerraa
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

sspphheerraa писал(а):
03.12.2009 21:56
да, а все потому что универсального нету... каждому прийдется писать под себя самому :)
пробегись по теме, собери все описанные здесь правила, удали ненужные, допиши свои нужные,
пробуй экспериментируй :)



Ну в общем то не раз говорилось, что это не попытка сделать универсальное решение, а помочь начинающим. Не поверите, но я сам иногда смотрю в свои скрипты, особенно когда iptables долго не трогаешь. На текущий момент есть мысли переписать скрипт, пересмотреть и вообще перебрать и вернуть ветку к жизни.

На текущий момент как всегда проблема одна,нет время :) хотя я его попытаюсь все таки найти.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

0xFF писал(а):
11.11.2007 23:06
Предлагаю вместо DROP'ов использовать REJECT, ибо при сканировании nmap'ом DROPнутые порты определяются как firewalled.


Очень спорный вопрос, помнится он уже обсуждался.
На текущий момент я склонен все же к DROP, так как это стандарт.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Настройка iptables для начинающих.

Сообщение sspphheerraa »

TuLiss писал(а):
23.12.2009 19:47
0xFF писал(а):
11.11.2007 23:06
Предлагаю вместо DROP'ов использовать REJECT, ибо при сканировании nmap'ом DROPнутые порты определяются как firewalled.


Очень спорный вопрос, помнится он уже обсуждался.
На текущий момент я склонен все же к DROP, так как это стандарт.

ну REJECT - это по сути "DROP с ответом", т.е. к примеру, при син-флуде нагрузка на netfilter будет выше
Sspphheerraa
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

sspphheerraa писал(а):
23.12.2009 20:00
ну REJECT - это по сути "DROP с ответом", т.е. к примеру, при син-флуде нагрузка на netfilter будет выше


Ну оно и понятно, так что DROP +)
Но опять же, каждый может поменять на все что ему хочется.

P.S Старый скрипт в UTF8
P.P.S На текущий момент принимаются пожелания на тему скрипта. Так же у меня есть мысли подогнать под формат iptables-save, но это пока что мысли.
Вложения
rc.fw.zip
(3.88 КБ) 343 скачивания
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
antuanett
Сообщения: 3

Re: Настройка iptables для начинающих.

Сообщение antuanett »

Прошу помощи.Есть сервер на CentOs 5.4, одна сетевая, провайдер выделил 4 статических IP. Стоят стандартные службы - nginx+apache, sshd, sendmail,dovecot,vsftpd,bind,mysql,spamassasin + ISPManager - вообщем вэбсервер+мыло- я так понимаю сейчас на нем правила iptables - всё открыть. Хотелось бы всё закрыть, оставив открытым только необходимые для работы порты. Также хочется поменять порт ssh на другой(идет постоянный брутфорс на 22 порт) и сделать на всякий случай пожарный задний ход - резрешить всё с определенного IP, т.к. сервер удаленный и если чото не так настроить можно доступ потерять полностью. Я в линуксе новичок и очень тяжело самостоятельно разобраться с налёта со всеми этими вопросами, если возможно затюнить скрипт под мои вопросы - убрать лишнее и добавить, что необходимо - чтобы можно было самому остаток проанализировать и понять. Сейчас в скрипте есть моменты, которые мне вроде как и не нужны вроде NAT и т.д., а может и нужны - стирать боязно. Спасибо!
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

antuanett писал(а):
12.01.2010 09:45
Хотелось бы всё закрыть, оставив открытым только необходимые для работы порты.

Нет проблем, в Centos есть штатная утилита в консоли, необязательно использовать скрипт (как называется не скажу, так как под руками нет centos, но гугл - он такой, он все знает)

antuanett писал(а):
12.01.2010 09:45
Также хочется поменять порт ssh на другой(идет постоянный брутфорс на 22 порт) и сделать на всякий случай пожарный задний ход - резрешить всё с определенного IP, т.к. сервер удаленный и если чото не так настроить можно доступ потерять полностью.


Нет проблем, это настраивается в конфигах openssh, iptables тут вообще не нужен. Опять таки, насколько я помню, можно задать через консольную утилиту в Centos, на каком порту висит ssh.

antuanett писал(а):
12.01.2010 09:45
Я в линуксе новичок и очень тяжело самостоятельно разобраться с налёта со всеми этими вопросами, если возможно затюнить скрипт под мои вопросы - убрать лишнее и добавить, что необходимо - чтобы можно было самому остаток проанализировать и понять. Сейчас в скрипте есть моменты, которые мне вроде как и не нужны вроде NAT и т.д., а может и нужны - стирать боязно. Спасибо!


Если вы новичок, то странно, что вам доверили такую систему, хотя - это не мое дело.
Есть несколько путей развития:

1) настроить похожую систему отдельно, которую не жалко будет убить (или сделать копию с текущий) - и тренироватся
2) Использовать штатные средства centos для управление firewall
3) использовать другие средства для настройки, например shorewall (если мы говорим про сервер без GUI)

Делать скрипт под вас, за просто так врятли кто то будет.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
antuanett
Сообщения: 3

Re: Настройка iptables для начинающих.

Сообщение antuanett »

Спасибо за ответ. Я просто посмотрел на скрипт и решил, что большинство моих вопросов он решает. Про защиту от брут форса - я думаю это многим было бы интересно, я видел в интернете такие решения на iptables, которые автоматом забанивали атакующие IP. Поменять то в ssh порт не проблема, главное чтоб он открыт был в файрволе, вот не могу понять будет ли достаточно в Вашем скрипте поменять 22 на чтонить вроде 32032...
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

antuanett писал(а):
14.01.2010 16:23
Спасибо за ответ. Я просто посмотрел на скрипт и решил, что большинство моих вопросов он решает. Про защиту от брут форса - я думаю это многим было бы интересно, я видел в интернете такие решения на iptables, которые автоматом забанивали атакующие IP. Поменять то в ssh порт не проблема, главное чтоб он открыт был в файрволе, вот не могу понять будет ли достаточно в Вашем скрипте поменять 22 на чтонить вроде 32032...

на текущий момент защита состоит
1) смена порта (это только силами openssh)
2) использование denyhosts
3) блокировка через iptables (как в нашем скрипте)

если вы думаете использовать скрипт, и уже изменили на сервере порт ssh, то вам достаточно будет поменять порт в скрипте.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
antuanett
Сообщения: 3

Re: Настройка iptables для начинающих.

Сообщение antuanett »

TuLiss писал(а):
14.01.2010 18:07
antuanett писал(а):
14.01.2010 16:23
Спасибо за ответ. Я просто посмотрел на скрипт и решил, что большинство моих вопросов он решает. Про защиту от брут форса - я думаю это многим было бы интересно, я видел в интернете такие решения на iptables, которые автоматом забанивали атакующие IP. Поменять то в ssh порт не проблема, главное чтоб он открыт был в файрволе, вот не могу понять будет ли достаточно в Вашем скрипте поменять 22 на чтонить вроде 32032...

на текущий момент защита состоит
1) смена порта (это только силами openssh)
2) использование denyhosts
3) блокировка через iptables (как в нашем скрипте)

если вы думаете использовать скрипт, и уже изменили на сервере порт ssh, то вам достаточно будет поменять порт в скрипте.


Примерно понятно. Необходимые порты надо добавить в список разрешенных, остальные закрывает скрипт - это касается и ssh и smtp,например когда надо добавить порт 2525 для почты.Но вот в скрипте не увидел 3306 -порт MySQL, открывать его или закрывать? Ведь локальные сервисы к нему тоже стучатся изнутри по этому порту... А как модифицировать скрипт, если сетевых интерфеймов несколько. Вот у меня например на сервере сетевуха одна, но к ней привязаны 4 IP-адреса?
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

antuanett писал(а):
16.01.2010 20:28
Но вот в скрипте не увидел 3306 -порт MySQL, открывать его или закрывать? Ведь локальные сервисы к нему тоже стучатся изнутри по этому порту...


Изучите iptables. Скрипт не готовое решение для всех, а некая подсказка.
Если вы обратите внимание, то в скрипте мы разрешает lo интервейс. Так, что проблем с 127.0.0.1 нету.


antuanett писал(а):
16.01.2010 20:28
А как модифицировать скрипт, если сетевых интерфеймов несколько. Вот у меня например на сервере сетевуха одна, но к ней привязаны 4 IP-адреса?



Все очень просто, посмотрите любую справку по iptables
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

На текущий момент, я пересматриваю скрипт. Некоторые правила наверно будут временно удалены, что-то добавлено.

На текущий момент скрипт будет разделен на несколько зон.

# Зона переменных
# Правила по умолчанию (полная очистка iptables + установка в DROP)
# Защита
# Зона NAT (Частая и больная тема)
# Общие правила
# Правила для входящего трафика
# Правила для исходящего трафика
# Проброска портов и IP адресов

Так же есть мысли создать некую DMZ зону из машины, но - это пока да же в мыслях не складывается - как сделать универсально.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
Anguis
Сообщения: 212
ОС: Manjaro 17

Re: Настройка iptables для начинающих.

Сообщение Anguis »

Дайте скриптик :) А то в первом посте я его не нашел, можт искать не умею?... Как раз сейчас очень нужен мне :)
Спасибо сказали:
4umodan
Сообщения: 73
ОС: Ubuntu 9.10

Re: Настройка iptables для начинающих.

Сообщение 4umodan »

Anguis писал(а):
24.02.2010 20:26
Дайте скриптик :) А то в первом посте я его не нашел, можт искать не умею?... Как раз сейчас очень нужен мне :)

сообщение №198 прочитай, на этой странице
Спасибо сказали:
Аватара пользователя
Anguis
Сообщения: 212
ОС: Manjaro 17

Re: Настройка iptables для начинающих.

Сообщение Anguis »

4umodan писал(а):
26.02.2010 12:15
Anguis писал(а):
24.02.2010 20:26
Дайте скриптик :) А то в первом посте я его не нашел, можт искать не умею?... Как раз сейчас очень нужен мне :)

сообщение №198 прочитай, на этой странице

Спасибо :) прошу прощения за тупость :)
Спасибо сказали:
VaSho
Сообщения: 2

Re: Настройка iptables для начинающих.

Сообщение VaSho »

Haxver писал(а):
21.01.2007 13:13
Вот, нашел сервис в инете, который генерирует правила в зависимости от того, что вам нужно.
http://easyfwgen.morizot.net


Сервис в инете использовать не обязательно.

Достаточно скачать архив с программой и запустить в любом браузере локально.

Вот это я считаю правильный подход. В этой ветке тоже нужно все обобщить и написать программу в PHP как это сделал создатель " Easy Firewall Generator for IPTables". Потом всем использовать ее и о всех багах сообщать в эту ветку. Может за базу и взять его программу. Последняя версия его программы 1.17
от 05/11/2005. Если бы была свежая то и вопросов бы не возникало по IPTABLES.
Спасибо сказали:
4umodan
Сообщения: 73
ОС: Ubuntu 9.10

Re: Настройка iptables для начинающих.

Сообщение 4umodan »

подскажите, какие порты открывать, если у меня сайт торрент трекера висит?
в админке стоит 80 порт, который у меня открыт. но если включить файрволл, статистика по общей скорости всех раздач пропадает
и закачки проходят труднее
Спасибо сказали:
Ответить