The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
какНаст-тьfirewall(iptable)Kubuntu+firewall(разрешить по портам, !*! serzh_high, 15-Июн-09, 05:29  [смотреть все]
Всех приветсвую!
Вообщем описываю сложившуюся ситуацию:
Есть ЛВС(192,168,1,0),В данной ЛВС имеются ПЭВМ(хосты) для различных людей(экономисты,бухгалтеры,технический отKubuntu+firewall(разрешить только 1003 и 440 порты)дел и т,п,) Подключены все хосты через свич к sqlсерверу(работает он у меня в ЛВС на 1003 порту),
Значит задача в чём: отделить все хосты? кроме наших подобной ПЭВМ(на ней прозрачный мост+frewall),Для данного firewalla определить правила таким образом, чтобы открыть 1003 и 440 порты для не наших хостов,а остальные порты запретить для них
Графически схема примерна такова:
Хосты экономистов(192,168,1,10-1952,168,1,20) Хосты юристов(192,168,1,20-1952,168,1,30)
                  |                                                 |
                  |_________________________________________________|
                                          |
                                       ПЭВМ(Kubuntu8,04+firewall(разрешить только 1003 и 440 порты).прозрачный мосто между eth0 и eth1)
                                         |
                                       swich-----------SQLServer
                                         |
                               Наши Хосты(192,168,1,50-1952,168,1,70)
Соответсвенно для наших хостов ничего не изменится,но мы ограничим другие не наши хосты по доступу к sqlserverу
С организацией прозрачного моста я разобрался,с умею без проблем настройить(в предыдущих письмах я описывал как я это делал), А вот как прописать именно данные правила в iptable(firewall) не могу понять(может напишешь как пример)просто разобраться легче,когда в виде примеров видишь,а я их что-то в инете не могу найти на рус яз(анг/ не очень) именно в kubuntu данный iptable
Т,е, может подскажет кто что мне нужно написать в виде команд в терминале?Раньше не имел дело с подобным(можно сказать синтаксис не знаю+ ко всему по настройке),
Ситуация выше описана именно так как требуется, вот сижу теперь и мучаюсь как её решить,Подмогите, пожалуйста,
Очень был бы благодарен!
  • какНаст-тьfirewall(iptable)Kubuntu+firewall(разрешить по пор..., !*! angra, 06:32 , 15-Июн-09 (1)
  • какНаст-тьfirewall(iptable)Kubuntu+firewall(разрешить по пор..., !*! serzh_high, 09:24 , 15-Июн-09 (2)
    >Схема описана старательно, но несколько коряво. Например довольно сложно понять что скрывается

    Вообщем уточняю ситуацию: скажем так ограничить доступ к sqlсерверу хосты других кабинетов(192.168.1.10-192.168.1.20;192.168.1.21-192.168.1.30)(т,е, запретить передачу данных по всем портам,кроме 1003 и 440).
    А для наших хостов(192.168.1.50-192.168.1.70) осавить все порты для доступа к sqlсерверу.(т,е, как и сейчас-без изменений)
    sqlсервер имеет адрес 192.168.1.1
    маска везде 255.255.255.0
    НА ПЭВМ(где установлена ОС Kubuntu+firewall) создан прозрачный мост между сетевыми интерфесами eth0 и eth1 следующим способом:

    mm@mm-desktop:~$ sudo brctl addbr most
    mm@mm-desktop:~$ sudo brctl addif most eth0
    mm@mm-desktop:~$ sudo brctl addif most eth1
    mm@mm-desktop:~$ sudo ifconfig eth0 0.0.0.0
    mm@mm-desktop:~$ sudo ifconfig eth1 0.0.0.0
    mm@mm-desktop:~$ sudo ifconfig most up
    mm@mm-desktop:~$ sudo ifconfig eth0 promisc
    mm@mm-desktop:~$ sudo ifconfig eth1 promisc
    mm@mm-desktop:~$ sudo brctl show
    bridge name     bridge id               STP enabled     interfaces
    most            8000.0016760c9748       no              eth0
                                                            eth1
    mm@mm-desktop:~$

    >Для простоты покажите в виде источник(ip:port) - назначение (ip:port). Например 192.168.1.50-70
    >: любой - 192.168.1.1:1003

    уточняю
                 Источник(host's)             Назначение(sqlserver)
    (192.168.1.10-192.168.1.20):1003       - 192.168.1.1:1003
    (192.168.1.10-192.168.1.20):440        - 192.168.1.1:440
    (192.168.1.21-192.168.1.30):1003       - 192.168.1.1:1003
    (192.168.1.30-192.168.1.30):440        - 192.168.1.1:440
    (192.168.1.50-192.168.1.70):любой порт - 192.168.1.1:любой порт

    >К прочтению крайне рекомендуется http://www.opennet.me/docs/RUS/iptables/. По личному опыту достаточно потратить на это
    >меньше пары часов, дабы больше не иметь проблем с iptables в
    >будущем.

    На данный момент вывод результата команды sudo iptables -L выглядит сл. образом:

    mm@mm-desktop:~$ sudo 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
    mm@mm-desktop:~$

    Изучив немного http://www.opennet.me/docs/RUS/iptables/ я в затруднении всё же что мне именно необходиом написать в терминале, чтобы решить данную ситуацию?
    Может так:
    mm@mm-desktop:~$ sudo iptables -t filter -A INPUT -p tcp -m multiport --port 1003,440
    mm@mm-desktop:~$ sudo iptables -t filter -A DROP -p tcp -m multiport --port :440
    mm@mm-desktop:~$ sudo iptables -t filter -A DROP -p tcp -m multiport --port 441:1002
    mm@mm-desktop:~$ sudo iptables -t filter -A DROP -p tcp -m multiport --port 1002:
    или по другому?
    Уточняю схему(может не совсем понятно изначально объяснил и обрисовал её):
    grouphosts1(192.168.1.10-192.168.1.20)-------------------
                                                             |
    grouphosts1(192.168.1.21-192.168.1.30)----------------- swich1
                                                              |

                                          интерфейс eth1(открыты только 1003,440порты)
                                                              |
                                                           ПЭВМ(Kubuntu+firewall)
                                                              |
                                          интерфейс eth0(открыты только 1003,440порты)

                                                              |                                                          |
                                                           swich2
                                                            |   |
    grouphosts3(192.168.1.50-192.168.1.70)------------------    ------SQLсервер

    ПЭВМ(Kubuntu+firewall) имеет две сетевые кврты eth1 и eth0(соединены в виед прозрачного моста)


    • какНаст-тьfirewall(iptable)Kubuntu+firewall(разрешить по пор..., !*! angra, 10:09 , 15-Июн-09 (3)
      • какНаст-тьfirewall(iptable)Kubuntu+firewall(разрешить по пор..., !*! serzh_high, 11:24 , 15-Июн-09 (4)

        >iptables -A FORWARD -p tcp -s 192.168.1.10 --dport 1003 -j REJECT

        Т,е, Вы имеете ввиду, что для того чтобы мне через firewall пропускать пакеты для хостов,принадлежащих к group1,group2, только через порты 1003 и 440(а по остальным портам вообще запрет пакетов к и от данных хостов необходимо прописать следующее:
        Для хоста 192.168.1.10(принадлежащий к group1):
        mm@mm-desktop:~$sudo iptables -A FORWARD -p tcp -s 192.168.1.10 --dport :439-j REJECT
        mm@mm-desktop:~$sudo iptables -A FORWARD -p tcp -s 192.168.1.10 --dport 441:1002-j REJECT
        mm@mm-desktop:~$sudo iptables -A FORWARD -p tcp -s 192.168.1.10 --dport 1004:-j REJECT

        Для хоста 192.168.1.11:
        mm@mm-desktop:~$sudo iptables -A FORWARD -p tcp -s 192.168.1.11 --dport :439-j REJECT
        mm@mm-desktop:~$sudo iptables -A FORWARD -p tcp -s 192.168.1.11 --dport 441:1002-j REJECT
        mm@mm-desktop:~$sudo iptables -A FORWARD -p tcp -s 192.168.1.11 --dport 1004:-j REJECT
        И так аналогично для всех хостов group1 и group2 ?????? 8-0

        >iptables -t nat -A FORWARD -A PREROUTING  -p tcp --dport 1003

        раз я уже организовал мост между сетевыми картами,думаю данное перенапраление мне нет необходимости прописывать или есть?

        Назрел вопрос по-ходу:
        с tcp пакетами более менее понятно, а если мне есть необходимось запрет прохождения через firewall icmp и udp пакетов вообще?может следующими командами:

        mm@mm-desktop:~$sudo iptables -D FORWARD -p icmp
        mm@mm-desktop:~$sudo iptables -D FORWARD -p udp

        ???


        • какНаст-тьfirewall(iptable)Kubuntu+firewall(разрешить по пор..., !*! angra, 02:37 , 16-Июн-09 (5)
          • какНаст-тьfirewall(iptable)Kubuntu+firewall(разрешить по пор..., !*! serzh_high, 03:49 , 16-Июн-09 (6)
            Т.Е. из вышесказанногои сново изученной доки получается следущим образом

            отключение icmp пакетов между sqlсервером и хостами:
            sudo iptables -I FORWARD 1 -p icmp -d 192.168.1.1 -j REJECT
            sudo iptables -I FORWARD 2 -p icmp -d 192.168.1.10 -j REJECT  
            ...
            sudo iptables -I FORWARD 22 -p icmp -d 192.168.1.30 -j REJECT

            отключение udp пакетов между sqlсервером и хостами:
            sudo iptables -I FORWARD 22 -p udp -d 192.168.1.1 -j REJECT
            sudo iptables -I FORWARD 23 -p udp -d 192.168.1.10 -j REJECT  
            ...
            sudo iptables -I FORWARD 43 -p udp -d 192.168.1.30 -j REJECT

            ---------------------tcp пакеты от sqlсервера----------------------
            разрешение прохождения tcp пакетов от sqlсервера только по 440 порту через шлюз к хостам:
            sudo iptables -I FORWARD 44 -p FORWARD - tcp -s 192.168.1.1 --dport 440 -j ACCEPT
            sudo iptables -I FORWARD 45 -p FORWARD - tcp -s 192.168.1.1 --dport :439 -j REJECT
            sudo iptables -I FORWARD 46 -p FORWARD - tcp -s 192.168.1.1 --dport 441: -j REJECT

            ---------------------tcp пакеты от хостов----------------------
            разрешение прохождения tcp пакетов от ХОСТА 192.168.1.10(принадлежащий к group1) только по 440 порту через шлюз к sqlсерверу:
            sudo iptables -I FORWARD 47 -p FORWARD - tcp -s 192.168.1.10 --dport 440 -j ACCEPT
            sudo iptables -I FORWARD 48 -p FORWARD - tcp -s 192.168.1.10 --dport :439 -j REJECT
            sudo iptables -I FORWARD 49 -p FORWARD - tcp -s 192.168.1.10 --dport 441: -j REJECT
            И так для каждого хоста анологичным способом.
            Подскажите, верно я думаю или всё же ошибаюсь?




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

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