Сегодня интернет плотно проник во все сферы нашей жизни и превратился в столь же привычный и необходимый предмет, как электричество или водоснабжение. И это не преувеличение: работа, обучение, онлайн-сервисы - все это требует доступа в сеть, что не только открывает новые возможности, но порождает новые проблемы. Одна из них - защита детей от неподходящей для их возраста информации, а также контроль времени, проводимого ими в сети. При том, что решать данную задачу следует гибко, с учетом возраста и реальных потребностей детей, не ограничивая при этом возможности родителей.
Онлайн-курс по MikroTik
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Большинство статей в сети интернет рассматривают отдельные инструменты или методики родительского контроля, в то время как это сложный и многогранный вопрос, особенно если есть несколько детей разного возраста. Действительно, ограничения для ученика начальной школы и подростка могут и должны быть разными. Мы не сторонники жесткого закручивания гаек, стремление оградить ребенка от всего чего только возможно также плохо, как и бесконтрольный его доступ ко всем ресурсам сети. Во всем нужен разумный баланс.
Также не будем забывать об устройствах общего доступа. Это может быть семейный компьютер, доступ к которому имеют все члены семьи, при этом часть времени он остается бесконтрольным, когда родители еще на работе, а дети уже пришли со школы. В эту категорию также можно добавить умные телевизоры, игровые и телевизионные приставки и т.д. и т.п. Для этой категории устройств доступ должен быть выборочным, применяя ограничительные меры на те периоды времени, когда родителей нет дома.
В данной статье мы рассмотрим комплекс мер, который основан на собственном опыте и отражает наше видение политики гибкого родительского контроля, который будет реализован на базе RouterOS.
Распределение устройств по группам
В основе любых ограничительных мер лежат списки объектов, к которым данные меры применяются. И чем более гибкие политики мы хотим создать, тем более точным должно быть разделение на группы. Да, можно создать единственную группу - Дети, но вряд ли вы сумеете настроить ограничения таким образом, чтобы они подходили и ребенку 7-8 лет и 14-15 летнему подростку. Поэтому далее будем предполагать, что у нас есть условный младшеклассник Иван, подросток Маша и некоторое количество устройств общего пользования, такие как умный телевизор или компьютер в зале.
Каждый из детей имеет собственные устройства и все эти устройства нам нужно учесть и распределить по группам, здесь нам поможет резервирование DHCP.
Перейдем в раздел DHCP Server - Leases и зарезервируем за каждым устройством сетевые настройки. Для этого выбираем нужное устройство в списке, открываем его свойства и нажимаем Make Static.
После чего на закладке General станут доступны дополнительные настройки, нам нужно указать для каждого устройства свой список адресов. В нашем случае мы создадим свой список для каждого ребенка и еще один для устройств общего пользования. Внизу закладки найдите поле Address List и выберите нужный список, если он отсутствует, то просто укажите его название, он будет создан автоматически.
В итоге у вас должен получиться набор динамических списков, каждый из которых содержит адреса нужной группы устройств:
Не забывайте снабжать комментариями объекты, добавляемые в списки, это поможет сохранять удобочитаемость настроек и облегчит дальнейшее сопровождение.
Блокировка нежелательных ресурсов
Один из самых сложных и ответственных вопросов. Мы уже обсуждали вопрос блокировки на основе списков в наших статьях, но в данном случае это поможет мало. Одно дело - заблокировать наиболее популярные ресурсы-пожиратели времени в офисе и совсем иное - оградить детей от всего возможного объема нежелательной информации. Здесь нам на помощь придут специализированные DNS.
Первое, что приходит на ум, это Яндекс.DNS Семейный и аналогичные сервисы других DNS-провайдеров. Но, на наш взгляд, для детей младшего возраста такой фильтрации недостаточно, так как Яндекс Семейный фильтрует только явные материалы 18+, оставляя очень много неоднозначного контента за бортом.
Поэтому для наиболее полной фильтрации мы используем сервис SkyDNS, который представляет гораздо более специализированное коммерческое решение, тариф SkyDNS.Домашний обходится всего в 395 руб/год, что по силам любому семейному бюджету. Сервис имеет гибкие настройки и позволяет достаточно тонко управлять блокируемыми тематиками.
Мы будем использовать оба DNS-сервиса, Яндекс для более взрослых детей, которых уже не требуется ограждать от всего и вся и SkyDNS для младших, которым пока требуется более безопасная выдача.
Перенаправлять запросы клиентских устройств на нужные нам DNS можно сделать различными способами, мы будем использовать перехват пакетов на роутере, что позволит одновременно организовать защиту от ручного изменения настроек на клиенте. Для этого перейдем в IP - Firewall - NAT и добавим новое правило. Закладка General : Chain - dstnat, Protocol - udp, Dst.Port - 53.
На закладке Advanced в поле Src. Address List выбираем нужный нам список устройств.
И на закладке Action укажем действие: Action - dst-nat, To Addresses - 193.58.251.251, где в качестве адреса укажем IP-адрес нужного нам сервиса DNS, в данном случае приведен адрес SkyDNS.
Затем сделаем копию этого же правила для протокола tcp.
В консоли добавить правила можно командами:
/ip firewall nat
add action=dst-nat chain=dstnat dst-port=53 protocol=udp src-address-list=IVAN to-addresses=193.58.251.251
add action=dst-nat chain=dstnat dst-port=53 protocol=tcp src-address-list=IVAN to-addresses=193.58.251.251
Аналогичным образом добавляем перенаправление для других групп устройств к своим DNS-серверам. Отдельного разговора требует группа общих устройств, для них мы укажем дополнительное условие. Для этого перейдем на закладку Extra, развернем блок Time и в полях Time и Days укажем расписание, по которому будем применять ограничения. В указанное время все запросы будут идти к безопасным серверам, а в остальное - к основному DNS-серверу и фильтрация производиться не будет.
Это же действие в терминале:
/ip firewall nat
add action=dst-nat chain=dstnat dst-port=53 protocol=udp src-address-list=COMMON time=8h-18h,mon,tue,wed,thu,fri to-addresses=77.88.8.7
add action=dst-nat chain=dstnat dst-port=53 protocol=tcp src-address-list=COMMON time=8h-18h,mon,tue,wed,thu,fri to-addresses=77.88.8.7
В результате у вас должен получиться набор правил для каждой группы устройств, обратите внимание, что правило для группы общих устройств выделено красным и снабжено комментарием # inactive time, в данный момент указанные нами условия не выполняются и такое правило применено не будет.
При использовании общих устройств учитывайте такой момент, как локальный DNS-кеш и DNS-кеш браузера. Что может привести к тому, что блокировки не будут работать, несмотря на то что правило активно. Как правило, в большинстве случаев, достаточно перезапустить браузер, но это помогает не всегда. Поэтому имейте это ввиду при посещении ресурсов на общих устройствах.
Проверим работу фильтров в действии, начнем со SkyDNS, попробуем посетить сайт одного неоднозначного шоу:
Отлично, все работает. Кроме фильтрации сайтов данный сервис принудительно включает безопасный режим для Youtube и эффективно контролирует содержимое его роликов. Сравним выдачу по одному и тому же запросу через SkyDNS и обычный DNS-сервер:
Как видим, фильтр работает весьма эффективно, отсекая практически весь нежелательный контент, при этом возможность изменить параметры фильтров в браузере будут заблокированы, даже при наличии прав локального администратора. А что будет, если на нежелательный ролик кто-то пришлет ссылку? Ничего страшного:
Разблокировать такие ролики локально также невозможно. Дополнительно можно включить безопасный поиск, когда все поисковый запросы будут перенаправляться на Безопасный поиск SkyDNS.
В общем, за два года использования данный сервис подтвердил свою эффективность и гибкость в использовании, по мере взросления ребенка часть фильтров можно отключать, предоставляя ему больше свободы в сети, не отказываясь при этом от контроля по тематикам ресурсов.
Яндекс.DNS Семейный подобной гибкостью похвастаться не может, он фильтрует преимущественно ресурсы, явно относящиеся к категории 18+. Неоднозначное шоу имея более низкий возрастной рейтинг (16+) будет спокойно доступно к просмотру.
Тем не менее явные сайты категории "для взрослых" будут однозначно заблокированы.
На наш взгляд, сервисы Яндекса хорошо подходят для более старших детей и использования на устройствах общего пользования, возможно даже на постоянной основе. Вместе с категорией 18+ блокируются явно нежелательные сайты: фишинг, мошенничество, варез и т.д., что неплохо подходит и для остальных членов семьи, особенно технически малограмотных.
Кроме Семейного у Яндекса есть безопасный Безопасный режим, который блокирует большинство небезопасных сайтов, но пропускает сайты 18+, его можно использовать, например, для старших членов семьи, которые не обладают достаточными навыками безопасного поведения в интернете.
Ограничение времени доступа в интернет при помощи функции Kid Control
Ограничение времени пребывания в сети - вторая по актуальности задача родительского контроля. В актуальных версиях RouterOS для этой цели есть специальный инструмент. Для его настройки перейдем в IP - Kid Control и на вкладке Kids добавим записи для каждого ребенка и группы устройств общего пользования, если доступ нужно ограничивать и к ним. В открывшемся окне добавляем промежутки времени для каждого дня недели в которые будет разрешена работа, таких промежутков может быть несколько.
Затем к каждой записи ребенка нужно привязать устройства, принцип здесь аналогичен резервированию DHCP - точно также привязываем MAC-адрес. Для этого на закладке Devices создаем новую запись и указываем там нужный MAC, его можно скопировать из динамической записи, которая исчезнет после привязки устройства.
Таким образом получим еще один список, содержащие записи детей и расписание доступа в сеть для них, заблокированная запись обозначается в списке флагом B.
Блокировка устройств, связанных с записью, осуществляется при помощи динамически формируемых правил брандмауэра, которые запрещают прохождение транзитных пакетов от устройства и к нему.
Кроме блокировок мы можем задавать ограничение скорости интернета, для этого придется в первую очередь заполнить время доступа, если этого не сделать, то будет считаться, что работа пользователя запрещена, затем выше, в полях Unlimited Rate для каждого дня недели указываем промежутки, когда возможен доступ без ограничения скорости, таких промежутков может быть несколько. И наконец в самом низу, в поле Rate Limit указываем ограничение скорости, в нашем случае 1 Мбит/с.
При указании даты есть свои особенности, формат записи не поддерживает значение секунд отличное от нуля, поэтому для окончания суток вместо 23:59:59 используйте запись вида 1d 00:00:00.
Следующий момент - ограничение скорости не работает при включенном Fasttrack, отключение которого может привести к высокой нагрузке на процессор, поэтому для слабых роутеров такой вариант скорее всего будет неприменим. Да и скажем честно, ограничение скорости - нетипичный сценарий для домашнего использования.
Также мы неоднократно наблюдали высокую нагрузку на CPU просто при включении ограничения времени доступа, что может сделать применение Kid Control на слабых устройствах невозможным. Но это не является серьезной проблемой, ограничение по времени можно без особых проблем реализовать обычными правилами брандмауэра.
Ограничение времени доступа в интернет при помощи брандмауэра
По сути, Kid Control не делает ничего нового или уникального, он является всего лишь высокоуровневым интерфейсом для управления правилами брандмауэра и очередями. А значит все это можно сделать руками и в некоторых случаях это будет еще гораздо проще.
Есть два сценария реализации поставленной задачи: либо мы указываем диапазоны времени когда доступ клиента разрешен и запрещаем его в остальное время, либо запрещаем определенный временной промежуток и разрешаем вне его пределов.
Для начала рассмотрим первый вариант. Допустим мы хотим разрешить доступ с 10:00 до 23:00 вы выходные и с 17:00 до 23:00 в рабочие дни. Переходим в IP - Firewall - Filter и создаем новое правило. На закладке General указываем цепочку для транзитного трафика: Chain - forward.
На закладке Advanced в опции Src. Address List указываем список адресов устройств ребенка.
На закладке Extra в разделе Time выбираем нужные дни и указываем требуемый временной диапазон (ниже указано расписание для выходных дней).
После чего сохраняем правило. Затем делаем его копию и настраиваем расписание для рабочей недели. Если требуется задать несколько диапазонов, то создаем необходимое количество правил копированием, в каждом из которых меняем время действия правила на закладке Extra.
И завершаем наш набор правил запрещающим, для него мы заполняем закладки: General - указывая цепочку Chain - forward, Advanced - задав список адресов в Src. Address List и Action - reject.
В терминале это можно сделать командами:
/ip firewall filter
add action=accept chain=forward src-address-list=IVAN time=10h-23h,sun,sat
add action=accept chain=forward src-address-list=IVAN time=17h-23h,mon,tue,wed,thu,fri
add action=reject chain=forward reject-with=icmp-network-unreachable src-address-list=IVAN
Другой вариант предусматривает запрет только в определенный период времени, для этого мы создаем новое правило, как и в предыдущем примере заполняя закладки General, Advanced и Extra, после чего на закладке Action добавляем действие reject. Разрешающего правила в комплект с ним не нужно, так как политика по умолчанию разрешает все исходящие транзитные соединения.
В терминале выполните (для примера мы запретили доступ с 08:00 до 17:00):
/ip firewall filter
add action=reject chain=forward reject-with=icmp-network-unreachable src-address-list=MASHA time=8h-17h,mon,tue,wed,thu,fri
Данные правила следует разместить в самом начале цепочки FORWARD (т.е. выше всех остальных правил), также не забывайте снабжать правила понятными комментариями. Неактивные правила также будут выделены красным цветом и комментарием # inactive time.
Подобные наборы правил фактически делают все тоже самое, что и Kid Control, но не создают при этом лишней нагрузки на устройство.
Как видим, роутеры Mikrotik предоставляют достаточно широкие возможности по родительскому контролю, которые, к тому же, можно настроить несколькими разными способами.
Онлайн-курс по MikroTik
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Последние комментарии