LINUX.ORG.RU

OpenVPN и шифрование

 , , проверка шифрования


0

1

Вечер добрый, ЛОР.

Имеется VDS, на котором настроен OpenVPN сервер вот с таким вот конфигом (46.160.000.01 - IP VDS)...

[root@s3rv3r ~]# cat /etc/openvpn/server.conf
local 46.160.000.01
port 1194
proto udp
dev tun
ca ca.crt
cert s3rv3r.crt
key s3rv3r.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway"
#push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
comp-lzo
max-clients 5
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log         /var/log/openvpn.log
verb 5
[root@s3rv3r ~]# 

Перед запуском его в работу, решил я проверить, всё ли корректно шифруется при работе с этим VPN'ном. Настроил у себя (Fedora 18 64bit) VPN соединение с помощью NM, подключился и пошёл гулять по сайтам. В то же время, в консоли, запустил команду...

# tcpdump -s 0

... и время от времни поглядывал на выхлоп. Заинтерсовал меня вот такой момент:

21:54:12.964865 IP 192.168.0.12.58770 > 46.160.000.01.openvpn: UDP, length 85
21:54:13.214818 IP 46.160.000.01.openvpn > 192.168.0.12.58770: UDP, length 77
21:54:13.419440 IP 46.160.000.01.openvpn > 192.168.0.12.58770: UDP, length 549
21:54:13.419824 IP 192.168.0.12.58770 > 46.160.000.01.openvpn: UDP, length 77
21:54:21.304437 IP clck.yandex.ru.http > 192.168.0.12.50665: Flags [.], ack 329, win 1026, length 0
21:54:21.509425 IP clck.yandex.ru.http > 192.168.0.12.56356: Flags [.], ack 574, win 1026, length 0
21:54:23.250141 IP 46.160.000.01.openvpn > 192.168.0.12.58770: UDP, length 261
21:54:23.250428 IP 192.168.0.12.58770 > 46.160.000.01.openvpn: UDP, length 53
...
21:54:26.322759 ARP, Request who-has 192.168.0.12 tell 192.168.0.1, length 28
21:54:26.322808 ARP, Reply 192.168.0.12 is-at 38:59:f9:30:c6:5e (oui Unknown), length 28
21:54:30.110941 IP yandex.ru.http > 192.168.0.12.49147: Flags [.], ack 5755, win 1026, length 0
21:54:33.437514 IP 192.168.0.12.58770 > 46.160.000.01.openvpn: UDP, length 53
...
21:55:28.991750 ARP, Request who-has 192.168.0.12 tell 192.168.0.1, length 28
21:55:28.991801 ARP, Reply 192.168.0.12 is-at 38:59:f9:30:c6:5e (oui Unknown), length 28
21:55:33.696687 IP 192.168.0.12.58770 > 46.160.000.01.openvpn: UDP, length 53
21:55:34.930508 IP 46.160.000.01.openvpn > 192.168.0.12.58770: UDP, length 53
21:55:36.261603 IP clck.yandex.ru.http > 192.168.0.12.50665: Flags [.], ack 329, win 1026, length 0
21:55:36.568993 IP clck.yandex.ru.http > 192.168.0.12.56356: Flags [.], ack 574, win 1026, length 0
21:55:42.545335 IP 192.168.0.12.58770 > 46.160.000.01.openvpn: UDP, length 101
21:55:42.965397 IP 192.168.0.12.58770 > 46.160.000.01.openvpn: UDP, length 18
...
21:55:43.225335 IP 192.168.0.12.58770 > 46.160.000.01.openvpn: UDP, length 77
21:55:45.067916 IP yandex.ru.http > 192.168.0.12.49147: Flags [.], ack 5755, win 1026, length 0
21:55:53.468054 IP 192.168.0.12.58770 > 46.160.000.01.openvpn: UDP, length 53
...
21:56:08.646198 ARP, Reply 192.168.0.1 is-at b8:a3:86:1c:03:1a (oui Unknown), length 28

Лог значительно укоротил, оставив то что касается сути вопроса - что может означать появление в логе yandex.ru? Трафик шифруется, но не полностью? Или, возможно, я как-то не так снял дамп? Может быть что-то просто не учёл?

Буду благодарен за советы и пинок в нужном направлении.


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

на клиенте или на сервере?
укажи явно интерфейс, который хочешь прослушать (трафик ведь будет зашифрован только на внешнем интерфейсе)

xtraeft ★★☆☆
()
Ответ на: комментарий от xtraeft

Собственно, есть схема...

Я (соединяюсь по wi-fi) - Роутер - Провайдер - VPN сервер - Мир

... мне нужно что бы между мной и VPN сервером трафик был зашифрован.

Сервер:

