Jump to content

Фильтрация подключений IPsec


Recommended Posts

Для PPTP-сервера на кинетике (TCP/1723) можно штатным МСЭ ограничить долбежку китайских ботов, добавив вначале нужные IP с allow, а потом добавив deny all. Для IPsec (UDP/500) этого сделать не получается. Есть ли варианты это сделать без opkg/iptables?

Link to comment
Share on other sites

7 часов назад, KorDen сказал:

Для PPTP-сервера на кинетике (TCP/1723) можно штатным МСЭ ограничить долбежку китайских ботов, добавив вначале нужные IP с allow, а потом добавив deny all. Для IPsec (UDP/500) этого сделать не получается. Есть ли варианты это сделать без opkg/iptables?

Попробуем это сделать так, как на pptp-сервере.

Link to comment
Share on other sites

  • 4 weeks later...

Хм.  v2.08(AAUX.3)A7. В конфиге:

permit udp 31.x.x.x 255.255.255.255 0.0.0.0 0.0.0.0 port eq 500
deny udp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 port eq 500

Единственный туннель сейчас неактивен (удаленный роутер оффлайн). В логе мелькнуло

Sep 17 18:31:56 ipsec 08[IKE] no IKE config found for 31.y.y.y...71.6.135.131, sending NO_PROPOSAL_CHOSEN

Как?!

Link to comment
Share on other sites

16 часов назад, KorDen сказал:

Хм.  v2.08(AAUX.3)A7. В конфиге:

permit udp 31.x.x.x 255.255.255.255 0.0.0.0 0.0.0.0 port eq 500
deny udp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 port eq 500

Единственный туннель сейчас неактивен (удаленный роутер оффлайн). В логе мелькнуло

Sep 17 18:31:56 ipsec 08[IKE] no IKE config found for 31.y.y.y...71.6.135.131, sending NO_PROPOSAL_CHOSEN

Как?!

Забыли про 4500 порт? Он используется для NAT-T, и его тоже обязательно блочить, если уж на то пошло.

Link to comment
Share on other sites

  • 2 weeks later...

В связи с тестированием IPSec (пока используется OpenVPN) возник вопрос - можно ли штатными средствами MCЭ ограничивать доступ в туннеле?

Собственно, необходимо закрывать HTTP/HTTPS доступ к некоторым узлам подключенных по IPSec сегментов.

Link to comment
Share on other sites

55 минут назад, alekssmak сказал:

В связи с тестированием IPSec (пока используется OpenVPN) возник вопрос - можно ли штатными средствами MCЭ ограничивать доступ в туннеле?

Собственно, необходимо закрывать HTTP/HTTPS доступ к некоторым узлам подключенных по IPSec сегментов.

Нет, но это можно сделать.

Link to comment
Share on other sites

20 минут назад, Le ecureuil сказал:

Нет, но это можно сделать.

Это какой-то уже реализованный функционал (ткните, если не сложно), или необходима разработка?

Link to comment
Share on other sites

3 минуты назад, alekssmak сказал:

Это какой-то уже реализованный функционал (ткните, если не сложно), или необходима разработка?

Если у меня дойдут руки, то к следующей версии сделаю.

  • Thanks 1
Link to comment
Share on other sites

4 минуты назад, Le ecureuil сказал:

Если у меня дойдут руки, то к следующей версии сделаю.

Было бы здорово, спасибо. Я готов и дольше ждать.

Но тут еще одна хотелка всплыла (пересмотрел конфиг OpenVPN + iptables) - запрет доступа по

137-139/TCP,UDP (NETBIOS)
445/TCP,UDP (MICROSOFT-DS)

В идеале бы, конечно, настраиваемый список портов для блокировки узла.

Link to comment
Share on other sites

34 минуты назад, alekssmak сказал:

Было бы здорово, спасибо. Я готов и дольше ждать.

Но тут еще одна хотелка всплыла (пересмотрел конфиг OpenVPN + iptables) - запрет доступа по


137-139/TCP,UDP (NETBIOS)
445/TCP,UDP (MICROSOFT-DS)

В идеале бы, конечно, настраиваемый список портов для блокировки узла.

