LinuxForum.Fans
Тема

Ограничить доступ из интернет до пары 2 ip susefirewal

Автор: im_niao 17 сообщений 3684 просмотров
#175339

Добрый день!
Помоги те пожалуйста. Мне нужно ограничить доступ к серверу из сети Интрнет до пары ip к примеру 1.1.1.1; 22.33.21.34, 132.124.5.23. Эта машина интернет шлюз работает на OpenSuse 11.1 на нем прозрачный squid и проброс портов из int в ext

#175396

А по мак адресу не хочешь? У меня где-то было записано как банить!

#175399

Открываем /etc/sysconfig/scripts/SuSefirewall2-custom и ищем секцию fw_custom_after_antispoofing() можно наверное и любую другую, там вроде и примеры есть, ну да ладно и приводим к такому вот виду. Банит по маку комп. Ну можно конечно и сквидом вбанить...

text

fw_custom_after_antispoofing() { 
    # could also be named "before_port_splitting()"
    # these rules will be loaded after the anti-spoofing and icmp handling
    # but before any IP protocol or TCP/UDP port allow/protection rules
    # will be set.
    # You can use this hook to allow/deny certain IP protocols or TCP/UDP
    # ports before the SuSEfirewall2 generated rules are hit.

[b] for target in LOG DROP; do for chain in input_ext input_dmz input_int forward_int forward_ext forward_dmz; do iptables -A $chain -m mac --mac-source вписываймакадресс -j $target

done done[/b]

#example: always filter backorifice/netbus trojan connect requests and log them. #for target in LOG DROP; do # for chain in input_ext input_dmz input_int forward_int forward_ext forward_dmz; do # iptables -A $chain -j $target -p tcp --dport 31337 # iptables -A $chain -j $target -p udp --dport 31337 # iptables -A $chain -j $target -p tcp --dport 12345:12346 # iptables -A $chain -j $target -p udp --dport 12345:12346 # done #done

true }

#175453

нет, ине к сожалению требуется имеено по IP. Но спасибо большое за пример может когда нить сгодиться smile

#175494

Запустите настройку SuSEfirewall2, загляните в раздел "Правила пользователя" ("Custom rules") и там укажите, с каких IP-адресов и к каким портам вашего сервера разрешается доступ.

#175544

allez, извените не могли бы вы по подробней? И мне нужно полность отказать в доступе всем кроме 2-х IP.

#175636

Поподробней? Да там вроде и запутаться-то негде. Ну да ладно, вот вам подробности с картинками. :)

1. Сначала убеждаемся, что никакие порты для всей внешней зоны у нас не открыты:


2. Необходимо также нажать кнопку "Дополнительно..." и убедиться, что не были открыты никакие дополнительные порты:


3. Далее переходим в раздел "Правила пользователя":


4. Нажимаем кнопку "Добавить" и вводим нужные параметры:


5. В итоге получаем новое правило в списке:


Вот, собственно, и все. Дальше вам останется только создать нужное количество правил, соответствующих вашим требованиям, да проверить, работают ли они как надо.

#175727

allez, спасибо но мне наверное этот способ не совем подходит, мне нужно что бы жестко только 3 IP адреса имели доступ к системе а все остальные шли в сад. К тому же эти у меня отрыты порты для ssh, webmin, и редирект на сервер MS RDP (3389)

#175730

Если вы действительно хотите, чтобы "только 3 IP адреса имели доступ к системе а все остальные шли в сад", то описанный мной способ - именно то, что вам нужно. Настройте в "Правилах пользователя" доступ к нужным портам сервера для этих трех IP-адресов и брандмауэр будет пропускать только их, отправляя остальных в тот самый сад. При условии, конечно, что в "Разрешенных службах" все будет чисто.

#175735

allez, спасибо большое, я вам очень признателен. Я попробую, а это будет нормально работать с редиректом портов? smile

#175739

Будет, конечно.

#175741

Огромное вам спасибо, allez, ! smile

#175791

