Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Firewall *nix: iptables, ipfw, pf etc...

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Открыть новую тему     Написать ответ в эту тему

Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iptables
   
Linux

 
  • настройка iptables (крупные статьи переехали на wikibooks)
  • настройка iptables (opennet)
  • Easy Firewall Generator for IPTables Online
  • l7-filter - дополнения для netfilter, позволяющее создавать правила основываясь на данных прикладного уровня.
  • ipset - модуль для ядра Linux к фаерволу netfilter для создания и управления наборами адресов, портов, связок ip+mac.
     
  • схема прохождения пакета через netfilter (или более сложно и подробно)
     
    Так же может быть интересным
  • Перевод руководства по iproute2 и управлению трафиком в Linux (оригинал LARTC) -- внимательно читать оглавление - тема содержит уйму всего!!!
  • Введение в управление трафиком, дисциплины обработки очередей (теория) (opennet) - aka Повесть о Linux и управлении трафиком.
  • QoS в Linux - iproute2 и u32 селектор (хабр)
  • QoS в Linux - iproute2, издеваемся над трафиком (хабр)
     


    ipfw
       
    FreeBSD

  • русский MAN (opennet)
  • настройка ipfw (opennet)
  • настройка ipfw (lissyara)
     
    Достаточно частый вопрос
  • Балансировка и резервирование канала (samag.ru)
     


    pf
       
    OpenBSD

  • начальная настройка pf (lissyara)
  • настройка pf как шлюза (lissyara)

  • Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 23:50 19-08-2010 | Исправлено: Alukardd, 11:42 20-05-2022
    OOD

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd
    заработало с политикой:
    -I FORWARD -s 10.184.40.253 -p tcp --dport 5000:65535 -j ACCEPT  

    Всего записей: 3389 | Зарегистр. 20-05-2006 | Отправлено: 12:58 12-04-2013
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    OOD
    Oops, мой фейл, а точнее Ваш прежде всего.
    Я не оценил что правила для FORWARD Вы отправляете в цепочку для проверки входящих соединений (RH-Firewall-1-INPUT). Это не одно и тоже! Зачем Вы вообще так сделали?

    ----------
    Microsoft gives you windows, linuх gives you the whole house...
    I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

    Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 14:33 12-04-2013
    bga83



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    На вопрос из темы
     

    Цитата:
    я всетаки думаю что дело в pf. хотя если сделать pfctl -s nat
     то видно  
    rdr on vr1 inet proto tcp from any to внешнийип port = 3000 -> 192.168.0.101 port 3000
    rdr on vr1 inet proto tcp from any to внешнийип = smtp -> 192.168.0.101 port 25
    rdr on vr1 inet proto tcp from any to внешнийип port = pop3 -> 192.169.0.101 port 110
    (это я уже решил пробрасывать не 80 порт внешнего адреса на 3000 порт сервера а напрямую, 3000 на 3000) мне вот интересно достаточно ли прописать в pf.conf  такую строку чтобы проброс заработал?  
    rdr on $ext_if proto tcp from any to внешнийип port 3000 -> 192.168.0.101 port 3000
    правило писал по образу тех что были написаны до меня  

     
    Кроме правил непосредственно ната, проверь наличие фаервольных правил, разрешающих хождение соответсвующих пакетов из-за периметра сети внутрь.
    И еще, как уже говорил, посмотри сниффером(tcpdump), что творится на внешнем и внутреннем интерфейсе.

    Всего записей: 2008 | Зарегистр. 30-11-2007 | Отправлено: 09:32 16-04-2013
    OOD

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd

    Цитата:
    Зачем Вы вообще так сделали?

    конфиг нашел в гугле и кое как в нем разобрался но не на все 100%
    в никсе не шарю

    Всего записей: 3389 | Зарегистр. 20-05-2006 | Отправлено: 10:12 16-04-2013
    freesmart

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    нашел у себя в pf.conf строку block log all
    закоменитровал и заработало все. одно непонятно эта строка стояла после всех правил проброса портов а не работали только те правила которые я создавал. те которые были созданы - работали. подскажите что вобще блокирует это правило?

    Всего записей: 99 | Зарегистр. 27-09-2010 | Отправлено: 13:22 16-04-2013
    bga83



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    freesmart
    Я же уже сказал, что кроме правил проброса, которые просто меняют адрес назначения, должны быть еще и фаервольные правила, разрешающие хождение таких пакетов.  
    Если созданные до тебя пробросы работали, значит в конфиге для них кроме rdr-правил были еще и pass-правила.
     
    Правила должны выглядеть примерно так:
     
    pass proto tcp from any to 192.168.0.101 port {25,110,3000} keep state
     
    единственное проверь синтаксис - я не помню как точно указывается перечень портов в pf, нужны фигурные скобки или нет.
     

    Всего записей: 2008 | Зарегистр. 30-11-2007 | Отправлено: 16:00 16-04-2013
    freesmart

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bga83 огромное вам спасибо. теперь все работает.

    Всего записей: 99 | Зарегистр. 27-09-2010 | Отправлено: 06:54 17-04-2013
    korn3r



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    привет, глупый вопрос:
     
    есть роутер с iptables, есть сетка (192.168.1.0/24), есть еще 1 сетка на роутере (172.16.0.0/12)
    нужно запретить ходить с адресов 192.168.1.40-192.168.1.255 на 172.16.0.0/12
    что-то ничего не выходит (iptables я не знаю вообще)
    пробовал следующее:

    Код:
     
    iptables -A FORWARD -o tun21 -m iprange --src-range 192.168.1.40-192.168.1.255 -j DROP
    iptables -A OUTPUT -o tun21 -m iprange --src-range 192.168.1.40-192.168.1.255 -j DROP
    iptables -A FORWARD -m iprange --src-range 192.168.1.40-192.168.1.255 -d 172.16.0.0/12 -j DROP

    Всего записей: 496 | Зарегистр. 19-10-2005 | Отправлено: 19:49 25-08-2013 | Исправлено: korn3r, 19:50 25-08-2013
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую!
     
    Помогите написать правила для ipfw, что бы соединения идущие на определённый ip:port текущей машины, уходили на другой ip.
     
    Я попробовал одну хрень, после чего лешился доступа к машине, так что экспериментировать возможности нету.
     
    попробовал:
    kldload ipfw_nat
    sysctl net.inet.ip.forwarding=1
    ipfw nat 1 config log if igb0 reset same_ports deny_in redirect_port tcp ${remote_ip}:443 443
    ipfw add 10130 nat 1 ip from any to any via igb0
     
    сейчас по сути ни чего нету:
    00100 allow ip from any to any via lo0
    00200 deny ip from any to 127.0.0.0/8
    00300 deny ip from 127.0.0.0/8 to any
    65535 allow ip from any to any

    ----------
    Microsoft gives you windows, linuх gives you the whole house...
    I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

    Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 15:48 18-10-2013
    urodliv



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Это ответ на вопрос от Vania.
    В обоих наборах правил вы разрешаете только входящий трафик. А исходящий - нет. Во втором примере (с проверкой состояния соединения) указывать у входящих правил только состояние NEW нелогично.
    P.S. Для работы l2tp поверх ipsec`а помимо портов 500, 1701 (4500 только если будет задействован nat-t) надо разрешать прохождение протокола esp, и, возможно, ah. У вас этого нет. И таки да, порты 500, 1701 и 4500 надо открывать только для udp.


    ----------
    Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

    Всего записей: 6714 | Зарегистр. 29-04-2009 | Отправлено: 23:45 21-11-2013 | Исправлено: urodliv, 23:48 21-11-2013
    Vania

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я по этому руководству пытаюсь установить IPSEC/L2TP VPN on CentOS 6 / Red Hat Enterprise Linux 6 / Scientific Linux 6 там написано что 1701 порт TCP нужно открывать. Я открываю и TCP и UDP для всех указанных в руководстве портов 1701, 4500, 500. Если смотреть netstat -npl сервер xl2tpd действительно по порту 1701 UDP слушает.
     
    Я Linux знаю на начальном уровне, поэтому нужные мне правила  я не напишу. Поэтому если кто-то поможет написать правила для моего случая был бы благодарен.
     
    Чем можно проверить открыты ли порты UDP?

    Всего записей: 1941 | Зарегистр. 30-12-2005 | Отправлено: 00:35 22-11-2013 | Исправлено: Vania, 00:37 22-11-2013
    urodliv



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Vania

    Цитата:
    Я открываю и TCP и UDP для всех указанных в руководстве портов

    Не видим. Объяснение смотри выше.

    Цитата:
    Я Linux знаю на начальном уровне, поэтому нужные мне правила  я не напишу.  

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

    Цитата:
    Поэтому если кто-то поможет написать правила для моего случая был бы благодарен.  

    В шапке этой темы уважаемый Alukardd разместил ссылку на онлайн генератор.
     
    P.S. А у хостера для вас открыты все порты? Может вы не там "рыбу ловите"?

    ----------
    Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

    Всего записей: 6714 | Зарегистр. 29-04-2009 | Отправлено: 22:58 22-11-2013
    Vania

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    P.S. А у хостера для вас открыты все порты? Может вы не там "рыбу ловите"?

    Как это проверить, открыты они у хостера или нет?  

    Всего записей: 1941 | Зарегистр. 30-12-2005 | Отправлено: 00:20 23-11-2013
    urodliv



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Vania

    Цитата:
    Как это проверить, открыты они у хостера или нет?

    Элементарно Ватсон! Задайте этот вопрос техподдержке хостера.

    ----------
    Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

    Всего записей: 6714 | Зарегистр. 29-04-2009 | Отправлено: 00:46 23-11-2013
    Vania

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    У меня нет возможности обратится в поддержку. Какими способами можно проверить закрыты они у хостера или нет?

    Всего записей: 1941 | Зарегистр. 30-12-2005 | Отправлено: 01:28 23-11-2013
    Vania

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Отключил фаервол вот так service iptables stop

    Код:
    [root@vpshost ~]# service iptables stop
    iptables: Flushing firewall rules:                         [  OK  ]
    iptables: Setting chains to policy ACCEPT: filter mangle na[  OK  ]
    iptables: Unloading modules:                               [  OK  ]

     

    Код:
    [root@vpshost ~]# iptables -L
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination
     
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
     
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination

     
       
     
    Результат тот же что на скриншоте выше. Порты не открылись.

    Всего записей: 1941 | Зарегистр. 30-12-2005 | Отправлено: 14:25 23-11-2013
    urodliv



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Результат тот же что на скриншоте выше. Порты не открылись.


    Цитата:
    Задайте этот вопрос техподдержке хостера.


    Цитата:
    У меня нет возможности обратится в поддержку.

    Значит надо найти. Денежку же вы им как-то переправляете. И почитайте свой договор.

    ----------
    Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

    Всего записей: 6714 | Зарегистр. 29-04-2009 | Отправлено: 14:38 23-11-2013
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Vania
    Что за скриншот непонятного сканера?
    Почему сканятся TCP порты, а демоны слушают UDP порты?
    Это точно тупой сканер или он проверяет всё с учётом ESP и AH протоколов, которые используются в IPSec?
     
    Вообще для проверок стоит использовать счётчики правил в iptables/netfilter, а так же утилиты telnet. tcpdump, nmap и прочие, а не непонятные сервисы.
     
    p.s. а вообще, я за OpenVPN.

    ----------
    Microsoft gives you windows, linuх gives you the whole house...
    I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

    Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 18:53 24-11-2013
    Vania

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Сканер этот http://www.hashemian.com/tools/port-scanner.php
    В руководстве по которому я устанавливаю было написано что порт 1701 TCP нужно открывать. Поэтому я начал с TCP сканера. Но в руководстве ошибка, 1701 UDP порт нужно открывать.  
     
    Я проверил nmap порт 1701, похоже что открыт.  
     

    Код:
     
    [root@vpshost ~]# nmap -sU IP_СЕРВЕРА -p 1701
     
    Starting Nmap 5.51 ( http://nmap.org ) at 2013-11-23 05:59 EST
    Nmap scan report for vpshost (IP_СЕРВЕРА)
    Host is up.
    PORT     STATE         SERVICE
    1701/udp open|filtered L2TP
     
    Nmap done: 1 IP address (1 host up) scanned in 2.06 seconds
     

     
    И в лог при попытки подключения записи идут.  
     
    Вот ещё онлайн nmap сканер https://pentest-tools.com/discovery-probing/udp-port-scanner-online-nmap Может и TCP и UDP проверять.
     
    Если получится уговорить хостера установить мне драйвер TAP\TUN попробую OpenVPN.

    Всего записей: 1941 | Зарегистр. 30-12-2005 | Отправлено: 15:26 26-11-2013 | Исправлено: Vania, 17:23 26-11-2013
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую.
     
    Суть: настроить DNAT транзитного трафика идущего на конкретный IP адрес на другой внешний IP.
    Подробности: Думаю проще будет схемой...

    Собственно как запрос идущий на 192.168.1.2 перенаправить на 10.10.10.1? И сделать это надо на сервере #server2, с учётом того что трафик там идёт через сетевой мост (br0) и ни один из интерфейсов виртуального коммутатора свой ip там не имеет.
     
    Простое правило типа iptables -t nat -A PREROUTING -d 192.168.1.2/32 -j DNAT --to-destination 10.10.10.1 не помогает. Пакеты перестают доходить до #server1, но и на #server3 я их не наблюдаю. Попытка поставить SNAT на eth1, тоже не помогла. Маршрутизация в ядре разумеется включена.
     
    ОС Debian/Linux, в наличии почти всё что попросите. Устроит и способ с использованием доп утилит, а не чистый iptables, хотя и не желательно.

    ----------
    Microsoft gives you windows, linuх gives you the whole house...
    I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

    Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 21:20 12-12-2013 | Исправлено: Alukardd, 21:21 12-12-2013
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

    Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Firewall *nix: iptables, ipfw, pf etc...


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru