Свой защищенный домашний роутер | alexmdv

Свой защищенный домашний роутер

Вы в курсе, что ваш домашний роутер, при определенном желании, можно без труда взломать? Особенно печально, что эти способы описаны открыто и любой недохакер может на вас потренироваться:

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

Немного особняком стоят домашние роутеры Apple. Мне не удалось найти в открытом доступе описаний о перепрошивке, модификации или взломе этих устройств. Недостаток по большому счету один — не все наши провайдеры с ними работают (например, в роутере нет поддержки PPPoE). Так что весьма условный совет.

airport_express

Специалистам и продвинутым людям можно посоветовать посмотреть в сторону роутеров Mikrotik — отличные железки за свои деньги. Однако, как и у остальных, исходный код операционной системы закрыт. Как разработчики WhatsApp всех надурили с внедрением сквозного шифрования уже известно. Нет никакой гарантии, что в Mikrotik’ах нет закладок.

mikrotikПараноикам и энтузиастам остается единственно верный вариант — использование open-source решений. За последние пару лет я перепробовал разные варианты. В процессе проб и ошибок были сделаны некоторые выводы и в конечном итоге я пришел к мысли собрать свой домашний роутер с набором определенных характеристик. Для начала перечислю свои некоторые умозаключения.

Мысль №1 — самый лучший роутер для дома — это проводной роутер плюс одна-две отдельных Wi-Fi точки доступа, которые подключены к нему кабелем. Почему так?

Во первых, если ваш Wi-Fi роутер стоит где-нибудь в прихожей, то в дальних комнатах сигнал будет так себе. Вы скажете, что некоторые «продвинутые» Wi-Fi роутеры позволяют регулировать мощность сигнала. Однако, в этом случае ваша беспроводная сеть будет светиться не только по квартире но и на 3 этажа вверх и вниз, мешая соседским роутерам и другим устройствам в вашем доме, которые работают на смежных радиочастотах. Лучше равномерный и средний по мощности сигнал по всей квартире, чем сильный сигнал в шкафу-купе и почти нулевой где-нибудь в спальне. Расставленные Wi-Fi точки доступа в разных частях квартиры будут обеспечивать гораздо лучшую скорость передачи данных и при этом будут меньше вредить в самом широком смысле этого слова.

Вторая причина, по которой проводной роутер лучше — это стремительное развитие Wi-Fi стандартов. Только что купленный Wi-Fi роутер станет морально старым через 2 года просто потому, что он не будет поддерживать беспроводные стандарты нового поколения, которые будут поддерживаться вашими новыми смартфонами, ноутбуками и другими устройствами. В то же время проводные роутеры стареют гораздо медленнее. Сейчас есть модели, где все интерфейсы поддерживают скорость 1 Гбит, что примерно в 10-20 раз быстрее средней скорости домашнего интернета. На практике это означает, что такой роутер может прослужить еще лет 6, обеспечивая требуемую скорость передачи данных. Вам останется только менять Wi-Fi точки доступа по мере необходимости или желания.

Мысль №2 — не нужно пытаться запихнуть в роутер функции, которые ему не свойственны. Например, файловый сервер или функции центрального узла умного дома, медиасервер и т.д. Таким образом вы получите хреновый роутер, хреновый файловый сервер и глупый дом в одном флаконе. А максимум проблем вы получите, когда из-за сбоя одной функции вам придется перезагружать весь роутер и у вас на время перезагрузки лягут все сервисы.

Мысль №3 — управление домашним роутером должно быть через веб-морду. Каким бы ярым сторонником голого Linux и консоли вы не были. Если вам через полгода вдруг понадобится что-либо изменить в настройках, то внезапно окажется, что за это время вы напрочь забыли в каких конфигах что у вас хранится и какие службы за что отвечают. Так тривиальная задача превращается в нетривиальные пляски с бубном. Поэтому повторю еще раз — никакой консоли. Хороший домашний роутер должен обладать user-friendly интерфейсом.

Операционная система

От мыслей плавно перейдем к выбору операционной системы. Все роутеры работают на модифицированных *nix операционных системах. Преимущества этих ОС в практически неограниченных возможностях, а недостаток — часто те или иные функции реализованы или криво, или совсем криво. Поэтому, чтобы подобрать нормальную или настроить так как надо open-source операционку под конкретную задачу приходится долго и упорно ковыряться. Существует несколько open-source ОС для роутеров. Чисто консольные варианты мы отметаем сразу. Есть операционки с неплохим функционалом, но с ужасным, устаревшим и нелогичным интерфейсом типа zeroshell. Есть многофункциональные и частично платные комбайны типа zentyal. Есть pfSense — очень мощная и достаточно стабильная платформа, но в последнее время развивается медленно. Еще есть OPNSense. Это форк pfSense, но с более современным web-интерфейсом. По количеству функций он несколько уступает pfSense, но по заверениям разработчиков это временно. Я свой выбор остановил на OPNSense.

