frank99
Goto Top

Cisco VPN IPSEC nur bestimmte feste Provider IP zulassen

Hallo Forum Gemeinde,

ich habe es endlich geschafft eine VPN Verbindung aufzubauen.

Ich will nun aber die VPN Verbindung nur von einer bestimmten IP zulassen (Provider IP, nicht lokale IP).

Wie kann ich dies an meinem Router verwirklichen?

Content-Key: 237744

Url: https://administrator.de/contentid/237744

Printed on: April 24, 2024 at 20:04 o'clock

Member: brammer
brammer May 11, 2014 at 09:57:04 (UTC)
Goto Top
Hallo,

Wenn es ein IOS VPN Router ist, mit dem Befehl

Set peer <IP address>

http://www.cisco.com/c/en/us/td/docs/ios/12_2/security/command/referenc ...

Brammer
Member: aqui
aqui May 11, 2014 updated at 13:49:28 (UTC)
Goto Top
Oder mit einer simplen Inbound Access Liste am WAN Port ! Ein einfacher Klassiker....
Die Frage ist so oder so wie du den WAN Port definiert hast. Leider hast du es ja nicht für nötig befunden hier mal einen Konfig Auszug zu posten face-sad

Wenn du wie es üblich ist ein Firewall IPsec Router Image verwendest dann hast du ja die Firewall und CBAC konfiguriert.
Damit stellt sich deine Frage dann auch gar nicht, denn in die CBAC Firewall kannst du ja dann einzig nur diese Ausnahme der IP eintragen in die Inbound ACL am WAN Port.
Hier kannst du sehen wie man das macht:
Cisco 880, 890 und ISR Router Konfiguration mit xDSL, Kabel oder FTTH Anschluss plus VPN und IP-TV

Wo ist also dein Problem ?
Member: frank99
frank99 May 16, 2014 at 15:01:47 (UTC)
Goto Top
-> "Oder mit einer simplen Inbound Access Liste am WAN Port ! Ein einfacher Klassiker...." das verstehe ich nicht! ich kann doch den WAN-Port auf eine IP begrenzen


hier ist meine aktuelle config:

version 15.0
no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec localtime show-timezone
service timestamps log datetime msec localtime show-timezone
service password-encryption
service sequence-numbers
!
hostname test-router
!
boot-start-marker
boot-end-marker
!
security authentication failure rate 3 log
security passwords min-length 6
logging buffered 51200
logging console critical
enable secret 5 xxxxxxxxxxxxxxxxx
!
aaa new-model
!
!
aaa authentication login default local
aaa authentication login vpn_xauth_ml_1 local
aaa authentication login sslvpn local
aaa authorization network vpn_group_ml_1 local
!
!
!
!
!
aaa session-id common
memory-size iomem 15
clock timezone PCTime 1
clock summer-time PCTime date Mar 30 2003 2:00 Oct 26 2003 3:00
!

no ip source-route
!
!
ip dhcp excluded-address 192.168.17.1 192.168.17.49
!
ip dhcp pool gastLAN
import all
network 172.16.17.0 255.255.255.0
default-router 172.16.17.1
!
ip dhcp pool intLAN
import all
network 192.168.17.0 255.255.255.0
default-router 192.168.17.1
!
!
ip cef
no ip bootp server
no ip domain lookup
ip domain name test.local
no ipv6 cef
!
!
license udi pid CISCO881-K9 sn FCZ14529130
!
!
username test privilege 15 secret 5 xxxxxxxxxxxxxxxxxxxxxxxxx
!
!
ip tcp synwait-time 10
ip ssh time-out 60
ip ssh authentication-retries 2
!
!
crypto isakmp policy 1
encr 3des
authentication pre-share
group 2
!
crypto isakmp policy 2
encr 3des
hash md5
authentication pre-share
group 2
!
crypto isakmp client configuration group vpntest
key cisco123
pool VPN-Pool
acl 120
max-users 5
!
crypto isakmp client configuration group vpnextern
key cisco123
pool VPN-Pool
acl 120
max-users 1
crypto isakmp profile vpn-ike-profile-1
match identity group vpntest
match identity group vpnextern
client authentication list vpn_xauth_ml_1
isakmp authorization list vpn_group_ml_1
client configuration address respond
virtual-template 2
!
!
crypto ipsec transform-set encrypt-method-1 esp-3des esp-sha-hmac
!
crypto ipsec profile VPN-Profile-1
set transform-set encrypt-method-1
!
!
!
!
!
!
interface FastEthernet0
description LAN intern Port
!
interface FastEthernet1
description LAN intern Port
!
interface FastEthernet2
description LAN intern Port
!
interface FastEthernet3
description LAN Gast Port
switchport access vlan 2
!
interface FastEthernet4
description WAN-Port
no ip address
no ip redirects
no ip unreachables
duplex auto
speed auto
pppoe-client dial-pool-number 1
!
interface Virtual-Template1 type tunnel
description VPN-complete
ip unnumbered Vlan1
ip access-group 122 in
tunnel mode ipsec ipv4
tunnel protection ipsec profile VPN-Profile-1
!
interface Virtual-Template2 type tunnel
ip unnumbered Vlan1
tunnel mode ipsec ipv4
tunnel protection ipsec profile VPN-Profile-1
!
interface Vlan1
description LAN-intern
ip address 192.168.17.1 255.255.255.0
ip access-group intLAN in
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat inside
ip virtual-reassembly
ip tcp adjust-mss 1412
!
interface Vlan2
description Gast LAN
ip address 172.16.17.1 255.255.255.0
ip access-group GastLAN in
ip nat inside
ip virtual-reassembly
ip tcp adjust-mss 1412
!
interface Dialer0
description $FW_OUTSIDE$
ip address negotiated
ip access-group INTERNET_IN in
no ip redirects
no ip unreachables
no ip proxy-arp
ip mtu 1452
ip flow ingress
ip nat outside
ip virtual-reassembly
encapsulation ppp
dialer pool 1
dialer-group 1
ppp authentication chap pap callin
ppp chap hostname xxxxxxxxxxxxxxxx
ppp chap password 7 xxxxxxxxxxx
ppp pap sent-username xxxxxxxxxxxxx password 7 xxxxxxxxxxxxxxxxxx
ppp ipcp dns request
ppp ipcp mask request
ppp ipcp route default
no cdp enable
!
ip local pool VPN-Pool 192.168.2.20 192.168.2.21
ip forward-protocol nd
ip http server
ip http authentication local
ip http secure-server
ip http timeout-policy idle 60 life 86400 requests 10000
!
ip dns server
ip nat inside source list 100 interface Dialer0 overload
!
ip access-list extended GastLAN
deny ip 172.16.17.0 0.0.0.255 192.168.17.0 0.0.0.255
permit ip any any
ip access-list extended INTERNET_IN
permit gre any any
permit esp any any
permit icmp any any echo-reply
permit icmp any any echo
permit icmp any any ttl-exceeded
permit udp any eq domain any
permit tcp any eq www any
permit tcp any any eq www
permit tcp any eq 443 any
permit tcp any any eq 443
permit tcp any eq smtp any
permit udp any eq isakmp any
permit udp any any eq isakmp
permit udp any eq non500-isakmp any
permit udp any any eq non500-isakmp
permit udp any eq 3000 any
permit udp any eq 10000 any
permit tcp any any eq 1723
permit tcp any eq 1723 any
permit tcp any any established
deny ip any any
ip access-list extended intLAN
deny ip 192.168.17.0 0.0.0.255 172.16.17.0 0.0.0.255
permit ip any any
!
logging trap debugging
access-list 10 remark Permittable Subnet To Access
access-list 10 permit 192.168.2.0 0.0.0.255
access-list 10 permit 192.168.17.0 0.0.0.255
access-list 10 permit 172.16.17.0 0.0.0.255
access-list 100 remark [Deny NAT fuer VPN Clients Only ]=-
access-list 100 deny ip 192.168.17.0 0.0.0.255 192.168.2.0 0.0.0.255
access-list 100 permit ip 192.168.17.0 0.0.0.255 any
access-list 100 permit ip 172.16.17.0 0.0.0.255 any
access-list 120 remark [kein NAT fuer VPN traffic]
access-list 120 permit ip 192.168.17.0 0.0.0.255 192.168.2.0 0.0.0.255
access-list 122 remark [VPN Traffic speziell sperren]
access-list 122 permit ip 192.168.2.0 0.0.0.255 host 192.168.17.50
access-list 122 deny ip any any
access-list 122 remark
dialer-list 1 protocol ip permit
no cdp run

!
!
!
!
!
control-plane
!
banner login ^CCAuthorized access only!
Disconnect IMMEDIATELY if you are not an authorized user!^C
!
line con 0
no modem enable
transport output telnet
line aux 0
transport output telnet
line vty 0 4
privilege level 15
transport input telnet ssh
!
scheduler max-task-time 5000
scheduler allocate 4000 1000
scheduler interval 500
end
Member: aqui
aqui May 16, 2014 updated at 15:57:05 (UTC)
Goto Top
Was soll uns diese Konfig denn nun sagen...???
Ansatz ist richtig aber Ausführung nicht !

Sieh dir bitte die Inbound ACL "INTERNET_IN" nochmal genau an ! Die gillt nur Inbound also für ALLE Packete die IN das Interface von außen (Internet) hineinfliessen. (Ausnahme ist die Dialer IP selber)
Dann lässt du deine Logik nochmal Revue passieren gerade in Bezug auf Source- und Destination IP und Port und prüfst ob diese Statements in der ACL schlüssig sind !

Willst du eigentlich generell ALLES sperren und nur den VPN Tunnel durchlassen ?? Oder soll alles erlaubt sein aber beim VPN willst du diesen nur auf eine bestimmte IP begrenzen ?!
Member: frank99
frank99 May 16, 2014 at 16:14:03 (UTC)
Goto Top
es soll alles erlaubt sein,
und beim VPN-Tunnel nur diese eine IP-Adresse
Member: frank99
frank99 May 16, 2014 at 20:00:43 (UTC)
Goto Top
Zitat von @frank99:

