The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Как улучшить безопасность фаервола? (PF), !*! solovevmv, 04-Июл-08, 13:54  [смотреть все]
  • Как улучшить безопасность фаервола? (PF), !*! domas, 21:52 , 04-Июл-08 (1)
    1. Плохой конфиг - много лишнего, нету нужного. Да и вообще так не делается...
    2. С наружи закрыть все просто - block in on $ext_if all, но я бы переработал конфиг с нуля.
    • Как улучшить безопасность фаервола? (PF), !*! solovevmv, 12:30 , 05-Июл-08 (2)
      • Как улучшить безопасность фаервола? (PF), !*! domas, 16:36 , 05-Июл-08 (3)
        За значениями ключевых слов - в маны. Если что-то будет не понятно - объясню.
        Читаем конфиг с начала:

        0. Первое правило должно быть


        block all

        Реализуем принцип 'запрещено все что не разрешено'. Далее все правила кот. начинаются с 'block in quick', на мой взгляд лишние.

        1.1 rdr и nat. Стоит 'to any', что подразумевает "ко всем", т.е. и к самому роутеру тоже. В принципе ничего страшного, но лучше заменить на 'to !(self)' - теоретически правильнее.

        1.2 В rdr стоит 'proto {tcp,udp}' теоретически верно, но практически udp использоваться не будет. По этому меняем на 'proto tcp'.

        2.

        pass in quick from $int_if:network to $int_if
        не мешалобы указать интерфейс, протоколы и порты. Например:

        pass in quick on $int_if proto tcp from $int_if:network to $int_if port ssh modulate state flags S/SA

        3.

         pass on $ext_if inet proto icmp all icmp-type 8 code 0
        'all' тут явно лишнее. Меняем, например на:

        pass on $ext_if inet proto icmp to $ext_if icmp-type 8 keep state

        4.

        pass out on $ext_if proto tcp from {$int_if:network} to any modulate state
        бессмыслено - через правила идут пакеты уже с транслироваными адресами.

        5.

        pass in quick on $ext_if proto tcp from any to $ext_if port 1723
        Но туннель всеравно не поднимается, я угадал?

        6.

        pass on lo0 proto tcp from any to any port 953
        тоже бессмыслено - в опциях в начале написано же 'set skip on lo0'.

        7. Добавляем что-нить а-ля(или зачем nat включен?):


        pass in quick on $int_if from $int_if:network to !(self) keep state

        Или что-то в это духе, это вам решать - я ж не знаю что нужно.


        По поводу повышения безопастности. Я бы добавил след.:


        set block-policy drop
        ...
        #Усложним жизнь придуркам - I
        rdr proto tcp from any os NMAP to (self) port 1:65535 tag scanning -> $ext_if port ssh
        ...
        block in quick from 240.0.0.0/4
        block in quick to 240.0.0.0/4
        antispoof log quick for $int_if
        antispoof log quick for $ext_if

        #Усложним жизнь придуркам - II
        pass in quick proto tcp tagged scanning flags S/SA modulate state
        table <ssh-bruteforce> persist
        block in quick proto tcp from <ssh-bruteforce> to $ext_if port ssh probability 75%
        pass in quick on $ext_if proto tcp to $ext_if port ssh flags S/SA modulate state \
             (max-src-conn-rate 4/180, overload <ssh-bruteforce> flush)





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру