Ik ben bezig met het opzetten van IPSec op mijn RouterBoard 493g om mijn interne netwerk te kunnen benaderen vanaf mijn Nexus5 (Android 4.4.2) via een IPSec tunnel. Dit werkt nu prima echter zit ik nog met enkele vragen. Op Android heb ik de volgende IPSec mogelijkheden:
IPSec Xauth PSK
IPSec Xauth RSA
IPSec Hybrid RSA
Als ik zo naar bovenstaand kijk lijkt IPSec Xauth RSA mij het veiligste, echter heb ik het voor elkaar gekregen om zowel IPSec Xauth PSK en IPSec Hybrid RSA werkend te krijgen. IPSec Xauth RSA lukt me niet op in te richten op het RouterBoard. De mogelijkheden hier zijn:
Pre-shared-key-xauth is een PSK met daar overheen Xauth. Dit heb ik al voor elkaar gekregen.
Rsa-key werkt rechtstreeks met keys en niet met certificaten, dit ga ik niet gebruiken.
Rsa-signature lijkt mij alleen maar certificaten zonder Xauth maar dit weet ik niet zeker.
Rsa-signature-hybrid valideert alleen maar het server certificaat en doet daar overheen Xauth. Dit heb ik ook al voor elkaar gekregen.
Als ik het routerboard instel op rsa-signature en de Android probeert Xauth te doen dan komt hij met:
Ik vermoed dat Mikrotik geen RSA+Xauth ondersteund? Dat zou jammer zijn. Wellicht dat een IPsec/Mikrotik guru hier mijn vragen (of een daarvan) kan beantwoorden:
1. Is het mogelijk om IPSec Xauth RSA te doen naar een RouterBoard?
2. Wat zou de voorkeur hebben qua veiligheid? IPSec Hybrid RSA of IPSec Xauth PSK? Een PSK lijkt me sterker dan asymmetrische RSA maar met MiM zwakte mocht de key uitlekken..
3. Ik zie alleen UDP/500 en UDP/4500 verkeer binnenkomen op de firewall als de tunnel op is. Ik heb rules gemaakt voor IPSEC-ESP en IPSEC-AH protocollen maar er zijn geen pakketten die deze rules matchen? Wanneer worden deze precies gebruikt dan want zowel in tunnel als transport mode zie ik alleen maar UDP verkeer.
4. Qua veiligheid en NAT compatibility, tunnel of transport? Ik lees dat tunnel niet compatible is met clients achter NAT maar dat werkt bij mij prima, doe hij automatisch fallback en zie ik daarom geen AH of ESP pakketen maar UDP/4500 wellicht of bestaat deze limitatie niet meer?
5. Zowel IPSec Xauth PSK als IPSec Hybrid RSA doen encryptie in Phase 1 neem ik aan?
6. Hoe zit het uberhaupt met IPSec en bruteforce attempts en veiligheid. Moet ik nog een access list met known IP's maken of kun je dit naar de wereld open laten staan op UDP/500 en UDP/4500?
Verdere config:
- IPSec Xauth PSK
- IPSec Xauth RSA
- IPSec Hybrid RSA
IPSec Xauth PSK
code:
1
2
3
4
| Shared key authenticatie en daar overheen Xauth username/password - Makkelijk op te zetten door afwezigheid van certificaten - Man-in-the-middle attack mogelijk als de PSK uitlekt |
IPSec Xauth RSA
code:
1
2
3
4
| Certificaten om zowel de client als de server te valideren, daar overheen Xauth username/password - Moeilijker op te zetten door certificaten, iedere client moet een certificaat importeren - Man-in-the-middle-attack niet (makkelijk) mogelijk |
IPSec Hybrid RSA
code:
1
2
3
4
| Alleen de client valideert het certificaat van de server, daar overheen Xauth - Qua opzetten tussen de vorige 2 in, wel een certificaat maar alleen voor de server nodig - Man-in-the-middle niet (makkelijk) mogelijk |
Als ik zo naar bovenstaand kijk lijkt IPSec Xauth RSA mij het veiligste, echter heb ik het voor elkaar gekregen om zowel IPSec Xauth PSK en IPSec Hybrid RSA werkend te krijgen. IPSec Xauth RSA lukt me niet op in te richten op het RouterBoard. De mogelijkheden hier zijn:
- pre-shared-key
- pre-shared-key-xauth
- rsa-key
- rsa-signature
- rsa-signature-hybrid
Pre-shared-key-xauth is een PSK met daar overheen Xauth. Dit heb ik al voor elkaar gekregen.
Rsa-key werkt rechtstreeks met keys en niet met certificaten, dit ga ik niet gebruiken.
Rsa-signature lijkt mij alleen maar certificaten zonder Xauth maar dit weet ik niet zeker.
Rsa-signature-hybrid valideert alleen maar het server certificaat en doet daar overheen Xauth. Dit heb ik ook al voor elkaar gekregen.
Als ik het routerboard instel op rsa-signature en de Android probeert Xauth te doen dan komt hij met:
14:29:51 ipsec,debug,packet type=Authentication Method, flag=0x8000, lorv=XAuth RSASIG client 14:29:51 ipsec,debug auth method 65005 isn't supported. 14:29:51 ipsec,debug no Proposal found. 14:29:51 ipsec,debug failed to get valid proposal. 14:29:51 ipsec,debug failed to pre-process ph1 packet (side: 1, status 1). 14:29:51 ipsec,debug phase1 negotiation failed
Ik vermoed dat Mikrotik geen RSA+Xauth ondersteund? Dat zou jammer zijn. Wellicht dat een IPsec/Mikrotik guru hier mijn vragen (of een daarvan) kan beantwoorden:
1. Is het mogelijk om IPSec Xauth RSA te doen naar een RouterBoard?
2. Wat zou de voorkeur hebben qua veiligheid? IPSec Hybrid RSA of IPSec Xauth PSK? Een PSK lijkt me sterker dan asymmetrische RSA maar met MiM zwakte mocht de key uitlekken..
3. Ik zie alleen UDP/500 en UDP/4500 verkeer binnenkomen op de firewall als de tunnel op is. Ik heb rules gemaakt voor IPSEC-ESP en IPSEC-AH protocollen maar er zijn geen pakketten die deze rules matchen? Wanneer worden deze precies gebruikt dan want zowel in tunnel als transport mode zie ik alleen maar UDP verkeer.
4. Qua veiligheid en NAT compatibility, tunnel of transport? Ik lees dat tunnel niet compatible is met clients achter NAT maar dat werkt bij mij prima, doe hij automatisch fallback en zie ik daarom geen AH of ESP pakketen maar UDP/4500 wellicht of bestaat deze limitatie niet meer?
5. Zowel IPSec Xauth PSK als IPSec Hybrid RSA doen encryptie in Phase 1 neem ik aan?
6. Hoe zit het uberhaupt met IPSec en bruteforce attempts en veiligheid. Moet ik nog een access list met known IP's maken of kun je dit naar de wereld open laten staan op UDP/500 en UDP/4500?
Verdere config:
[pakjebakmeel@MikroTik] /ip ipsec peer> /ip ipsec peer print
Flags: X - disabled
0 address=0.0.0.0/0 local-address=192.168.10.1 passive=yes port=500 auth-method=rsa-signature-hybrid remote-certificate=none xauth-login="" xauth-password=""
generate-policy=port-strict policy-group=RoadWarrior exchange-mode=main mode-config=RoadWarrior send-initial-contact=yes nat-traversal=no proposal-check=obey
hash-algorithm=sha1 enc-algorithm=aes-256 dh-group=modp1024 lifetime=1d lifebytes=0 dpd-interval=2m dpd-maximum-failures=5[pakjebakmeel@MikroTik] /ip ipsec> /ip ipsec proposal print Flags: X - disabled, * - default 0 * name="default" auth-algorithms=md5,sha1 enc-algorithms=3des,aes-128-cbc,aes-256-cbc lifetime=30m pfs-group=none 1 name="RoadWarrior" auth-algorithms=sha1 enc-algorithms=aes-256-cbc lifetime=8h pfs-group=none
[pakjebakmeel@MikroTik] /ip ipsec statistics> /ip ipsec proposal print where name=RoadWarrior Flags: X - disabled, * - default 1 name="RoadWarrior" auth-algorithms=sha1 enc-algorithms=aes-256-cbc lifetime=8h pfs-group=none
[pakjebakmeel@MikroTik] /ip ipsec statistics> /ip ipsec mode-config print where name=RoadWarrior Flags: * - default 1 name="RoadWarrior" send-dns=yes address-pool=IPSec Clients address-prefix-length=24 split-include=192.168.10.0/24
[pakjebakmeel@MikroTik] /ip ipsec statistics> /ip pool print where name="IPSec Clients" # NAME RANGES 3 IPSec Clients 10.7.0.100-10.7.0.254