Будет реализована работа правил ACL для IPsec, а что вы там будете фильтровать конкретно в этих правилах - это уже ваши дела.

Link to comment
Share on other sites

1 час назад, Le ecureuil сказал:

Будет реализована работа правил ACL для IPsec, а что вы там будете фильтровать конкретно в этих правилах - это уже ваши дела.

Замечательно, ждемс...

  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...
В 27.09.2016 в 18:22, Le ecureuil сказал:

Будет реализована работа правил ACL для IPsec

Сорри за настойчивость, а можно сориентировать как-то по срокам, когда это может быть?

p.s. просто готовим пачку роутеров на объекты, и пока по старому (OpenVPN + iptables)

Link to comment
Share on other sites

1 минуту назад, alekssmak сказал:

Сорри за настойчивость, а можно сориентировать как-то по срокам, когда это может быть?

p.s. просто готовим пачку роутеров на объекты, и пока по старому (OpenVPN + iptables)

Спасибо за напоминание, возможно сделаем уже на этой неделе.

Link to comment
Share on other sites

12 часа назад, alekssmak сказал:

Сорри за настойчивость, а можно сориентировать как-то по срокам, когда это может быть?

p.s. просто готовим пачку роутеров на объекты, и пока по старому (OpenVPN + iptables)

Реализовано, появится в ближайшем релизе.

  • Thanks 1
Link to comment
Share on other sites

В 11.11.2016 в 10:40, Le ecureuil сказал:

Реализовано

Подскажите, что-то не получается:

Keenetic 4G III  v2.08(AAUR.0)A11

Туннель до Kerio Control:

crypto ike key TEST ns3 vQtaxm8bcfBL dn kcontrol.domen.by
crypto ike proposal TEST
    encryption aes-cbc-128
    encryption 3des
    dh-group 15
    dh-group 14
    integrity sha1
    integrity md5
!
crypto ike policy TEST
    proposal TEST
    lifetime 3600
    mode ikev1
    negotiation-mode main
!
crypto ipsec transform-set TEST
    cypher esp-3des
    cypher esp-aes-128
    hmac esp-sha1-hmac
    lifetime 3600
!
crypto ipsec profile TEST
    dpd-interval 30
    identity-local dn zip.domen.by
    match-identity-remote dn kcontrol.domen.by
    authentication-local pre-share
    mode tunnel
    policy TEST
!
crypto map TEST
    set-peer xx.xx.xx.xx
    set-profile TEST
    set-transform TEST
    match-address _WEBADMIN_IPSEC_TEST
    set-tcpmss pmtu
    connect
    nail-up
    virtual-ip no enable
    enable

access-list:

access-list _WEBADMIN_IPSEC_TEST
    permit ip 192.168.1.0 255.255.255.0 192.168.64.0 255.255.240.0
    deny ip 192.168.64.0 255.255.240.0 192.168.1.63 255.255.255.255

добавил в него второй строкой запрет доступа на IP 192.168.1.63

Первая, по мануалу, используется для фазы 2 IPSec.

Доступ из 192.168.64.0/20 на 192.168.1.63 не блокируется.

Или необходимо еще один access-list?

Link to comment
Share on other sites

5 минут назад, alekssmak сказал:

Подскажите, что-то не получается:

Keenetic 4G III  v2.08(AAUR.0)A11

Туннель до Kerio Control:


crypto ike key TEST ns3 vQtaxm8bcfBL dn kcontrol.domen.by
crypto ike proposal TEST
    encryption aes-cbc-128
    encryption 3des
    dh-group 15
    dh-group 14
    integrity sha1
    integrity md5
!
crypto ike policy TEST
    proposal TEST
    lifetime 3600
    mode ikev1
    negotiation-mode main
!
crypto ipsec transform-set TEST
    cypher esp-3des
    cypher esp-aes-128
    hmac esp-sha1-hmac
    lifetime 3600
!
crypto ipsec profile TEST
    dpd-interval 30
    identity-local dn zip.domen.by
    match-identity-remote dn kcontrol.domen.by
    authentication-local pre-share
    mode tunnel
    policy TEST