[root@s3rv3r ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3C:D8:C9:49  
          inet addr:46.160.000.01  Bcast:46.160.000.10  Mask:255.255.255.224
          inet6 addr: 2a01:c91:2012:a03f:216f:3cff:fed8:c949/64 Scope:Global
          inet6 addr: fa60::e216:25ff:fe01:c949/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:47404 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23006 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7429608 (7.0 MiB)  TX bytes:7784167 (7.4 MiB)
          Interrupt:10 Base address:0x6000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:662 (662.0 b)  TX bytes:662 (662.0 b)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:7241 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7348 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:787013 (768.5 KiB)  TX bytes:4331268 (4.1 MiB)

Клиент:

[root@nbook ~]# ifconfig
em1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether b8:70:f4:f1:fc:35  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 122  bytes 7735 (7.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 122  bytes 7735 (7.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 10.8.0.6  netmask 255.255.255.255  destination 10.8.0.5
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 100  (UNSPEC)
        RX packets 3793  bytes 2192159 (2.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3949  bytes 514100 (502.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.12  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::3a59:f9ff:fe30:c65e  prefixlen 64  scopeid 0x20<link>
        ether 38:59:f9:30:c6:5e  txqueuelen 1000  (Ethernet)
        RX packets 17579  bytes 9191332 (8.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 18327  bytes 2983294 (2.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Роут клиента:

[root@nbook ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.8.0.5        0.0.0.0         UG    0      0        0 tun0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.5        *               255.255.255.255 UH    0      0        0 tun0
46.160.000.01   192.168.0.1     255.255.255.255 UGH   0      0        0 wlan0
192.168.0.0     *               255.255.255.0   U     0      0        0 wlan0

Роут сервера:

[root@s3rv3r ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.2        *               255.255.255.255 UH    0      0        0 tun0
46.160.000.0    *               255.255.255.224 U     0      0        0 eth0
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         46.160.000.30   0.0.0.0         UG    0      0        0 eth0

Я правильно понимаю, что мне нужно слушать wlan0 на клиенте что бы понять всё ли корректно шифруется (полностью ли зашифрован трафик между мной и VPN сервером)? Т. е. нужно вот так запускать tcpdump:

tcpdump -i wlan0

Верно ли?

kp
() автор топика
Ответ на: комментарий от kp

Я правильно понимаю, что мне нужно слушать wlan0 на клиенте что бы понять всё ли корректно шифруется (полностью ли зашифрован трафик между мной и VPN сервером)? Т. е. нужно вот так запускать tcpdump:

да, слушать надо wlan0 при подключенном openvpn

xtraeft ★★☆☆
()
Ответ на: комментарий от xtraeft

Что ж, похоже что всё настроено верно. Во всяком случае, никаких доменных имён в дампе не появляется. Большое спасибо за помощь.

kp
() автор топика
Ответ на: комментарий от kp

как думаете в связи с поползновениями в сторону китай подобного интернет занавеса можно ли к примеру пропатченный ssh без масок «This is OpenSSH» тунелировать через HTTP тунели типа http tunnel? много ли уже готовых серверных CGI скриптов разбросано в сети?

лучше бы сделали тунель поверх браузерных анонимизаторов PHPProxy/CGIProxy/Glype которых уже немерянно болтается в сети, ведь через них легко бы было передавать пакеты закодированные в какомнить хотябы base64 т.е. примерно так: OpenVPN(TCP-Mode)-> SSH Client(maskless) -> PHPProxyTunnelClient -> PHPProxy (любой установленный из тысяч в гугле) -> PHPProxyTunnelServer -> SSH Server(maskless) -> OpenVPN Server(TCP-Mode)

в результате блокировать наверно было бы сложнее? или по маске PHPProxy? тогда можно безмасочных самоизменяющихся случайным образом понатыкать на бесплатных хостингах

anonymous
()
Ответ на: комментарий от anonymous

OpenVPN(TCP-Mode)-> SSH Client(maskless) -> PHPProxyTunnelClient -> PHPProxy (любой установленный из тысяч в гугле) -> PHPProxyTunnelServer -> SSH Server(maskless) -> OpenVPN Server(TCP-Mode)

Мне на столько серьёзно зарываться не требуется. Возможно это и «круче», но для моего случая подобное будет лишним.

kp
() автор топика
Ответ на: комментарий от kp

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

т.е. если 80 порт открыт то получается есть доступ к хотябы части PHPProxy и наверно их каждый день еще десятки инстоляций появляются, если TCP маски убрать из потока и формы PHP прокси будут мутировать, то заблокировать наверно уже никак не получится если http в целом большей частью остается открытым

anonymous
()
Ответ на: комментарий от anonymous

а разве можно обнаружить OpenVPN в UDP моде со статическим ключом?

community.openvpn.net/openvpn/wiki/TrafficObfuscation

подробнее:

wiki.wireshark.org/OpenVPN

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.