Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Переход от iptables на PfSense

    Scheduled Pinned Locked Moved Russian
    32 Posts 4 Posters 3.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      AntonR69
      last edited by

      Здравствуйте коллеги. Нужна помощь и совет. Организация серьезная. Много рассказать не смогу. На рубеже внутренней и внешней сетью стоит Линукс с iptables. Задача перейти на PfSense не снизив надежности защиты сети из вне. Сейчас грызу iptables для расшифровки и переноса правил в PfSense. Я так понимаю, что iptables инструмент универсальный, а PfSense уже заточен под защиту из вне. Дайте, пожалуйста, совет. Как грамотно перенести правила из iptables в PfSense. Я на своем примере вижу что в iptables перед основными правилами (проброс портов, дружба разных сеток) есть много общих описаний которые в PfSense, я так понимаю, уже есть по умолчанию. Раньше работал с Kerio control. Там все просто. Настрочил правил, маршрутов, остальное запретил, все работает.

      P werterW 2 Replies Last reply Reply Quote 0
      • P
        pigbrother @AntonR69
        last edited by pigbrother

        @antonr69 Исходите из того, что:
        в pfSense по умолчанию все извне запрещено, все изнутри - разрешено.
        Разные сети за разными интерфейсами друг от друга изолированы. Для доступа подсетей не нужны маршруты, только правила.
        При порт-форварде разрешающие правило по умолчанию создаются автоматически.

        Правила выполняются сверху вниз.

        @antonr69 said in Переход от iptables на PfSense:

        Kerio control. Там все просто. Настрочил правил, маршрутов, остальное запретил, все работает.

        Пожалуй, в pfSense все не сложнее.

        1 Reply Last reply Reply Quote 1
        • werterW
          werter @AntonR69
          last edited by werter

          Добрый
          @antonr69
          iptables -L -v -n > rules.txt, открываете файл rules.txt и внимательно переносите правила на пф )

          A 1 Reply Last reply Reply Quote 1
          • A
            AntonR69 @werter
            last edited by

            @werter said in Переход от iptables на PfSense:

            iptables -L -v -n > rules.txt, открываете файл rules.txt и внимательно переносите правила на пф )

            Что то более удобоваримое получилось с ключем -S
            iptables -S > rules.txt
            Но я пока не совсем понял концепцию обработки цепочек. Пока разбираюсь.

            P 1 Reply Last reply Reply Quote 0
            • P
              pigbrother @AntonR69
              last edited by

              @antonr69 Не о цепочках, но стоит посмотреть на пост из закрепленных:
              https://forum.netgate.com/topic/66675/pfsense-%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BE%D0%BA-%D0%BF%D1%80%D0%BE%D1%85%D0%BE%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2

              A 1 Reply Last reply Reply Quote 1
              • A
                AntonR69 @pigbrother
                last edited by

                @pigbrother
                Спасибо. Я эту тему видел. Хотя не могу сказать что исчерпал. Я с ней поработаю еще. Вроде начинаю въезжать в iptables.

                A 1 Reply Last reply Reply Quote 0
                • A
                  AntonR69 @AntonR69
                  last edited by AntonR69

                  #anchor(@antonr69
                  Коллеги здравствуйте. Все же нужен совет. У меня не три правила в iptables. У меня портянка со сценариями, по примеру опубликованному здесь https://www.opennet.ru/docs/RUS/iptables/#INCLUDE.RCFIREWALL
                  Я так понимаю, что при прохождении пакетов через правило
                  $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
                  пакет перемещается на цепочку

                  allowed chain

                  $IPTABLES -A allowed -p TCP --syn -j ACCEPT
                  $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
                  $IPTABLES -A allowed -p TCP -j DROP
                  Если ДА, то при переносе правил из iptables в Pfsense каждое перенесенное правило нужно снабдить параметрами из цепочки allowed? Или же сделать отдельные правила правила с параметрами из цепочки allowed?
                  И как изобразить в Pfsense цепочку

                  bad_tcp_packets chain

                  #$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK
                  -m state --state NEW -j REJECT --reject-with tcp-reset
                  $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG
                  --log-prefix "New not syn:"
                  $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
                  И нужно ли в Pfsense такое городить? Может он уже по умолчанию рубит все кривые пакеты?

                  При экспорте правил через iptables -L -v -n > rules.txt, у меня мягко говоря, получается не совсем удобоваримая каша.)

                  K werterW 2 Replies Last reply Reply Quote 0
                  • K
                    Konstanti @AntonR69
                    last edited by Konstanti

                    @antonr69
                    Для примера

                    a5fa0501-bc38-4052-83d2-823fa6113c84-image.png

                    6f76377b-2a21-467f-8426-d0f07035113b-image.png

                    Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
                     pkts bytes target     prot opt in     out     source               destination         
                    3841K  430M f2b-sshd   tcp  --  any    any     anywhere             anywhere             multiport dports ssh
                    1139M  184G XL-Firewall-1-INPUT  all  --  any    any     anywhere             anywhere            
                    
                    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
                     pkts bytes target     prot opt in     out     source               destination         
                    1263M 1661G XL-Firewall-1-INPUT  all  --  any    any     anywhere             anywhere            
                    
                    Chain OUTPUT (policy ACCEPT 2688 packets, 760K bytes)
                     pkts bytes target     prot opt in     out     source               destination         
                    
                    Chain XL-Firewall-1-INPUT (2 references)
                     pkts bytes target     prot opt in     out     source               destination         
                       32  3232 ACCEPT     icmp --  any    any     localhost            anywhere             icmp any
                     103K 8745K ACCEPT     icmp --  any    any     anywhere             anywhere             icmp destination-unreachable
                     490K   33M ACCEPT     icmp --  any    any     anywhere             anywhere             icmp echo-request
                    1842M 1759G ACCEPT     all  --  any    any     anywhere             anywhere             state RELATED,ESTABLISHED
                     286K   17M ACCEPT     tcp  --  any    any     anywhere             anywhere             state NEW tcp dpt:ssh
                    73M   22G REJECT     all  --  any    any     anywhere             anywhere             reject-with icmp-host-prohibited
                    

                    в PFSense такое городить не надо , если не используете Floating правила (там свои нюансы )

                    • то что вы указали можно и в PF сделать , чтобы отбрасывать "плохие пакеты"

                    выглядеть это будет так

                    block drop in on vmx0 all
                    block drop in quick on vmx0 proto tcp all flags /S
                    block drop in quick on vmx0 proto tcp all flags /FSRA
                    block drop in quick on vmx0 proto tcp all flags /FSRAU
                    block drop in quick on vmx0 proto tcp all flags A/A
                    block drop in quick on vmx0 proto tcp all flags F/FSRA
                    block drop in quick on vmx0 proto tcp all flags U/FSRAU
                    block drop in quick on vmx0 proto tcp all flags FS/FS
                    block drop in quick on vmx0 proto tcp all flags FS/FSRA
                    block drop in quick on vmx0 proto tcp all flags SR/SR
                    block drop in quick on vmx0 proto tcp all flags FPU/FPU
                    block drop in quick on vmx0 proto tcp all flags FPU/FSRPAUEW
                    block drop in quick on vmx0 proto tcp all flags FSRAU/FSRAU
                    block drop in quick on vmx0 proto tcp all flags FSRPAU/FSRPAU
                    block drop in quick on vmx0 from any os "NMAP" to any
                    pass in quick on vmx0 proto tcp from any to (vmx0) port = ssh flags S/SA synproxy state
                    
                    1 Reply Last reply Reply Quote 1
                    • werterW
                      werter @AntonR69
                      last edited by werter

                      Добрый.
                      @antonr69
                      Пф дропает все , что не разрешено ЯВНО.

                      И не заморачивайтесь с :

                      #$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK
                      -m state --state NEW -j REJECT --reject-with tcp-reset
                      $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG
                      --log-prefix "New not syn:"
                      $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

                      Переносите только правила вида

                      $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed

                      Будет совсем трудно - пишите в ЛС )

                      Зы. Коллеги, недавно закончил проект с haproxy + ACME на пф. Непростой проект ) Кто столкнется с этой связкой - пишите.

                      A 1 Reply Last reply Reply Quote 1
                      • A
                        AntonR69 @werter
                        last edited by

                        @werter
                        А как грамотно будет накатить правила при мультиван? На каждый ван продублировать правила или создать одно в разделе плавающих правил указав все ван интерфейсы?

                        werterW 1 Reply Last reply Reply Quote 0
                        • werterW
                          werter @AntonR69
                          last edited by

                          @antonr69
                          Не надо пока трогать флоатинг рулез. Рисуйте сперва для обоих ВАНов - как все заработает, тогда и плавающие можно потыкать. Если оно надо, конечно (в 99% - не надо).

                          A 1 Reply Last reply Reply Quote 1
                          • A
                            AntonR69 @werter
                            last edited by AntonR69

                            @werter
                            Спасибо за ответы. Продвигаюсь в своей задаче. Настраивал squid, pfblockerng, и с какого то момента заметил что некоторые сайты, которые нормально открывались, перестали открываться, хром ругается "NET::ERR:CERT_DATE_INBALID" softodorom.ru например или forum.netgate.com.
                            Дата и время на pfsense и на компе правильные. Squid pfblockerng отключил, не помогло, менял настройки dns resolver, тоже не помогло. Заменил pfsense на ИКС, тоже такая проблема. Если шнурок от провайдера вставить в обычный роутер такой проблемы нет, и через шлюз на iptables нет. Подскажите пожалуйста, куда копать?

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              AntonR69 @AntonR69
                              last edited by AntonR69

                              @antonr69
                              Подцепил другой ноут, все работает. Сайты открывает. Пока разбираюсь.

                              A 1 Reply Last reply Reply Quote 0
                              • A
                                AntonR69 @AntonR69
                                last edited by

                                @antonr69
                                Братцы, что то намудрил я с dns resolver. Подскажите с правильными настройками.

                                werterW 1 Reply Last reply Reply Quote 0
                                • werterW
                                  werter @AntonR69
                                  last edited by werter

                                  Добрый.
                                  @antonr69
                                  Скрины давайте.

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    AntonR69 @werter
                                    last edited by

                                    @werter said in Переход от iptables на PfSense:

                                    Добрый.
                                    @antonr69
                                    Скрины давайте
                                    Настроил PfblockerNG, все работает, блокирует. Запускаю Squid, и вся блокировка пропадает. Squid мне нужен для статистики. Он не прозрачный т.к. есть юзеры которые ходят в инет с терминального сервера. И идентифицировать их по IP-адресу не получится. По этому они ходят через ввод логина и пароля присвоенного в настройках Squid.

                                    dns1.JPG

                                    werterW 1 Reply Last reply Reply Quote 0
                                    • werterW
                                      werter @AntonR69
                                      last edited by

                                      Добрый
                                      @antonr69
                                      Зачем людям инет на терминальном сервере?

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        AntonR69 @werter
                                        last edited by AntonR69

                                        @werter said in Переход от iptables на PfSense:

                                        Добрый
                                        @antonr69
                                        Зачем людям инет на терминальном сервере?

                                        Добрый день. Ну, пока так сложилось. Потом переделаю.
                                        У меня другая загвозка. На pfsense поднят сквид с авторизацией по логину\паролю. Не могу заставить на рабочих станциях вязаться к почтовым серверам программе thunderbird. Что только не делал. Менял параметры прокси в самой программе, сделал правило по которому разрешено ходить на прямую к почтовому серванту, в самой системе где прописывается адрес прокси сказал что вот на этот адрес (почтовик) ходить помимо прокси. Не помогает ничего. Уже второй день бьюсь. Подскажите, пожалуйста как можно решить проблему?

                                        werterW 1 Reply Last reply Reply Quote 0
                                        • werterW
                                          werter @AntonR69
                                          last edited by werter

                                          Добрый.
                                          @antonr69
                                          Все настройки сквида скринами покажите.

                                          ЗЫ. У сквида можно указать КАКИЕ через него разрешать. В advanced добавьте почтовые порты
                                          Что-то типа https://sysadmins.ru/topic167979.html (последнее сообщение).
                                          При этом в настройках громоптицы указать, что прокси не использовать (проверить!)

                                          Зы2. Покажите правила fw на ЛАН. Сквид работает только с http(s) и разрешающих правил на ЛАН для почтовых портов должно хватать.
                                          https://forum.netgate.com/topic/127606/squid-gmail-thunderbird-unable-to-connect
                                          https://forum.netgate.com/topic/42208/firewall-rules-for-smtp-pop-to-use-thunderbird

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            AntonR69 @werter
                                            last edited by

                                            @werter
                                            Спасибо за полезные ссылки. кое что прояснилось. Виновник найден немного в другом месте, это был snort. Он по каким то своим идейным соображениям заблокировал наш почтовый сервер.

                                            werterW 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.