Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Sergey Sobko - Динамические оверлейные сети: передача трафика L3 через L7 с помощью Clojure
Moscow 2600
January 04, 2019
Research
0
170
Sergey Sobko - Динамические оверлейные сети: передача трафика L3 через L7 с помощью Clojure
Moscow 2600
January 04, 2019
Tweet
Share
More Decks by Moscow 2600
See All by Moscow 2600
2600
0
8
2600
1
20
2600
0
40
2600
0
29
2600
0
80
2600
0
33
2600
0
41
Other Decks in Research
See All in Research
ykaneko1992
0
170
mkimura
3
1.1k
kyoun
10
1.7k
yamathcy
0
350
fukudakz
0
160
chikuwait
2
350
ailaboocu
0
210
waptech
5
680
mairuyosuda
0
150
ianozsvald
2
570
kawasita
0
120
satorin1204
0
660
Featured
See All Featured
jonyablonski
22
1.3k
malarkey
392
61k
jrom
116
7.2k
frogandcode
128
20k
paulrobertlloyd
73
1.5k
rocio
155
11k
chriscoyier
498
130k
afnizarnur
177
14k
revolveconf
201
9.7k
malarkey
193
8.7k
roundedbygravity
84
7.9k
hannesfritz
29
980
Transcript
Динамические оверлейные сети: передача трафика L3 через L7 с помощью
Clojure 2600, 4 января – Москва, Россия Сергей Собко
About Sergey Sobko (@IwasakiRussia; GH: profitware; bug2bug.me) Руководитель группы разработки
PT Application Firewall Преподаватель курса веб-разработки в НИУ ВШЭ
Rationale
Зачем L3 over L7 Посмотреть на границы применимости Clojure
Посмотреть на сетевые пакеты изнутри Изучить возможности различных брокеров сообщений
Практическое применение Построить свой персональный интернет (e.g., VPN, Mesh,
Tor) Динамическое реконфигурирование топологии сети Заменяемость частей захвата, разбора и передачи трафика
Networks
Прямое соединение / Multicast
Соединение за NAT
Централизованное подключение
Solution
Yet Another Overlay Software Defined Network
Общая схема L3 interface (TUN) Processing L7 interface (Ignite) L3
interface (TUN) Processing L7 interface (Ignite)
PCAP PCAP как удобный формат для хранения пакетов
PCAP4J — биндинги для promiscuous mode и разбор пакетов Фабрика пакетов (и подстановка через замыкание)
PCAP
Общий протокол
TUN/TAP Захват трафика через виртуальный адаптер TUN Библиотека
clj-linux-net (JavaLinuxNet) — JNI интерфейс к tun В перспективе JNI/JNA-биндинги к libtuntap
TUN/TAP
TUN/TAP
Брокер RabbitMQ / ZeroMQ / etc. ? Распределенное
in-memory хранилище Apache Ignite как подходящее решение
Брокер
PoC Implementation
ICMPv4
Core
Further plans
Планы Сделать обвязку для libtuntap (для кроссплатформенности) Проверить
возможность централизованного использования В далекой перспективе создать production-ready решение
Спасибо за внимание! Спасибо за внимание! ptsecurity.ru Sergey Sobko @IwasakiRussia
GH: profitware bug2bug.me
Вопросы? https://github.com/yaosdn/yaosdn Flower Sergey Sobko @IwasakiRussia GH: profitware bug2bug.me