allez, сделал все так как вы сказали, но он все равно пропускает со всех iP всеподключения. Все сервиси и порты я из внешней зоны почистил. Настройил жестко на один внешний IP проверил с дургих IP опрпускает подключение

#175795

Видимо, что-то где-то как-то не так. :)

Тогда покажите вывод следующих команд (реальные IP-адреса на всякий случай измените):

text
cat /etc/sysconfig/SuSEfirewall2 | grep -Ev "(^$|^#)"
iptables -L

Будем посмотреть, где собака порылась. Есть у меня подозрение, что у вас правила проброса портов слишком либеральны.

#175850

Вот пожалуйста посмотрите:
Он еще у меня как шлюз и прозрачная прокси на 80 порту по всем остальным портам доступ из интранет открыт

text
 cat /etc/sysconfig/SuSEfirewall2 | grep -Ev "(^$|^#)"
FW_DEV_EXT="any eth1"
FW_DEV_INT="eth0"
FW_DEV_DMZ=""
FW_ROUTE="yes"
FW_MASQUERADE="yes"
FW_MASQ_DEV="zone:ext zone:int"
FW_MASQ_NETS="0/0"
FW_NOMASQ_NETS=""
FW_PROTECT_FROM_INT="no"
FW_SERVICES_EXT_TCP="10000 3389"
FW_SERVICES_EXT_UDP=""
FW_SERVICES_EXT_IP=""
FW_SERVICES_EXT_RPC=""
FW_CONFIGURATIONS_EXT=""
FW_SERVICES_DMZ_TCP=""
FW_SERVICES_DMZ_UDP=""
FW_SERVICES_DMZ_IP=""
FW_SERVICES_DMZ_RPC=""
FW_CONFIGURATIONS_DMZ=""
FW_SERVICES_INT_TCP=""
FW_SERVICES_INT_UDP=""
FW_SERVICES_INT_IP=""
FW_SERVICES_INT_RPC=""
FW_CONFIGURATIONS_INT=""
FW_SERVICES_DROP_EXT=""
FW_SERVICES_DROP_DMZ=""
FW_SERVICES_DROP_INT=""
FW_SERVICES_REJECT_EXT=""
FW_SERVICES_REJECT_DMZ=""
FW_SERVICES_REJECT_INT=""
FW_SERVICES_ACCEPT_EXT="85.XX3.3X.180,tcp,22
85.XX3.3X.180,tcp,443
85.XX3.3X.180,tcp,80
85.XX3.3X.180,tcp,10000
85.XX3.3X.180,tcp,3389"
FW_SERVICES_ACCEPT_DMZ=""
FW_SERVICES_ACCEPT_INT=""
FW_SERVICES_ACCEPT_RELATED_EXT=""
FW_SERVICES_ACCEPT_RELATED_DMZ=""
FW_SERVICES_ACCEPT_RELATED_INT=""
FW_TRUSTED_NETS=""
FW_ALLOW_INCOMING_HIGHPORTS_TCP=""
FW_ALLOW_INCOMING_HIGHPORTS_UDP=""
FW_FORWARD=""
FW_FORWARD_REJECT=""
FW_FORWARD_DROP=""
FW_FORWARD_MASQ="10.1.1.254/24,85.1X8.XX1.XX6,tcp,0,,0.0.0.0
0/0,10.1.1.1,tcp,3389
2X3.XXX.191.XX6/32,10.1.1.1,tcp,80"
FW_REDIRECT="10.1.1.0/24,0/0,tcp,80,8080"
FW_LOG_DROP_CRIT="yes"
FW_LOG_DROP_ALL="no"
FW_LOG_ACCEPT_CRIT="yes"
FW_LOG_ACCEPT_ALL="no"
FW_LOG_LIMIT=""
FW_LOG=""
FW_KERNEL_SECURITY="yes"
FW_STOP_KEEP_ROUTING_STATE="no"
FW_ALLOW_PING_FW="yes"
FW_ALLOW_PING_DMZ="no"
FW_ALLOW_PING_EXT="no"
FW_ALLOW_FW_SOURCEQUENCH=""
FW_ALLOW_FW_BROADCAST_EXT="no"
FW_ALLOW_FW_BROADCAST_INT="no"
FW_ALLOW_FW_BROADCAST_DMZ="no"
FW_IGNORE_FW_BROADCAST_EXT="yes"
FW_IGNORE_FW_BROADCAST_INT="no"
FW_IGNORE_FW_BROADCAST_DMZ="no"
FW_ALLOW_CLASS_ROUTING=""
FW_CUSTOMRULES=""
FW_REJECT=""
FW_REJECT_INT="yes"
FW_HTB_TUNE_DEV=""
FW_IPv6=""
FW_IPv6_REJECT_OUTGOING=""
FW_IPSEC_TRUST="no"
FW_ZONES=""
FW_USE_IPTABLES_BATCH=""
FW_LOAD_MODULES="nf_conntrack_netbios_ns"
FW_FORWARD_ALWAYS_INOUT_DEV=""
FW_FORWARD_ALLOW_BRIDGING=""