!
crypto map TEST
    set-peer xx.xx.xx.xx
    set-profile TEST
    set-transform TEST
    match-address _WEBADMIN_IPSEC_TEST
    set-tcpmss pmtu
    connect
    nail-up
    virtual-ip no enable
    enable

access-list:


access-list _WEBADMIN_IPSEC_TEST
    permit ip 192.168.1.0 255.255.255.0 192.168.64.0 255.255.240.0
    deny ip 192.168.64.0 255.255.240.0 192.168.1.63 255.255.255.255

добавил в него второй строкой запрет доступа на IP 192.168.1.63

Первая, по мануалу, используется для фазы 2 IPSec.

Доступ из 192.168.64.0/20 на 192.168.1.63 не блокируется.

Или необходимо еще один access-list?

Да, нужен еще один. Этот access-list используется только для настройки, и из него читается только самое первое правило.

Link to comment
Share on other sites

Уф, не получается что-то.

2 часа назад, Le ecureuil сказал:

Да, нужен еще один. Этот access-list используется только для настройки, и из него читается только самое первое правило

Добавляется он командой crypto map match-address ?

Добавил access-list

access-list LIST_TEST_D
    deny ip 192.168.64.0 255.255.240.0 192.168.1.63 255.255.255.255

при добавлении через CLI

(config)> crypto map TEST
(config-crypto-map)> match-address LIST_TEST_D
IpSec::Manager: Crypto map "TEST" match-address set to "LIST_TEST_D".

он благополучно "затирает" дефолтный _WEBADMIN_IPSEC_TEST

crypto map TEST
    set-peer xx.xx.xx.xx
    set-profile TEST
    set-transform TEST
    match-address LIST_TEST_D
    set-tcpmss pmtu
    connect
    nail-up
    virtual-ip no enable
    enable

Туннель после перезагрузки соответственно не стартует.

Link to comment
Share on other sites

1 час назад, alekssmak сказал:

Уф, не получается что-то.

Добавляется он командой crypto map match-address ?

Добавил access-list


access-list LIST_TEST_D
    deny ip 192.168.64.0 255.255.240.0 192.168.1.63 255.255.255.255

при добавлении через CLI


(config)> crypto map TEST
(config-crypto-map)> match-address LIST_TEST_D
IpSec::Manager: Crypto map "TEST" match-address set to "LIST_TEST_D".

он благополучно "затирает" дефолтный _WEBADMIN_IPSEC_TEST


crypto map TEST
    set-peer xx.xx.xx.xx
    set-profile TEST
    set-transform TEST
    match-address LIST_TEST_D
    set-tcpmss pmtu
    connect
    nail-up
    virtual-ip no enable
    enable

Туннель после перезагрузки соответственно не стартует.

Он никак не добавляется.

crypto map match-address, если вы прочтете в мануале по CLI, нужен для задания сетей в IPsec SA Traffic Selectors, и больше ни для чего, ни для каких фильтраций он не используется!

А для фильтрации нужно просто создать access-list, заполнить его, и все.

Link to comment
Share on other sites

19 минут назад, Le ecureuil сказал:

А для фильтрации нужно просто создать access-list, заполнить его, и все

Вот access-list из конфига:

ntp server 3.pool.ntp.org
access-list LIST_TEST_D
    deny ip 192.168.64.0 255.255.240.0 192.168.1.63 255.255.255.255
! 
access-list _WEBADMIN_IPSEC_TEST
    permit ip 192.168.1.0 255.255.255.0 192.168.64.0 255.255.240.0
! 
isolate-private

но доступ к узлу 192.168.1.63 из подсети 192.168.64.0/20 есть.

сам полный startup ниже:

Скрытый текст

! $$$ Model: ZyXEL Keenetic 4G III
! $$$ Version: 2.06.1
! $$$ Agent: http/ci
! $$$ Last change: Mon, 14 Nov 2016 13:09:25 GMT
! $$$ Md5 checksum: b0c165ff83f8ae7ff81f4e6119c91b9d

