1.5 schém na domácej IPsec VPN. Testovacie ukážky

1.5 schém na domácej IPsec VPN. Testovacie ukážky

Situácia

Dostal som demo verziu produktov S-Terra VPN verzie 4.3 na tri mesiace. Chcem zistiť, či sa môj inžiniersky život po prechode na novú verziu zjednoduší.

Dnes to nie je ťažké, jedno vrecko instantnej kávy 3v1 by malo stačiť. Poviem vám, ako získať demo verzie. Pokúsim sa dať dokopy schémy GRE-over-IPsec a IPsec-over-GRE.

Ako získať demo

1.5 schém na domácej IPsec VPN. Testovacie ukážky

Z obrázku vyplýva, že na získanie demo verzie potrebujete:

  • Napíšte list [chránené e-mailom] z adresy spoločnosti;
  • V liste uveďte DIČ vašej organizácie;
  • Uveďte produkty a ich množstvo.

Demo verzie sú platné tri mesiace. Predajca neobmedzuje ich funkčnosť.

Rozloženie obrazu

Demo verzia Security Gateway je obrazom virtuálneho počítača. Používam VMWare Workstation. Úplný zoznam podporovaných hypervízorov a virtualizačných prostredí je k dispozícii na webovej stránke predajcu.

Skôr ako začnete, uvedomte si, že predvolený obraz virtuálneho počítača nemá sieťové rozhrania:

1.5 schém na domácej IPsec VPN. Testovacie ukážky

Logika je jasná, používateľ si musí pridať toľko rozhraní, koľko potrebuje. Pridám štyri naraz:

1.5 schém na domácej IPsec VPN. Testovacie ukážky

Teraz spustím virtuálny stroj. Ihneď po spustení vyžaduje brána prihlasovacie meno a heslo.

S-Terra Gateway má niekoľko konzol s rôznymi účtami. Ich počet spočítam v samostatnom článku. Medzitým:
Login as: administrator
Password: s-terra

Inicializujem bránu. Inicializácia je postupnosť akcií: zadanie licencie, nastavenie biologického generátora náhodných čísel (simulátor klávesnice - môj rekord je 27 sekúnd) a vytvorenie mapy sieťového rozhrania.

Mapa sieťového rozhrania. Stalo sa to jednoduchšie

Verzia 4.2 privítala aktívneho používateľa správami:

Starting IPsec daemon….. failed
ERROR: Could not establish connection with daemon

Aktívny používateľ (podľa anonymného inžiniera) je používateľ, ktorý môže konfigurovať čokoľvek rýchlo a bez dokumentácie.

Niečo sa pokazilo ešte pred pokusom o konfiguráciu IP adresy na rozhraní. Všetko je to o mape sieťového rozhrania. Bolo potrebné urobiť:

/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
service networking restart

Výsledkom je vytvorenie mapy sieťových rozhraní, ktorá obsahuje mapovanie názvov fyzických rozhraní (0000:02:03.0) a ich logické označenie v operačnom systéme (eth0) a konzole typu Cisco (FastEthernet0/0) :

#Unique ID iface type OS name Cisco-like name

0000:02:03.0 phye eth0 FastEthernet0/0

Označenia logického rozhrania sa nazývajú aliasy. Aliasy sú uložené v súbore /etc/ifaliases.cf.
Vo verzii 4.3 sa pri prvom spustení virtuálneho počítača automaticky vytvorí mapa rozhrania. Ak zmeníte počet sieťových rozhraní vo virtuálnom stroji, vytvorte mapu rozhrania znova:

/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
systemctl restart networking

Schéma 1: GRE-over-IPsec

Nasadím dve virtuálne brány a prepnem sa, ako je znázornené na obrázku:

1.5 schém na domácej IPsec VPN. Testovacie ukážky

Krok 1. Nakonfigurujte IP adresy a trasy

VG1(config) #
interface fa0/0
ip address 172.16.1.253 255.255.255.0
no shutdown
interface fa0/1
ip address 192.168.1.253 255.255.255.0
no shutdown
ip route 0.0.0.0 0.0.0.0 172.16.1.254

VG2(config) #
interface fa0/0
ip address 172.16.1.254 255.255.255.0
no shutdown
interface fa0/1
ip address 192.168.2.254 255.255.255.0
no shutdown
ip route 0.0.0.0 0.0.0.0 172.16.1.253

Kontrolujem IP konektivitu:

root@VG1:~# ping 172.16.1.254 -c 4
PING 172.16.1.254 (172.16.1.254) 56(84) bytes of data.
64 bytes from 172.16.1.254: icmp_seq=1 ttl=64 time=0.545 ms
64 bytes from 172.16.1.254: icmp_seq=2 ttl=64 time=0.657 ms
64 bytes from 172.16.1.254: icmp_seq=3 ttl=64 time=0.687 ms
64 bytes from 172.16.1.254: icmp_seq=4 ttl=64 time=0.273 ms

