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

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

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

Аватара пользователя
T04ka
Сообщения: 266

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

Сообщение T04ka »

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

При обнаружении любых ошибок пожалуйста сообщайте на форум или на E-mail
указанный в скрипте.

Последняя стабильная версия:
O Fortuna
velut luna
Спасибо сказали:
Аватара пользователя
flook
Сообщения: 585
Статус: Просто flook

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

Сообщение flook »

Че-то много DROP-ов :) Не проще ли поставить политику по-умолчанию на DROP а потом открыть что надо?
В каждом из нас спит гений... и с каждым днем все крепче...
Спасибо сказали:
Аватара пользователя
T04ka
Сообщения: 266

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

Сообщение T04ka »

(flook @ Пятница, 05 Августа 2005, 13:56) писал(а):Че-то много DROP-ов :) Не проще ли поставить политику по-умолчанию на DROP а потом открыть что надо?


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

iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT DROP


У меня так и сделано, но там еще много чего надо drop'ать.
O Fortuna
velut luna
Спасибо сказали:
Аватара пользователя
flook
Сообщения: 585
Статус: Просто flook

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

Сообщение flook »

Факт, не заметил :) Зарябило в глазах от количества DROP-ов :)
В каждом из нас спит гений... и с каждым днем все крепче...
Спасибо сказали:
Аватара пользователя
T04ka
Сообщения: 266

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

Сообщение T04ka »

(flook @ Пятница, 05 Августа 2005, 14:04) писал(а):Факт, не заметил :) Зарябило в глазах от количества DROP-ов :)


OUTPUT - DROP - это на случай если проморгаю :)))
O Fortuna
velut luna
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

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

Сообщение TuLiss »

ну для начало хоть , что то.
вообще я не понимаю людей которые запрещают ICMP пакеты =) Нужны они бывают в самый неподходящий момент.

Лучше не запретить его, а наложить ограничение на пинг.
Вложения
rc.fw_20050914.tar.gz
(4.01 КБ) 2322 скачивания
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
Holy Joly Sergik
Сообщения: 88
Контактная информация:

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

Сообщение Holy Joly Sergik »

Да не попинает меня автор, сам я iptapbles настраивать так и не научился, впрочем как и ipchains. Так вот специально для настройки firewall под Linux (давно же это было...) я использовал замечательную программку guarddog, представляющую собой KDE-шную морду для редактирования конфигов стенки путем установки/снятия галочек. Для совсем новичков очень даже, особенно для тех, кто с винды пришел.
FreeBSD 6.0 - RELEASE + Windows XP + Mandrake 10.1 on Cel 2400
Windows 2000 on Cel 633
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

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

Сообщение TuLiss »

(Holy Joly Sergik @ Пятница, 05 Августа 2005, 10:38) писал(а):Да не попинает меня автор, сам я iptapbles настраивать так и не научился,



Просто надо представить как это все работает, и тогда все становится ясно как божий день =) В частности хорошо бы объяснили как это работает.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
T04ka
Сообщения: 266

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

Сообщение T04ka »

И снова переделал скрипт.
Теперь есть возможность запускать или останавливать коммандой:
/etc/init.d/rc.iptables start/stop
Мелкие изменения в правилах.
Теперь 100% рабочий. Описание внутри скрипта.
O Fortuna
velut luna
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

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

Сообщение TuLiss »

(Morda @ Четверг, 11 Августа 2005, 12:09) писал(а):И снова переделал скрипт.
Теперь есть возможность запускать или останавливать коммандой:
/etc/init.d/rc.iptables start/stop
Мелкие изменения в правилах.
Теперь 100% рабочий. Описание внутри скрипта.


можно было бы как нить попроще (покомпактнее что ли =)) Сам то, я то же не фантан писать.
А вообще респект =;;) Может еще что своего подкину=)
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
T04ka
Сообщения: 266

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

Сообщение T04ka »

(TuLiss @ Вторник, 16 Августа 2005, 15:49) писал(а):
(Morda @ Четверг, 11 Августа 2005, 12:09) писал(а):И снова переделал скрипт.
Теперь есть возможность запускать или останавливать коммандой:
/etc/init.d/rc.iptables start/stop
Мелкие изменения в правилах.
Теперь 100% рабочий. Описание внутри скрипта.


можно было бы как нить попроще (покомпактнее что ли =)) Сам то, я то же не фантан писать.
А вообще респект =;;) Может еще что своего подкину=)



Пробовал создовать свои цепочки, потом перенаправлять на них трафик, но это почему-то неработает. Будет время разбирусь, а пока, что есть - то есть.