и

text

 iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            state ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            state RELATED 
input_int  all  --  anywhere             anywhere            
input_ext  all  --  anywhere             anywhere            
input_ext  all  --  anywhere             anywhere            
LOG        all  --  anywhere             anywhere            limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-IN-ILL-TARGET ' 
DROP       all  --  anywhere             anywhere            

Chain FORWARD (policy DROP) target prot opt source destination TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU forward_int all -- anywhere anywhere forward_ext all -- anywhere anywhere LOG all -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-FWD-ILL-ROUTING ' DROP all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED LOG all -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-OUT-ERROR '

Chain forward_ext (1 references) target prot opt source destination ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp echo-reply ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp destination-unreachable ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp time-exceeded ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp parameter-problem ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp timestamp-reply ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp address-mask-reply ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp protocol-unreachable ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp redirect ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED LOG tcp -- 10.1.1.0/24 likom-st27-w27-r2-c1-135.sam.unitline.ru limit: avg 3/min burst 5 tcp dpt:0 state NEW LOG level warning tcp-options ip-options prefix `SFW2-FWDext-ACC-REVMASQ ' ACCEPT tcp -- 10.1.1.0/24 likom-st27-w27-r2-c1-135.sam.unitline.ru tcp dpt:0 ACCEPT tcp -- likom-st27-w27-r2-c1-135.sam.unitline.ru 10.1.1.0/24 state RELATED,ESTABLISHED LOG tcp -- anywhere server.admaster.local limit: avg 3/min burst 5 tcp dpt:ms-wbt-server state NEW LOG level warning tcp-options ip-options prefix `SFW2-FWDext-ACC-REVMASQ ' ACCEPT tcp -- anywhere server.admaster.local tcp dpt:ms-wbt-server ACCEPT tcp -- server.admaster.local anywhere state RELATED,ESTABLISHED LOG tcp -- mail.admaster.ru server.admaster.local limit: avg 3/min burst 5 tcp dpt:http state NEW LOG level warning tcp-options ip-options prefix `SFW2-FWDext-ACC-REVMASQ ' ACCEPT tcp -- mail.admaster.ru server.admaster.local tcp dpt:http ACCEPT tcp -- server.admaster.local mail.admaster.ru state RELATED,ESTABLISHED LOG all -- anywhere anywhere limit: avg 3/min burst 5 PKTTYPE = multicast LOG level warning tcp-options ip-options prefix `SFW2-FWDext-DROP-DEFLT ' DROP all -- anywhere anywhere PKTTYPE = multicast LOG tcp -- anywhere anywhere limit: avg 3/min burst 5 tcp flags:FIN,SYN,RST,ACK/SYN LOG level warning tcp-options ip-options prefix `SFW2-FWDext-DROP-DEFLT ' LOG icmp -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-FWDext-DROP-DEFLT ' LOG udp -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-FWDext-DROP-DEFLT ' LOG all -- anywhere anywhere limit: avg 3/min burst 5 state INVALID LOG level warning tcp-options ip-options prefix `SFW2-FWDext-DROP-DEFLT-INV ' DROP all -- anywhere anywhere