--- 172.16.1.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 0.273/0.540/0.687/0.164 ms

Krok 2. Nastavenie GRE

Príklad nastavenia GRE beriem z oficiálnych skriptov. Vytvorím súbor gre1 v adresári /etc/network/interfaces.d s obsahom.

Pre VG1:

auto gre1
iface gre1 inet static
address 1.1.1.1
netmask 255.255.255.252
pre-up ip tunnel add gre1 mode gre remote 172.16.1.254 local 172.16.1.253 key 1 ttl 64 tos inherit
pre-up ethtool -K gre1 tx off > /dev/null
pre-up ip link set gre1 mtu 1400
post-down ip link del gre1

Pre VG2:

auto gre1
iface gre1 inet static
address 1.1.1.2
netmask 255.255.255.252
pre-up ip tunnel add gre1 mode gre remote 172.16.1.253 local 172.16.1.254 key 1 ttl 64 tos inherit
pre-up ethtool -K gre1 tx off > /dev/null
pre-up ip link set gre1 mtu 1400
post-down ip link del gre1

Zvýšim rozhranie v systéme:

root@VG1:~# ifup gre1
root@VG2:~# ifup gre1

Kontrolujem:

root@VG1:~# ip address show
8: gre1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1400 qdisc noqueue state UNKNOWN group default qlen 1
    link/gre 172.16.1.253 peer 172.16.1.254
    inet 1.1.1.1/30 brd 1.1.1.3 scope global gre1
       valid_lft forever preferred_lft forever

root@VG1:~# ip tunnel show
gre0: gre/ip remote any local any ttl inherit nopmtudisc
gre1: gre/ip remote 172.16.1.254 local 172.16.1.253 ttl 64 tos inherit key 1

S-Terra Gateway má zabudovaný sniffer paketov - tcpdump. Zapíšem výpis prevádzky do súboru pcap:

root@VG2:~# tcpdump -i eth0 -w /home/dump.pcap

Spúšťam ping medzi rozhraniami GRE:

root@VG1:~# ping 1.1.1.2 -c 4
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data.
64 bytes from 1.1.1.2: icmp_seq=1 ttl=64 time=0.918 ms
64 bytes from 1.1.1.2: icmp_seq=2 ttl=64 time=0.850 ms
64 bytes from 1.1.1.2: icmp_seq=3 ttl=64 time=0.918 ms
64 bytes from 1.1.1.2: icmp_seq=4 ttl=64 time=0.974 ms

--- 1.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 0.850/0.915/0.974/0.043 ms

Tunel GRE je aktívny a beží:

1.5 schém na domácej IPsec VPN. Testovacie ukážky

Krok 3. Šifrovanie pomocou GOST GRE

Nastavil som typ identifikácie - podľa adresy. Autentifikácia pomocou preddefinovaného kľúča (podľa Podmienok používania je potrebné použiť digitálne certifikáty):

VG1(config)#
crypto isakmp identity address
crypto isakmp key KEY address 172.16.1.254

Nastavil som parametre I. fázy IPsec:

VG1(config)#
crypto isakmp policy 1
encr gost
hash gost3411-256-tc26
auth pre-share
group vko2

Nastavil som parametre IPsec Phase II:

VG1(config)#
crypto ipsec transform-set TSET esp-gost28147-4m-imit
mode tunnel

Vytváram zoznam prístupových práv pre šifrovanie. Cieľová návštevnosť – GRE:

VG1(config)#
ip access-list extended LIST
permit gre host 172.16.1.253 host 172.16.1.254

Vytvorím krypto kartu a naviažem ju na rozhranie WAN:

VG1(config)#
crypto map CMAP 1 ipsec-isakmp
match address LIST
set transform-set TSET
set peer 172.16.1.253
interface fa0/0
  crypto map CMAP

Pre VG2 je konfigurácia zrkadlová, rozdiely:

VG2(config)#
crypto isakmp key KEY address 172.16.1.253
ip access-list extended LIST
permit gre host 172.16.1.254 host 172.16.1.253
crypto map CMAP 1 ipsec-isakmp
set peer 172.16.1.254

Kontrolujem:

root@VG2:~# tcpdump -i eth0 -w /home/dump2.pcap
root@VG1:~# ping 1.1.1.2 -c 4
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data.
64 bytes from 1.1.1.2: icmp_seq=1 ttl=64 time=1128 ms
64 bytes from 1.1.1.2: icmp_seq=2 ttl=64 time=126 ms
64 bytes from 1.1.1.2: icmp_seq=3 ttl=64 time=1.07 ms
64 bytes from 1.1.1.2: icmp_seq=4 ttl=64 time=1.12 ms