system
    set net.ipv4.ip_forward 1
    set net.ipv4.tcp_fin_timeout 30
    set net.ipv4.tcp_keepalive_time 120
    set net.ipv4.neigh.default.gc_thresh1 256
    set net.ipv4.neigh.default.gc_thresh2 1024
    set net.ipv4.neigh.default.gc_thresh3 2048
    set net.ipv6.neigh.default.gc_thresh1 256
    set net.ipv6.neigh.default.gc_thresh2 1024
    set net.ipv6.neigh.default.gc_thresh3 2048
    set net.netfilter.nf_conntrack_tcp_timeout_established 1200
    set net.netfilter.nf_conntrack_max 8192
    set vm.swappiness 60
    set vm.overcommit_memory 0
    set vm.vfs_cache_pressure 1000
    set net.ipv6.conf.all.forwarding 1
    clock timezone Europe/Moscow
    clock date 14 Nov 2016 16:09:28
    domainname WORKGROUP
    hostname Keenetic_4G
!
ntp server 0.pool.ntp.org
ntp server 1.pool.ntp.org
ntp server 2.pool.ntp.org
ntp server 3.pool.ntp.org
access-list LIST_TEST_D
    deny ip 192.168.64.0 255.255.240.0 192.168.1.63 255.255.255.255
!
access-list _WEBADMIN_IPSEC_TEST
    permit ip 192.168.1.0 255.255.255.0 192.168.64.0 255.255.240.0
!
isolate-private
user admin
    tag cli
    tag http
!
dyndns profile _WEBADMIN
!
interface FastEthernet0
    up
!
interface FastEthernet0/0
    rename 0
    switchport mode access
    switchport access vlan 2
    up
!
interface FastEthernet0/1
    rename 1
    switchport mode access
    switchport access vlan 1
    up
!
interface FastEthernet0/2
    rename 2
    switchport mode access
    switchport access vlan 1
    up
!
interface FastEthernet0/3
    rename 3
    switchport mode access
    switchport access vlan 1
    up
!
interface FastEthernet0/4
    rename 4
    switchport mode access
    switchport access vlan 1
    up
!
interface FastEthernet0/Vlan1
    description "Home VLAN"
    security-level private
    ip dhcp client dns-routes
    ip dhcp client name-servers
    up
!
interface FastEthernet0/Vlan2
    rename ISP
    description "Broadband connection"
    mac address factory wan
    security-level public
    ip address dhcp
    ip global 700
    ip dhcp client dns-routes
    ip dhcp client name-servers
    igmp upstream
    ipv6 address auto
    ipv6 prefix auto
    ipv6 name-servers auto
    up
!
interface FastEthernet0/Vlan3
    description "Guest VLAN"
    security-level private
    ip dhcp client dns-routes
    ip dhcp client name-servers
    up
!
interface WifiMaster0
    country-code RU
    compatibility BGN
    channel width 40-below
    power 100
    up
!
interface WifiMaster0/AccessPoint0
    rename AccessPoint
    description "Wi-Fi access point"
    mac access-list type none
    security-level private
    wps
    wps no auto-self-pin
    authentication wpa-psk ns3 MrmNGTD8gjmXhJlsO4Bpm1ni
    encryption enable
    encryption wpa2
    ip dhcp client dns-routes
    ip dhcp client name-servers
    ssid Keenetic-1736
    wmm
    down
!
interface WifiMaster0/AccessPoint1
    rename GuestWiFi
    description "Guest access point"
    mac access-list type none
    security-level private
    ip dhcp client dns-routes
    ip dhcp client name-servers
    ssid Guest
    wmm
    down
!
interface WifiMaster0/AccessPoint2
    mac access-list type none
    security-level private
    ip dhcp client dns-routes
    ip dhcp client name-servers
    down
!
interface WifiMaster0/AccessPoint3
    mac access-list type none
    security-level private
    ip dhcp client dns-routes
    ip dhcp client name-servers
    down
!
interface WifiMaster0/WifiStation0
    security-level public
    encryption disable
    ip address dhcp
    ip dhcp client dns-routes
    ip dhcp client name-servers
    down
