Situacija
Dobio sam demo verziju S-Terra VPN proizvoda verzije 4.3 na tri mjeseca. Želim saznati hoće li moj inženjerski život postati lakši nakon prelaska na novu verziju.
Danas to nije teško, jedna vrećica 3 u 1 instant kave trebala bi biti dovoljna. Reći ću vam kako doći do demo verzije. Pokušat ću sastaviti sheme GRE-over-IPsec i IPsec-over-GRE.
Kako dobiti demo
Iz slike je vidljivo da su vam za demo verziju potrebni:
- Napiši pismo [e-pošta zaštićena] s adrese poduzeća;
- U pismu navedite TIN vaše organizacije;
- Navedite proizvode i njihovu količinu.
Demo verzije vrijede tri mjeseca. Dobavljač ne ograničava njihovu funkcionalnost.
Razvijanje slike
Demo verzija Security Gatewaya je slika virtualnog stroja. Koristim VMWare Workstation. Potpuni popis podržanih hipervizora i virtualizacijskih okruženja dostupan je na web stranici dobavljača.
Prije nego počnete, imajte na umu da zadana slika virtualnog stroja nema mrežna sučelja:
Logika je jasna, korisnik mora dodati onoliko sučelja koliko mu je potrebno. Dodat ću četiri odjednom:
Sada pokrećem virtualni stroj. Odmah nakon pokretanja, pristupnik zahtijeva prijavu i lozinku.
S-Terra Gateway ima nekoliko konzola s različitim računima. Njihov broj ću pobrojati u posebnom članku. U međuvremenu:
Login as: administrator
Password: s-terra
Inicijaliziram gateway. Inicijalizacija je slijed radnji: unos licence, postavljanje biološkog generatora slučajnih brojeva (simulator tipkovnice - moj rekord je 27 sekundi) i stvaranje karte mrežnog sučelja.
Karta mrežnog sučelja. Postalo je lakše
Verzija 4.2 pozdravila je aktivnog korisnika porukama:
Starting IPsec daemon….. failed
ERROR: Could not establish connection with daemon
Aktivni korisnik (prema anonimnom inženjeru) je korisnik koji može sve konfigurirati brzo i bez dokumentacije.
Nešto je išlo krivo čak i prije pokušaja konfiguracije IP adrese na sučelju. Sve je u mapi mrežnog sučelja. Bilo je potrebno učiniti:
/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
service networking restart
Kao rezultat, kreira se mapa mrežnih sučelja koja sadrži mapiranje naziva fizičkih sučelja (0000:02:03.0) i njihovih logičkih oznaka u operativnom sustavu (eth0) i konzoli sličnoj Cisco (FastEthernet0/0) :
#Unique ID iface type OS name Cisco-like name
0000:02:03.0 phye eth0 FastEthernet0/0
Oznake logičkog sučelja nazivaju se aliasi. Aliasi su pohranjeni u datoteci /etc/ifaliases.cf.
U verziji 4.3, kada prvi put pokrenete virtualni stroj, mapa sučelja se kreira automatski. Ako promijenite broj mrežnih sučelja u virtualnom stroju, ponovno izradite mapu sučelja:
/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
systemctl restart networking
Shema 1: GRE-over-IPsec
Postavljam dva virtualna pristupnika i prebacujem se kao što je prikazano na slici:
Korak 1. Konfigurirajte IP adrese i rute
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
Provjeravam IP vezu:
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
Korak 2. Postavljanje GRE
Uzimam primjer postavljanja GRE-a iz službenih skripti. Kreiram datoteku gre1 u direktoriju /etc/network/interfaces.d sa sadržajem.
Za 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
Za 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
Podižem sučelje u sustavu:
root@VG1:~# ifup gre1
root@VG2:~# ifup gre1
Provjerio sam:
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 ima ugrađeni sniffer paketa - tcpdump. Napisat ću ispis prometa u pcap datoteku:
root@VG2:~# tcpdump -i eth0 -w /home/dump.pcap
Pokrećem ping između GRE sučelja:
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
GRE tunel je aktivan i radi:
Korak 3. Šifrirajte s GOST GRE
Postavio sam vrstu identifikacije - adresom. Autentifikacija pomoću predefiniranog ključa (sukladno Uvjetima korištenja obavezna je uporaba digitalnih certifikata):
VG1(config)#
crypto isakmp identity address
crypto isakmp key KEY address 172.16.1.254
Postavio sam parametre IPsec faze I:
VG1(config)#
crypto isakmp policy 1
encr gost
hash gost3411-256-tc26
auth pre-share
group vko2
Postavio sam parametre IPsec faze II:
VG1(config)#
crypto ipsec transform-set TSET esp-gost28147-4m-imit
mode tunnel
Stvaram pristupnu listu za šifriranje. Ciljani promet - GRE:
VG1(config)#
ip access-list extended LIST
permit gre host 172.16.1.253 host 172.16.1.254
Kreiram kripto karticu i vežem je za WAN sučelje:
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
Za VG2 konfiguracija je preslikana, razlike:
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
Provjerio sam:
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
ISAKMP/IPsec statistika:
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
Nema paketa u GRE prometnom zapisu:
Zaključak: shema GRE-over-IPsec radi ispravno.
Shema 1.5: IPsec-over-GRE
Ne planiram koristiti IPsec-over-GRE na mreži. Skupljam jer to želim.
Za implementaciju sheme GRE-over-IPsec obrnuto, trebate:
- Ispravite popis pristupa za enkripciju - ciljajte promet s LAN1 na LAN2 i obrnuto;
- Konfigurirajte usmjeravanje putem GRE;
- Objesite kripto karticu na GRE sučelje.
Prema zadanim postavkama, konzola pristupnika slična Ciscu nema GRE sučelje. Postoji samo u operativnom sustavu.
Dodajem GRE sučelje konzoli nalik na Cisco. Da bih to učinio, uredio sam datoteku /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="*")
gdje je gre1 oznaka sučelja u operativnom sustavu, Tunnel0 je oznaka sučelja u Ciscovoj konzoli.
Ponovno izračunavam hash datoteke:
root@VG1:~# integr_mgr calc -f /etc/ifaliases.cf
SUCCESS: Operation was successful.
Sada se sučelje Tunnel0 pojavljuje u konzoli nalik na Cisco:
VG1# show run
interface Tunnel0
ip address 1.1.1.1 255.255.255.252
mtu 1400
Prilagođavam pristupnu listu za enkripciju:
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
Postavljanje usmjeravanja putem 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
Uklanjam kripto karticu iz Fa0/0 i povezujem je s GRE sučeljem:
VG1(config)#
interface Tunnel0
crypto map CMAP
Za VG2 je isto.
Provjerio sam:
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
ISAKMP/IPsec statistika:
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
U ESP prometnom zapisu, paketi enkapsulirani u GRE:
Zaključak: IPsec-over-GRE radi ispravno.
Rezultati
Bila je dovoljna jedna šalica kave. Zabilježio sam upute za dobivanje demonstracije. Konfigurirao GRE-over-IPsec i postavio ga obrnuto.
Karta mrežnog sučelja u verziji 4.3 je automatska! Testiram dalje.
Anonimni inženjer
t.me/anonimni_inženjer
Izvor: www.habr.com