es soll alles erlaubt sein,
und beim VPN-Tunnel nur diese eine IP-Adresse

Ich meinte es eigentlich so:
die ACL Internet_IN ist dafür ob den Daten-Verkehr vom Internet abzuschotten. -> funktioniert soweit, Portscanner sagt mir das alles ok ist
die ACL 122 ist dafür da, das der VPN Zugang nur auf bestimmt Teile des Netztes zugreifen kann -> funktioniert soweit.
Nun benötige ich noch eine Möglichkeit, das der VPN Tunnel nur zustande kommen soll, wenn die IP Adresse des Client xyz ist. Wie ich aber das umsetze ist mir leider unklar. Vielleicht kann mir hier jemand helfen und den passenden Code posten.

Vielen Dank
Member: aqui
Solution aqui May 17, 2014, updated at Jun 15, 2014 at 13:35:52 (UTC)
Goto Top
die ACL Internet_IN ist dafür ob den Daten-Verkehr vom Internet abzuschotten. -> funktioniert soweit,
Ja das ist mit deiner Konfig auch richtig so.
Hast du auf dem Router ein Firewall Image ???
Wenn ja solltest du besser eine CBAC Konfig mit der Firewall machen, denn das würde dir solch eine ACL ersparen.
Aber egal es funktioniert ja auch mit dem umständlichen Weg wie bei dir und das zählt erstmal...
VPN Tunnel nur zustande kommen soll, wenn die IP Adresse des Client xyz ist.
Das ist ja kinderleicht....
Dazu passt du deine "INTERNET_IN" ACL einfach ein wenig an...
Statt:
permit esp any any
permit udp any any eq isakmp
Die ja den Zugriff von jeglicher IP Adresse im Internet (any) zulassen...
Lässt du diese Protokolle eben nur von der Absender IP xyz zu (ESP Protokoll und UDP 500 (isakmp, ike) ist IPsec)
Dort sollte dann stehen:
permit esp host xyz any
permit udp host xyz eq isakmp any

Fertisch !
Damit kann dann nur noch ein Absender mit der IP xyz auf den Router zugreifen. Das "any" bei der Zieladresse muss so bleiben da du ja vermutlich dynamisch wechselnde IPs auf dem Dialer Interface bekommst ?!
Weitere Infos zu IPsec findest du auch hier:
IPsec VPNs einrichten mit Cisco, Mikrotik, pfSense Firewall, FritzBox, Smartphone sowie Shrew Client Software
Member: frank99
frank99 Jun 15, 2014 at 00:34:43 (UTC)
Goto Top
Vielen Dank aqui,
so klappst, es hat bei mir funktioniert.

ein kleines Problem habe ich dabei, ich habe zwei verschiedene VPN User. Der eine soll nur von der bestimmten IP einloggen, der andere hat den vollen Zugriff.
Mit der jetzigen Lösung bezieht sich auf alle VPN Verbindungen.+
Member: aqui
aqui Jun 15, 2014 updated at 13:36:36 (UTC)
Goto Top
Das geht so nicht ! Ist ja auch logisch, denn wenn du den VPN Zugriff beschränken willst kannst du ihn ja nicht für einen anderen wieder freischalten wenn der immer wechselnde Adressen hat ?!
Was du machen kannst ist den Bereich freischalten von dem er seine IPs bekommt wenn er z.B. immer von zuhause arbeitet und immer wechselnde IPs bekommt die alle mit 85.x.y.z anfangen.
Dann sieht die ACL z.B. so aus:

permit esp host x.y.z.z any
permit esp 85.0.0.0 0.255.255.255 any
permit udp host x.y.z.z eq isakmp any
permit udp 85.0.0.0 0.255.255.255 eq isakmp any


Das grenzt dann den IP Zugriff eben auf diesen Einzelnen Host ein und alle IPs die mit 85.x.y.z anfangen.
Reist der in der Welt rum und hat alle möglichen Adressen geht das dann nicht mehr denn dann müsste deine ACL Millionen Einträge haben und wäre damit dann ja sinnfrei, denn du kannst ja dann so oder so alles freigeben, da du die IPs ja nicht vorhersehen kannst.
Member: frank99
frank99 Jun 15, 2014 at 13:09:46 (UTC)
Goto Top
nein, so war es nicht gedacht.

VPN User 1 hat eine feste IP - dieser User soll nur mit dieser IP auf den Router einwählen können
VPN User 2 hat eine dynamische IP
Router hat eine feste IP
Member: aqui
aqui Jun 15, 2014 updated at 13:36:55 (UTC)
Goto Top
OK, wenn der Router auch eine feste IP hat dann muss die ACL noch anders aussehen:
permit esp host x.y.z.z host <router_ip>
permit udp host x.y.z.z eq isakmp host <router_ip>


Mit dem VPN User 2 geht das dann nur so wie oben beschrieben mit einer groben Einschränkung sofern er immer von einem oder zwei Standorten arbeitet.
Wenn sich dessen IPs generell in allen möglichen Bereichen bewegen können hast du keine Chance.