--- 1.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 1.077/314.271/1128.419/472.826 ms, pipe 2

Štatistiky ISAKMP/IPsec:

root@VG1:~# sa_mgr show
ISAKMP sessions: 0 initiated, 0 responded

ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 1 (172.16.1.253,500)-(172.16.1.254,500) active 1086 1014

IPsec connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd
1 1 (172.16.1.253,*)-(172.16.1.254,*) 47 ESP tunn 480 480

Vo výpise prevádzky GRE nie sú žiadne pakety:

1.5 schém na domácej IPsec VPN. Testovacie ukážky

Záver: schéma GRE-over-IPsec funguje správne.

Schéma 1.5: IPsec-over-GRE

Neplánujem používať IPsec-over-GRE v sieti. Zbieram to, lebo chcem.

1.5 schém na domácej IPsec VPN. Testovacie ukážky

Ak chcete nasadiť schému GRE-over-IPsec opačne, musíte:

  • Opravte zoznam prístupových práv pre šifrovanie - zamerajte prenos z LAN1 do LAN2 a naopak;
  • Konfigurácia smerovania cez GRE;
  • Zaveste krypto kartu na rozhranie GRE.

V predvolenom nastavení konzola brány podobná Cisco nemá rozhranie GRE. Existuje iba v operačnom systéme.

Pridávam rozhranie GRE ku konzole podobnej Cisco. Aby som to urobil, upravím súbor /etc/ifaliases.cf:

interface (name="FastEthernet0/0" pattern="eth0")
interface (name="FastEthernet0/1" pattern="eth1")
interface (name="FastEthernet0/2" pattern="eth2")
interface (name="FastEthernet0/3" pattern="eth3")
interface (name="Tunnel0" pattern="gre1")
interface (name="default" pattern="*")

kde gre1 je označenie rozhrania v operačnom systéme, Tunnel0 je označenie rozhrania v konzole podobnej Cisco.

Prepočítam hash súboru:

root@VG1:~# integr_mgr calc -f /etc/ifaliases.cf

SUCCESS:  Operation was successful.

Teraz sa rozhranie Tunnel0 objaví v konzole podobnej Cisco:

VG1# show run
interface Tunnel0
ip address 1.1.1.1 255.255.255.252
mtu 1400

Upravujem zoznam prístupových práv pre šifrovanie:

VG1(config)#
ip access-list extended LIST
permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255

Nastavenie smerovania cez GRE:

VG1(config)#
no ip route 0.0.0.0 0.0.0.0 172.16.1.254
ip route 192.168.3.0 255.255.255.0 1.1.1.2

Odstránim krypto kartu z Fa0/0 a naviažem ju na rozhranie GRE:

VG1(config)#
interface Tunnel0
crypto map CMAP

Pre VG2 je to to isté.

Kontrolujem:

root@VG2:~# tcpdump -i eth0 -w /home/dump3.pcap

root@VG1:~# ping 192.168.2.254 -I 192.168.1.253 -c 4
PING 192.168.2.254 (192.168.2.254) from 192.168.1.253 : 56(84) bytes of data.
64 bytes from 192.168.2.254: icmp_seq=1 ttl=64 time=492 ms
64 bytes from 192.168.2.254: icmp_seq=2 ttl=64 time=1.08 ms
64 bytes from 192.168.2.254: icmp_seq=3 ttl=64 time=1.06 ms
64 bytes from 192.168.2.254: icmp_seq=4 ttl=64 time=1.07 ms

--- 192.168.2.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 1.064/124.048/492.972/212.998 ms

Štatistiky ISAKMP/IPsec:

root@VG1:~# sa_mgr show
ISAKMP sessions: 0 initiated, 0 responded

ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 2 (172.16.1.253,500)-(172.16.1.254,500) active 1094 1022

IPsec connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd
1 2 (192.168.1.0-192.168.1.255,*)-(192.168.2.0-192.168.2.255,*) * ESP tunn 352 352

Vo výpise prevádzky ESP pakety zapuzdrené v GRE:

1.5 schém na domácej IPsec VPN. Testovacie ukážky

Záver: IPsec-over-GRE funguje správne.

Výsledky

Jedna šálka kávy stačila. Zapísal som si pokyny na získanie ukážky. Nakonfiguroval GRE-over-IPsec a nasadil ho naopak.

Mapa sieťového rozhrania vo verzii 4.3 je automatická! Testujem dalej.

Anonymný inžinier
t.me/anonymous_engineer


Zdroj: hab.com

Pridať komentár