В очередной раз обновляю скрипты.
Добавленна защита от атак:
SYN наводнение
UDP наводнение
ICMP - перенаправление

Выкладывайте свои правила. Попробуем объединеть в одно. Зачем второй раз изобретать велосипед?
O Fortuna
velut luna
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

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

Сообщение TuLiss »

(Morda @ Вторник, 16 Августа 2005, 12:02) писал(а):Пробовал создовать свои цепочки, потом перенаправлять на них трафик, но это почему-то неработает. Будет время разбирусь, а пока, что есть - то есть.

Выкладывайте свои правила. Попробуем объединеть в одно. Зачем второй раз изобретать велосипед?


Кстати вопрос вот в чем. Зачем писать ppp0 ? Если потом править то просто офигеть можно. как вариант ввиди перепенную =) (а тем более она есть)

Как писать, смотри скрипт который я вложил.

потом, нет желание не запрещать пинг, а наложить ограничение?

# Разрешаем пинговать машину с ограничением на пинг
$IPT -A INPUT -p icmp --icmp-type echo-request -m limit\
--limit 1/s --limit-burst 2 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type echo-request -j DROP
$IPT -A FORWARD -p icmp --icmp-type echo-request -m limit\
--limit 1/s --limit-burst 2 -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type echo-request -j DROP
$IPT -A INPUT -p icmp -j ACCEPT
$IPT -A FORWARD -p icmp -j ACCEPT

и опять же нет привязки к ppp0 =;;) в общем будем думать.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
T04ka
Сообщения: 266

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

Сообщение T04ka »

(TuLiss @ Вторник, 16 Августа 2005, 16:35) писал(а):
(Morda @ Вторник, 16 Августа 2005, 12:02) писал(а):Пробовал создовать свои цепочки, потом перенаправлять на них трафик, но это почему-то неработает. Будет время разбирусь, а пока, что есть - то есть.

Выкладывайте свои правила. Попробуем объединеть в одно. Зачем второй раз изобретать велосипед?


Кстати вопрос вот в чем. Зачем писать ppp0 ? Если потом править то просто офигеть можно. как вариант ввиди перепенную =) (а тем более она есть)

Как писать, смотри скрипт который я вложил.

потом, нет желание не запрещать пинг, а наложить ограничение?

# Разрешаем пинговать машину с ограничением на пинг
$IPT -A INPUT -p icmp --icmp-type echo-request -m limit\
--limit 1/s --limit-burst 2 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type echo-request -j DROP
$IPT -A FORWARD -p icmp --icmp-type echo-request -m limit\
--limit 1/s --limit-burst 2 -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type echo-request -j DROP
$IPT -A INPUT -p icmp -j ACCEPT
$IPT -A FORWARD -p icmp -j ACCEPT

и опять же нет привязки к ppp0 =;;) в общем будем думать.



В последней версии я вставил переменную INET_IFACE="ppp0"
O Fortuna
velut luna
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

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

Сообщение TuLiss »

[quote=Morda,Вторник, 16 Августа 2005, 12:47]
[quote]

В последней версии я вставил переменную INET_IFACE="ppp0"

[quote]

попутно объединяю твое и мое =)

Как тебе вариант ввести переменную не IPT="/sbin/iptables" ,а IPT=`which iptables`

Скрипт немного получится более уневерсальным. Потом будет время напишу, что бы при отсутсвие онного (что вообще странно, но место быть может) прекращает всякую работу.

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

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

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

Сообщение T04ka »

(TuLiss @ Вторник, 16 Августа 2005, 16:53) писал(а):Потом у тебя нет желания объединить несколько правил в одну строку? или это сделанна с каким то смыслом?


Это для простоты редактирования, например:

# POP3 клиент (110)
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 110 --sport $UNPRIPORTS -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 110 -j ACCEPT ! --syn

# IMAP4 клиент (143)
#$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 143 --sport $UNPRIPORTS -j ACCEPT
#$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 143 -j ACCEPT ! --syn

Есле что-то ненужно, это можно просто зокоментировать.

Да и еще, зачем ращрешать неправильные пакеты?


Где я разрешал неправильные пакеты?

# Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса.
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP
O Fortuna
velut luna
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

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

Сообщение TuLiss »

Где я разрешал неправильные пакеты?

-----------------------------------------------


все не так понял просто. По поводу разделения Думаю да, будет пока , что правильно. Пока не выростить файлик =)
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
T04ka
Сообщения: 266

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