Chain forward_int (1 references) target prot opt source destination ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp echo-reply ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp destination-unreachable ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp time-exceeded ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp parameter-problem ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp timestamp-reply ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp address-mask-reply ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp protocol-unreachable ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED icmp redirect ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED LOG tcp -- 10.1.1.0/24 likom-st27-w27-r2-c1-135.sam.unitline.ru limit: avg 3/min burst 5 tcp dpt:0 state NEW LOG level warning tcp-options ip-options prefix `SFW2-FWDint-ACC-REVMASQ ' ACCEPT tcp -- 10.1.1.0/24 likom-st27-w27-r2-c1-135.sam.unitline.ru tcp dpt:0 ACCEPT tcp -- likom-st27-w27-r2-c1-135.sam.unitline.ru 10.1.1.0/24 state RELATED,ESTABLISHED LOG tcp -- anywhere server.admaster.local limit: avg 3/min burst 5 tcp dpt:ms-wbt-server state NEW LOG level warning tcp-options ip-options prefix `SFW2-FWDint-ACC-REVMASQ ' ACCEPT tcp -- anywhere server.admaster.local tcp dpt:ms-wbt-server ACCEPT tcp -- server.admaster.local anywhere state RELATED,ESTABLISHED LOG tcp -- mail.admaster.ru server.admaster.local limit: avg 3/min burst 5 tcp dpt:http state NEW LOG level warning tcp-options ip-options prefix `SFW2-FWDint-ACC-REVMASQ ' ACCEPT tcp -- mail.admaster.ru server.admaster.local tcp dpt:http ACCEPT tcp -- server.admaster.local mail.admaster.ru state RELATED,ESTABLISHED LOG all -- anywhere anywhere limit: avg 3/min burst 5 PKTTYPE = multicast LOG level warning tcp-options ip-options prefix `SFW2-FWDint-DROP-DEFLT ' DROP all -- anywhere anywhere PKTTYPE = multicast LOG tcp -- anywhere anywhere limit: avg 3/min burst 5 tcp flags:FIN,SYN,RST,ACK/SYN LOG level warning tcp-options ip-options prefix `SFW2-FWDint-DROP-DEFLT ' LOG icmp -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-FWDint-DROP-DEFLT ' LOG udp -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-FWDint-DROP-DEFLT ' LOG all -- anywhere anywhere limit: avg 3/min burst 5 state INVALID LOG level warning tcp-options ip-options prefix `SFW2-FWDint-DROP-DEFLT-INV ' reject_func all -- anywhere anywhere

