Настройка iptables для начинающих.
Модератор: Модераторы разделов
Настройка iptables для начинающих.
Последняя версия скрипта прикреплена к первому сообщения, то есть к этому.
Те версии, которые находятся ниже не всегда рабочие и их качать не нужно.
При обнаружении любых ошибок пожалуйста сообщайте на форум или на E-mail
указанный в скрипте.
Последняя стабильная версия:
Те версии, которые находятся ниже не всегда рабочие и их качать не нужно.
При обнаружении любых ошибок пожалуйста сообщайте на форум или на E-mail
указанный в скрипте.
Последняя стабильная версия:
O Fortuna
velut luna
velut luna
Спасибо сказали:
Re: Настройка iptables для начинающих.
Че-то много DROP-ов Не проще ли поставить политику по-умолчанию на DROP а потом открыть что надо?
В каждом из нас спит гений... и с каждым днем все крепче...
Re: Настройка iptables для начинающих.
(flook @ Пятница, 05 Августа 2005, 13:56) писал(а):Че-то много DROP-ов Не проще ли поставить политику по-умолчанию на DROP а потом открыть что надо?
Код: Выделить всё
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT DROP
У меня так и сделано, но там еще много чего надо drop'ать.
O Fortuna
velut luna
velut luna
Re: Настройка iptables для начинающих.
Факт, не заметил Зарябило в глазах от количества DROP-ов
В каждом из нас спит гений... и с каждым днем все крепче...
Re: Настройка iptables для начинающих.
(flook @ Пятница, 05 Августа 2005, 14:04) писал(а):Факт, не заметил Зарябило в глазах от количества DROP-ов
OUTPUT - DROP - это на случай если проморгаю ))
O Fortuna
velut luna
velut luna
Re: Настройка iptables для начинающих.
ну для начало хоть , что то.
вообще я не понимаю людей которые запрещают ICMP пакеты =) Нужны они бывают в самый неподходящий момент.
Лучше не запретить его, а наложить ограничение на пинг.
вообще я не понимаю людей которые запрещают ICMP пакеты =) Нужны они бывают в самый неподходящий момент.
Лучше не запретить его, а наложить ограничение на пинг.
- Вложения
-
- rc.fw_20050914.tar.gz
- (4.01 КБ) 2322 скачивания
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
- Holy Joly Sergik
- Сообщения: 88
- Контактная информация:
Re: Настройка iptables для начинающих.
Да не попинает меня автор, сам я iptapbles настраивать так и не научился, впрочем как и ipchains. Так вот специально для настройки firewall под Linux (давно же это было...) я использовал замечательную программку guarddog, представляющую собой KDE-шную морду для редактирования конфигов стенки путем установки/снятия галочек. Для совсем новичков очень даже, особенно для тех, кто с винды пришел.
FreeBSD 6.0 - RELEASE + Windows XP + Mandrake 10.1 on Cel 2400
Windows 2000 on Cel 633
Windows 2000 on Cel 633
Re: Настройка iptables для начинающих.
(Holy Joly Sergik @ Пятница, 05 Августа 2005, 10:38) писал(а):Да не попинает меня автор, сам я iptapbles настраивать так и не научился,
Просто надо представить как это все работает, и тогда все становится ясно как божий день =) В частности хорошо бы объяснили как это работает.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Re: Настройка iptables для начинающих.
И снова переделал скрипт.
Теперь есть возможность запускать или останавливать коммандой:
/etc/init.d/rc.iptables start/stop
Мелкие изменения в правилах.
Теперь 100% рабочий. Описание внутри скрипта.
Теперь есть возможность запускать или останавливать коммандой:
/etc/init.d/rc.iptables start/stop
Мелкие изменения в правилах.
Теперь 100% рабочий. Описание внутри скрипта.
O Fortuna
velut luna
velut luna
Re: Настройка iptables для начинающих.
(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...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Re: Настройка iptables для начинающих.
(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
velut luna
Re: Настройка iptables для начинающих.
(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...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Re: Настройка iptables для начинающих.
(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
velut luna
Re: Настройка iptables для начинающих.
[quote=Morda,Вторник, 16 Августа 2005, 12:47]
[quote]
В последней версии я вставил переменную INET_IFACE="ppp0"
[quote]
попутно объединяю твое и мое =)
Как тебе вариант ввести переменную не IPT="/sbin/iptables" ,а IPT=`which iptables`
Скрипт немного получится более уневерсальным. Потом будет время напишу, что бы при отсутсвие онного (что вообще странно, но место быть может) прекращает всякую работу.
Потом у тебя нет желания объединить несколько правил в одну строку? или это сделанна с каким то смыслом?
Да и еще, зачем ращрешать неправильные пакеты?
[quote]
В последней версии я вставил переменную INET_IFACE="ppp0"
[quote]
попутно объединяю твое и мое =)
Как тебе вариант ввести переменную не IPT="/sbin/iptables" ,а IPT=`which iptables`
Скрипт немного получится более уневерсальным. Потом будет время напишу, что бы при отсутсвие онного (что вообще странно, но место быть может) прекращает всякую работу.
Потом у тебя нет желания объединить несколько правил в одну строку? или это сделанна с каким то смыслом?
Да и еще, зачем ращрешать неправильные пакеты?
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Re: Настройка iptables для начинающих.
(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
velut luna
Re: Настройка iptables для начинающих.
Где я разрешал неправильные пакеты?
-----------------------------------------------
все не так понял просто. По поводу разделения Думаю да, будет пока , что правильно. Пока не выростить файлик =)
-----------------------------------------------
все не так понял просто. По поводу разделения Думаю да, будет пока , что правильно. Пока не выростить файлик =)
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Re: Настройка iptables для начинающих.
Пока не выростить файлик =)
Желательно, чтобы поскарее
O Fortuna
velut luna
velut luna
Re: Настройка iptables для начинающих.
Кстати а зачем зарищаться соединение X окромя lo, если и так все по умолчанию запрещенно? или на подстраховку?
Да и еще, надо обезопасить ftp соединение и nfs.
Для ftp в ядре есть модули
ip_nat_ftp
ip_conntrack_ftp
Надо бы их то же заюзать.
Да и еще, надо обезопасить ftp соединение и nfs.
Для ftp в ядре есть модули
ip_nat_ftp
ip_conntrack_ftp
Надо бы их то же заюзать.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Re: Настройка iptables для начинающих.
А как относитесь к тому, чтобы написать на Shell небольшой установшик, где можно просто выбрать, что открыть, а что нет. На этом основание и будет генерироваться скрипт инициализации.
Будем читать литературу...
Прочитали литературу:
Модуль ip_nat_ftp требуется, чтобы преобразование сетевых адресов (Network Adress Translation) производилось корректно с протоколами FTP.
Так что заюзаем:
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
Да и еще, надо обезопасить 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
velut luna
Re: Настройка iptables для начинающих.
(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...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Re: Настройка iptables для начинающих.
(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
velut luna
Re: Настройка iptables для начинающих.
Это хорошо, не забудь кинуть сюда результаты. Кстати я там запретил пейджеры, так что 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
Так же не помещает добавить правила, разрешающие 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...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Re: Настройка iptables для начинающих.
(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
velut luna
- serg_sk
- Бывший модератор
- Сообщения: 2749
- Статус: <3 Anime
- ОС: Gentoo Linux <3
- Контактная информация:
Re: Настройка iptables для начинающих.
Я вот не понимаю одного. Зачем IPT -P FORWARD ACCEPT? У меня стоит все DROP кроме OUTPUT, так безопаснее.
Re: Настройка iptables для начинающих.
(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...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Re: Настройка iptables для начинающих.
(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
velut luna
Re: Настройка iptables для начинающих.
Ладно, forward дропаем. Ну и output тоже разрешать нельзя, вдруг трояна подхватиш, который инфу ворует?
Надо просто подумать. Меня больше ftp волнует и nfs =) по безопастности.
Еще неплохо было бы открыть порт к samba
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
- serg_sk
- Бывший модератор
- Сообщения: 2749
- Статус: <3 Anime
- ОС: Gentoo Linux <3
- Контактная информация:
Re: Настройка iptables для начинающих.
Ладно, forward дропаем. Ну и output тоже разрешать нельзя, вдруг трояна подхватиш, который инфу ворует?
Нет, с output - это уже гон. А за троянами следить надо. Например rkhunter прога есть. Она у меня в крон загнана, а лог в файл сбрасывает. Запускается раз в день, что мешает просмотреть, весь понятный лог, раз в сутки?
Re: Настройка iptables для начинающих.
Номер порта скажите (я правда не знаю)
И выкладываете имена и порты служб, которые надо открыть.
(serg_sk @ Вторник, 16 Августа 2005, 18:50) писал(а):Ладно, forward дропаем. Ну и output тоже разрешать нельзя, вдруг трояна подхватиш, который инфу ворует?
Нет, с output - это уже гон. А за троянами следить надо. Например rkhunter прога есть. Она у меня в крон загнана, а лог в файл сбрасывает. Запускается раз в день, что мешает просмотреть, весь понятный лог, раз в сутки?
Пожалуйста, дай ссылку на прогу.
O Fortuna
velut luna
velut luna
Re: Настройка iptables для начинающих.
[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
[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...
kernel 4.2
chmod -x `which chmod`
War, war never changes...