!
interface UsbDsl0
    description "Keenetic Plus DSL"
    security-level public
    ip dhcp client dns-routes
    ip dhcp client name-servers
    operating-mode adsl2+ annex a
    vdsl profile 8a
    vdsl profile 8b
    vdsl profile 8c
    vdsl profile 8d
    vdsl profile 12a
    vdsl profile 12b
    vdsl profile 17a
    vdsl profile 30a
    vdsl psdmask A_R_POTS_D-32_EU-32
    up
!
interface Bridge0
    rename Home
    description "Home network"
    inherit FastEthernet0/Vlan1
    include AccessPoint
    security-level private
    ip address 192.168.1.1 255.255.255.0
    ip dhcp client dns-routes
    ip dhcp client name-servers
    igmp downstream
    up
!
interface Bridge1
    rename Guest
    description "Guest network"
    inherit FastEthernet0/Vlan3
    include GuestWiFi
    security-level private
    ip address 10.1.30.1 255.255.255.0
    ip dhcp client dns-routes
    ip dhcp client name-servers
    up
!
ip dhcp pool _WEBADMIN
    range 192.168.1.33 192.168.1.72
    bind Home
    enable
!
ip dhcp pool _WEBADMIN_GUEST_AP
    range 10.1.30.33 10.1.30.52
    bind Guest
    enable
!
ip http security-level private
ip http bfd 5 15 3
ip nat Home
ip nat Guest
ip nat vpn
ip telnet
    security-level private
    bfd 5 15 3
!
ipv6 subnet Default
    bind Home
    number 0
    mode slaac
!
ipv6 firewall
ppe software
ppe hardware
upnp lan Home
crypto ike key TEST ns3 vQtaxm8bcfBL dn kcontrol.domen.by
crypto ike proposal TEST
    encryption 3des
    encryption aes-cbc-128
    dh-group 14
    dh-group 15
    integrity md5
    integrity sha1
!
crypto ike policy TEST
    proposal TEST
    lifetime 3600
    mode ikev1
    negotiation-mode main
!
crypto ipsec transform-set TEST
    cypher esp-3des
    cypher esp-aes-128
    hmac esp-sha1-hmac
    lifetime 3600
!
crypto ipsec profile TEST
    dpd-interval 30
    identity-local dn zip.domen.by
    match-identity-remote dn kcontrol.domen.by
    authentication-local pre-share
    mode tunnel
    policy TEST
!
crypto map TEST
    set-peer xx.xx.xx.xx
    set-profile TEST
    set-transform TEST
    match-address _WEBADMIN_IPSEC_TEST
    set-tcpmss pmtu
    connect
    nail-up
    virtual-ip no enable
    enable
!
vpn-server
    multi-login
    lcp echo 30 3
!
service dhcp
service dns-proxy
service igmp-proxy
service http
service telnet
service ntp-client
service upnp
service ipsec
!

 

Link to comment
Share on other sites

В 11/14/2016 в 16:24, alekssmak сказал:

Вот access-list из конфига:


ntp server 3.pool.ntp.org
access-list LIST_TEST_D
    deny ip 192.168.64.0 255.255.240.0 192.168.1.63 255.255.255.255
! 
access-list _WEBADMIN_IPSEC_TEST
    permit ip 192.168.1.0 255.255.255.0 192.168.64.0 255.255.240.0
! 
isolate-private

но доступ к узлу 192.168.1.63 из подсети 192.168.64.0/20 есть.

сам полный startup ниже:

  Показать содержимое

 

Попробуйте привязать access-list к интерфейсу, скорее всего в этом причина неработоспособности.

В вашем случае это будут такие команды:

> interface ISP ip access-group LIST_TEST_D in

или же

> interface Home ip access-group LIST_TEST_D out

То есть сперва определяете интерфейс, через который придет трафик (ISP или Home), затем направление трафика (in или out), и затем сообразно этому задаете источник и назначение.

Должно работать.

  • Thanks 1
Link to comment
Share on other sites

36 минут назад, Le ecureuil сказал:

опробуйте привязать access-list к интерфейсу, скорее всего в этом причина неработоспособности.

В вашем случае это будут такие команды:

> interface ISP ip access-group LIST_TEST_D in

Большое спасибо, все получилось. Не хватало привязки к интерфейсу ISP.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...