Сообщение T04ka »

Пока не выростить файлик =)

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

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

Сообщение TuLiss »

Кстати а зачем зарищаться соединение X окромя lo, если и так все по умолчанию запрещенно? или на подстраховку?


Да и еще, надо обезопасить ftp соединение и nfs.
Для ftp в ядре есть модули
ip_nat_ftp
ip_conntrack_ftp

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

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

Сообщение T04ka »

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

Да и еще, надо обезопасить ftp соединение и nfs.
Для ftp в ядре есть модули
ip_nat_ftp
ip_conntrack_ftp

Надо бы их то же заюзать.


Будем читать литературу...

Прочитали литературу:
Модуль ip_nat_ftp требуется, чтобы преобразование сетевых адресов (Network Adress Translation) производилось корректно с протоколами FTP.
Так что заюзаем:
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
O Fortuna
velut luna
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

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

Сообщение TuLiss »

(Morda @ Вторник, 16 Августа 2005, 13:27) писал(а):А как относитесь к тому, чтобы написать на Shell небольшой установшик, где можно просто выбрать, что открыть, а что нет. На этом основание и будет генерироваться скрипт инициализации.

Так что заюзаем:
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp



Думаю пока не надо =) Я сегодня закину скрипт к себе в локальную сетку (объединенный) Посмотрю реакцию народа. (около 3000 человек, юниксоидов меньше =) около 150)

по поводу модулей , мы не ищим легких путей?

MOD="which modprobe" ;)
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
T04ka
Сообщения: 266

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

Сообщение T04ka »

(TuLiss @ Вторник, 16 Августа 2005, 17:54) писал(а):
(Morda @ Вторник, 16 Августа 2005, 13:27) писал(а):А как относитесь к тому, чтобы написать на Shell небольшой установшик, где можно просто выбрать, что открыть, а что нет. На этом основание и будет генерироваться скрипт инициализации.

Так что заюзаем:
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp



Думаю пока не надо =) Я сегодня закину скрипт к себе в локальную сетку (объединенный) Посмотрю реакцию народа. (около 3000 человек, юниксоидов меньше =) около 150)

по поводу модулей , мы не ищим легких путей?

MOD="which modprobe" ;)



Это хорошо, не забудь кинуть сюда результаты. Кстати я там запретил пейджеры, так что MSN=1863 ICQ=5190, добавь необходимые правила, есле надо.

Так же не помещает добавить правила, разрешающие http сервер, и базы данных.
Правило написать просто, но я не могу проверить его работоспособность, так как у меня нет ни http, ни бд.
O Fortuna
velut luna
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

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

Сообщение TuLiss »

Это хорошо, не забудь кинуть сюда результаты. Кстати я там запретил пейджеры, так что MSN=1863 ICQ=5190, добавь необходимые правила, есле надо.

Так же не помещает добавить правила, разрешающие http сервер, и базы данных.
Правило написать просто, но я не могу проверить его работоспособность, так как у меня нет ни http, ни бд.

[quote]

Непроблема , этого все с избытком.

Я вот, что подумал. Имее т ли смысол сделать вот так?

# Политики по умолчанию.
$IPT -P INPUT DROP
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT DROP

$IPT -A INPUT -i $INET_IFACE
$IPT -A OUTPUT -o $INET_IFACE
$IPT -A FORWARD -i $INET_IFACE
$IPT -A FORWARD -o $INET_IFACE
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
T04ka
Сообщения: 266

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

Сообщение T04ka »

(TuLiss @ Вторник, 16 Августа 2005, 18:32) писал(а):Это хорошо, не забудь кинуть сюда результаты. Кстати я там запретил пейджеры, так что MSN=1863  ICQ=5190, добавь необходимые правила, есле надо.

Так же не помещает добавить правила, разрешающие http сервер, и базы данных.
Правило написать просто, но я не могу проверить его работоспособность, так как у меня нет ни http, ни бд.


Непроблема , этого все с избытком.

Я вот, что подумал. Имее т ли смысол сделать вот так?

# Политики по умолчанию.
    $IPT -P INPUT DROP
    $IPT -P FORWARD ACCEPT
    $IPT -P OUTPUT DROP

    # Сетевая статистика (приметивный билинг)
    $IPT -A INPUT  -i $INET_IFACE
    $IPT -A OUTPUT  -o $INET_IFACE
    $IPT -A FORWARD -i $INET_IFACE
    $IPT -A FORWARD -o $INET_IFACE