Кроме улучшенной защиты открытая операционка для роутера может дать нам некоторые дополнительные функции. Например, мониторинг активности ваших домашних компьютеров и мобильных устройств. В последнее время вред может приносить не только тот трафик который идет к вам (вирусы, трояны и пр), но и трафик, который идет от вас (сбор информации на вашем ПК и отправка куда нужно. Так поступает, например, Windows 10). Не помешает функция IPsec VPN-сервера для ваших мобилок, чтобы шифровать весь трафик с них. Или функция VPN тунеля до соответствующего провайдера, чтобы обойти запреты на посещение определенных сайтов или при необходимости анонимизировать себя в интернете.

Железо

Для наших целей может подойти старый и ненужный компьютер. Однако, габариты, шум, энергопотребление и надежность старого железа могут сильно разочаровать. С другой стороны я не ставлю перед собой целью сделать функциональный, безопасный и при этом максимально бюджетный роутер. Есть смысл потратить немного денег на нормальное железо.

С точки зрения все перечисленных ранее критериев очень хорошо смотрятся решения с уже распаянными процессорами на плате mini-ITX (17х17 см). Например, плата Gigabyte GA-J1900N-D3V с процессором Celeron J1900 (TDP 10 Вт), пассивным охлаждением и двумя встроенными гигабитными сетевухами.

IMG_7906

Есть более интересный вариант на чипе Celeron N3160 — Gigabyte GA-N3160TN, но эту плату мне не удалось найти в продаже. Прикол в том, что она почти в 2 раза тоньше, может работать в более тяжелых условиях окружающей среды, блок питания уже распаян на плате и всю плату можно запитать от любого универсального ноутбучного зарядника с напряжением 19-24V. TDP у процессора N3160 всего 6 Вт.

ga-3160

Есть еще неплохой вариант — плата GA-N3150N-D3V. Полный аналог Gigabyte GA-J1900N-D3V, но на более современном и экономичном проце N3150. У других производителей так же есть похожие материнские платы. Самая большая трудность найти такую материнку, чтобы были и процессор с пассивным охлаждением и две встроенных сетевухи и дополнительная защита от скачков электричества и порты ввода-вывода. В некоторой степени представленные материнские платы Gigabyte уникальны среди аналогов, которые доступны в рознице. Да, есть специальные платы промышленного назначения, которые гарантировано будут работать в сложных условиях и количество распаянных интерфейсов может быть больше 2х, но, во-первых, цена таких плат совершенно другая, а во-вторых, достать их куда сложнее. Что касается продукции Gigabyte, то все перечисленные материнские платы стоят в районе 6000-7000 руб.

Запитывать mini-ITX материнскую плату от обычного блока питания слишком нерационально: он большой, со своим встроенным кулером и сильно избыточной мощностью для наших нужд. Смотрите сами, среднестатистический БП размером с материнку и при этом почти в 3 раза толще её. Плюс куча ненужных проводов. Куда все это девать?

IMG_7908

На AliExpress или eBay за 1000 руб можно купить миниатюрный БП на 80-160 Вт от китайских мастеров, который как нельзя лучше подойдет для роутера. Весь блок питания располагается прямо на ATX разъеме, при этом не шумит и не греется. Я проверил. Есть модели с питанием 19-24В, есть модели с питанием 12В. Я выбрал последний (может быть потом сделаю для роутера встроенный ИБП с аккумулятором 12В и схемой подзарядки).

IMG_7904

Так же для миниатюрного БП нам понадобится зарядник. В моем распоряжении оказался зарядник на 12В 4А. Кроме этого понадобится планка оперативной памяти (1000 руб), кнопка включения роутера (15 руб) и USB флешка (500 руб) вместо жесткого диска для минимизации энергопотребления всего роутера. Всё в сборе на столе выглядит так:

IMG_7907

Заключение

В итоге, стоимость роутера с возможностью установки open-source операционной системы приближается к 9000 руб без корпуса. Я планирую напечатать корпус на 3D принтере, по стоимости должен уложиться в 500 руб. Расскажу об этом по готовности.

К роутеру вам понадобится коммутатор для подключения всех проводных компьютеров дома и как минимум одна Wi-Fi точка доступа для ноутов и мобилок. В сумме выходит совсем недешево. Но в данном случае цена не самый главный показатель: кому нужна защита уж точно не будет покупать роутер за 1500 руб, а решение на базе mini-ITX компьютера + коммутатор + отдельная Wi-Fi точка доступа по стоимости оказывается очень даже сопоставимым с такими монстрами как D-Link DIR-890L стоимостью 17000 руб, при этом защищенность от взлома будет явно не в пользу последнего.

комментария 2

  1. Андрей:

    Хотелось бы узнать побольше какие преимущества и недостатки есть у свободных операционок если делать роутер на их основе.

  2. maxx:

    Интересная статья, ждем продолжения!
    Кстати, можно в этот роутер установить Wi-Fi PCI-e адаптер и получить точку доступа. Если квартира маленькая, то мощности вполне хватит. Проводная сеть дома тоже не всем нужна. Получаем экономию на покупке Wi-Fi точки доступа и коммутатора.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*