Chain input_ext (2 references) target prot opt source destination DROP all -- anywhere anywhere PKTTYPE = broadcast ACCEPT icmp -- anywhere anywhere icmp source-quench ACCEPT icmp -- anywhere anywhere icmp echo-request LOG tcp -- anywhere anywhere limit: avg 3/min burst 5 tcp dpt:ndmp flags:FIN,SYN,RST,ACK/SYN LOG level warning tcp-options ip-options prefix `SFW2-INext-ACC-TCP ' ACCEPT tcp -- anywhere anywhere tcp dpt:ndmp LOG tcp -- anywhere anywhere limit: avg 3/min burst 5 tcp dpt:ms-wbt-server flags:FIN,SYN,RST,ACK/SYN LOG level warning tcp-options ip-options prefix `SFW2-INext-ACC-TCP ' ACCEPT tcp -- anywhere anywhere tcp dpt:ms-wbt-server LOG tcp -- dynamicip-85.XX3.3X.180.pppoe.samara.ertelecom.ru anywhere tcp dpt:ssh state NEW limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-INext-ACC ' ACCEPT tcp -- dynamicip-85.XX3.3X.180.pppoe.samara.ertelecom.ru anywhere tcp dpt:ssh LOG tcp -- dynamicip-85.XX3.3X.180.pppoe.samara.ertelecom.ru anywhere tcp dpt:https state NEW limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-INext-ACC ' ACCEPT tcp -- dynamicip-85.XX3.3X.180.pppoe.samara.ertelecom.ru anywhere tcp dpt:https LOG tcp -- dynamicip-85.XX3.3X.180.pppoe.samara.ertelecom.ru anywhere tcp dpt:http state NEW limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-INext-ACC ' ACCEPT tcp -- dynamicip-85.XX3.3X.180.pppoe.samara.ertelecom.ru anywhere tcp dpt:http LOG tcp -- dynamicip-85.XX3.3X.180.pppoe.samara.ertelecom.ru anywhere tcp dpt:ndmp state NEW limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-INext-ACC ' ACCEPT tcp -- dynamicip-85.XX3.3X.180.pppoe.samara.ertelecom.ru anywhere tcp dpt:ndmp LOG tcp -- dynamicip-85.XX3.3X.180.pppoe.samara.ertelecom.ru anywhere tcp dpt:ms-wbt-server state NEW limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-INext-ACC ' ACCEPT tcp -- dynamicip-85.XX3.3X.180.pppoe.samara.ertelecom.ru anywhere tcp dpt:ms-wbt-server LOG all -- anywhere anywhere limit: avg 3/min burst 5 mark match 0x1 state NEW LOG level warning tcp-options ip-options prefix `SFW2-INext-ACC-REDIR ' ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED mark match 0x1 LOG all -- anywhere anywhere limit: avg 3/min burst 5 PKTTYPE = multicast LOG level warning tcp-options ip-options prefix `SFW2-INext-DROP-DEFLT ' DROP all -- anywhere anywhere PKTTYPE = multicast LOG tcp -- anywhere anywhere limit: avg 3/min burst 5 tcp flags:FIN,SYN,RST,ACK/SYN LOG level warning tcp-options ip-options prefix `SFW2-INext-DROP-DEFLT ' LOG icmp -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-INext-DROP-DEFLT ' LOG udp -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix `SFW2-INext-DROP-DEFLT ' LOG all -- anywhere anywhere limit: avg 3/min burst 5 state INVALID LOG level warning tcp-options ip-options prefix `SFW2-INext-DROP-DEFLT-INV ' DROP all -- anywhere anywhere

Chain input_int (1 references) target prot opt source destination ACCEPT all -- anywhere anywhere

Chain reject_func (1 references) target prot opt source destination REJECT tcp -- anywhere anywhere reject-with tcp-reset REJECT udp -- anywhere anywhere reject-with icmp-port-unreachable REJECT all -- anywhere anywhere reject-with icmp-proto-unreachable

#175865

Ну вот одна собака и отрылась. :)

FW_SERVICES_EXT_TCP="10000 3389"

Повторюсь: необходимо было также нажать кнопку "Дополнительно..." и убедиться, что не были открыты никакие дополнительные порты. У вас же порты 10000 и 3389 открыты всем желающим.

Далее, как я и подозревал, отдельные правила проброса портов оказались не менее "добрыми":

FW_FORWARD_MASQ="10.1.1.254/24,85.1X8.XX1.XX6,tcp,0,,0.0.0.0
0/0,10.1.1.1,tcp,3389
2X3.XXX.191.XX6/32,10.1.1.1,tcp,80"

Выделенное мной правило перенаправляет запросы на подключение к порту 3389 от всех (0/0) на порт 3389 сервера с адресом 10.1.1.1. Правда, это правило должно отрабатывать только в том случае, если запрос на соединение будет разрешен, но я бы все же и его подправил. Как говорится, "во избежание". :)

#175870

allez, Спсибо все работает ну кроме 3389. Ана счет портов странно, потому, что я помню что я их удалил, наверное просто забыл сохранить конфиг smile. Теперь осталась проблема с редиректом.

Войдите или зарегистрируйтесь, чтобы ответить.