Неполохо бы добавить статистику трафика и журнал отброшенных пакетов.
O Fortuna
velut luna
Спасибо сказали:
Аватара пользователя
serg_sk
Бывший модератор
Сообщения: 2749
Статус: <3 Anime
ОС: Gentoo Linux <3
Контактная информация:

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

Сообщение serg_sk »

Я вот не понимаю одного. Зачем IPT -P FORWARD ACCEPT? У меня стоит все DROP кроме OUTPUT, так безопаснее.
Не ждали?! А я приперся!
Помойка Gentoo'шника
-------
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

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

Сообщение TuLiss »

(serg_sk @ Вторник, 16 Августа 2005, 14:37) писал(а):Я вот не понимаю одного. Зачем IPT -P FORWARD ACCEPT? У меня стоит все DROP кроме OUTPUT, так безопаснее.


Я об этом же и подумал. Не проще ли

$IPT -P INPUT DROP
$IPT -P FORWARD DROP


Далее по поводу сохранения

проще:
и не надо мудрить лишние команды =;;)

iptables-save -c > /etc/iptables
iptables-restore -c /etc/iptables
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
T04ka
Сообщения: 266

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

Сообщение T04ka »

(TuLiss @ Вторник, 16 Августа 2005, 18:42) писал(а):
(serg_sk @ Вторник, 16 Августа 2005, 14:37) писал(а):Я вот не понимаю одного. Зачем IPT -P FORWARD ACCEPT? У меня стоит все DROP кроме OUTPUT, так безопаснее.


Я об этом же и подумал. Не проще ли

$IPT -P INPUT DROP
$IPT -P FORWARD DROP


Далее по поводу сохранения

проще:
и не надо мудрить лишние команды =;;)

iptables-save -c > /etc/iptables
iptables-restore -c /etc/iptables



Ладно, forward дропаем. Ну и output тоже разрешать нельзя, вдруг трояна подхватиш, который инфу ворует?
O Fortuna
velut luna
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

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

Сообщение TuLiss »

Ладно, forward дропаем. Ну и output тоже разрешать нельзя, вдруг трояна подхватиш,  который инфу ворует?


Надо просто подумать. Меня больше ftp волнует и nfs =) по безопастности.
Еще неплохо было бы открыть порт к samba :)
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
serg_sk
Бывший модератор
Сообщения: 2749
Статус: <3 Anime
ОС: Gentoo Linux <3
Контактная информация:

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

Сообщение serg_sk »

Ладно, forward дропаем. Ну и output тоже разрешать нельзя, вдруг трояна подхватиш, который инфу ворует?

Нет, с output - это уже гон. А за троянами следить надо. Например rkhunter прога есть. Она у меня в крон загнана, а лог в файл сбрасывает. Запускается раз в день, что мешает просмотреть, весь понятный лог, раз в сутки?
Не ждали?! А я приперся!
Помойка Gentoo'шника
-------
Спасибо сказали:
Аватара пользователя
T04ka
Сообщения: 266

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

Сообщение T04ka »

(TuLiss @ Вторник, 16 Августа 2005, 18:50) писал(а):

Ладно, forward дропаем. Ну и output тоже разрешать нельзя, вдруг трояна подхватиш,  который инфу ворует?


Надо просто подумать. Меня больше ftp волнует и nfs =) по безопастности.
Еще неплохо было бы открыть порт к samba :)



Номер порта скажите (я правда не знаю)
И выкладываете имена и порты служб, которые надо открыть.

(serg_sk @ Вторник, 16 Августа 2005, 18:50) писал(а):
Ладно, forward дропаем. Ну и output тоже разрешать нельзя, вдруг трояна подхватиш, который инфу ворует?

Нет, с output - это уже гон. А за троянами следить надо. Например rkhunter прога есть. Она у меня в крон загнана, а лог в файл сбрасывает. Запускается раз в день, что мешает просмотреть, весь понятный лог, раз в сутки?



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

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

Сообщение TuLiss »

[quote=Morda,Вторник, 16 Августа 2005, 14:52]
[quote]

Номер порта скажите (я правда не знаю)
И выкладываете имена и порты служб, которые надо открыть.

[quote]

cat /etc/services | grep NETBIOS

=)


netbios-ns 137/tcp #NETBIOS Name Service
netbios-ns 137/udp #NETBIOS Name Service
netbios-dgm 138/tcp #NETBIOS Datagram Service
netbios-dgm 138/udp #NETBIOS Datagram Service
netbios-ssn 139/tcp #NETBIOS Session Service
netbios-ssn 139/udp #NETBIOS Session Service
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Ответить