Pull to refresh

Comments 22

А нужно то было просто свой VPN/любая Zerotrust сеть/ поднять и не публиковать домашние сервисы наружу по IP.

Конечно входить только по VPN это лучше всего. Но у HA есть подключение с мобильного приложение и передачи некоторых данных. Я например это использую в автоматизациях. Так же есть внешние сервисы которые должны пробиваться на сервер. Яндекс например. Так что в статье описано много интересного. Я на 70% настраивал так же. Новое тоже почерпнул! Спасибо автору!

На порт 8443 с высокой вероятностью не сможете зайти с корпоративного или публичного Wi-Fi. Мне из-за этого наоборот пришлось перевесить все сервисы, даже те которые изначально были на нестандартном порту, на порт 443.

Использовать VPN и не публиковать наружу, как предложили в соседнем комментарии, не подойдет. Мне, например, нужно постоянная передача геолокации устройства в Home Assistant. А постоянно включенный VPN сильно потребляет батарею. Да и не забываем, что VPN внезапно может оказаться заблокированным, даже внутри РФ.

Ограничение доступа по стране, возможно имеет смысл для домашнего сервиса в том случае, если вы не выезжаете заграницу. Но в целом тенденция возводить границы в интернете мне определенно не нравится. Лучше уж старый добрый fail2ban прикрутить.

Не нравится VPN, можно старый добрый port knocking использовать. Благо knockd прикручивается легко и просто.

port knocking - это когда нужен разовый периодический доступ. Вот вам понадобилось зайти, вы стучитесь на нужный порт, после чего заходите.

У меня устройства постоянно и круглосуточно в фоновом режиме отправляют в HA свою геолокацию и другие данные, для этого нужен постоянный доступ без каких-либо дополнительных условий.

На счет fail2ban, как я и писал в статье, если ваш сервер уже попал в базу, и в какой то момент злоумышленники нашли дыру в определенной версии HA, например http запрос с sql инъекцией(самое банальное что на ум пришло), то fail2ban тут не поможет. Не помешает ограничить хотя бы по странам, это уже огромный кусок ботов отлетает не в ущерб не вам не вашей семье. Ну добавьте в firewall турцию, и тай, и нормально. Если часто путешествуете вообще по всему миру, тогда конечно моя статья не для вас. В принципе каждому свое

Отключить IPV6

и предоставить права администратора/запуск сервиса от рута. Индусячьи поделки и советы прям прут изо всех щелей.

Сделайте наконец доступ "во внутрь" через VPN, он-то для этого и предназначен, и не балуйтесь со всякими клауд-фларами, мой Вам дружеский совет. Вы всегда контролируете AS или диапазоны адресов, которые Вам даст Ваш провайдер? А то и они блекхолить умеют, пошло движение в сторону атаки на любой(!) ими защищаемый ресурс, и "ввиду криволапости наших админов мы залочили полмира" (с) было дело, тут неоднократно описывали

Вы лично теряете доступ к своим, подчеркиваю еще раз своим(!) ресурсам.

И да, можно в мануале всегда(!) использовать порт 77777 (помогает от явных копирастеров), как и замена одного из октетов своего айпишника на 321 (как в статье) (тут был тег сарказм, но его съел редактор)

UFO landed and left these words here

ip.geoip.asnum lt 29092 … or … ip.geoip.asnum gt 29337

Мы указали правило, при котором мы блокируем все AS, которые не входят в диапазон 29092-29337

Гораздо читабельнее было бы обернуть инклюзивное условие в оператор not. Иначе вообще непонятно, по какой логике построен код, без чтения изначальной задачи.

согласен, дело в том, что я не смог нагуглить синтаксис этой темы, поэтому выкручивался как мог. На досуге протестирую оператор not

Смена портов от сканеров в наше время помогает примерно никак. А если уж порты переносятся по соображениям безопасности - имеет смысл включить tarpit.

Блокировка по странам/провайдерам приведёт к отвалу приложения при каждом включении зарубежного vpn.

Использование домена уровня 3 и выше имеет смысл только с wildcard сертификатом.

В итоге вся защита свелась к настройке CloudFlare :-(

  1. Как уже указали в комментариях, изменение порта отсрочит старт перебора паролей на несколько секунд, а 8443 это примерно как додуматься задать пароль не password, а passw0rd (букву o заменить на цифру 0), но при этом может добавить проблем, поэтому, сейчас менять порт только для повышения безопасности смысла нет.

    Поддомены не особо отличаются от домена по безопасности, особенно если это hass и www

  2. С 1 марта у нас запрещено рекламировать эти сервисы, но если параносить по безопасности и фильтровать по странам и ip, то намного надежней инкапсулировать трафик в более безопасный протокол надежно полключаться к своему инстансу из любой точки мира.

  3. IPv6 сомнительно отключать, по мне так, минусов больше, чем плюсов от отключения, а безопасность все равно не увеличит лучше, чем предыдущий пункт

  4. Еще надо учитывать, что к HA можно подключить Google Home или Алису, тогда надо обеспечивать доступ к HA от этих серверов, причем, они очень сильно любят ходить по IPv6 и при наличии DNS записи AAAA даже не будут пытаться подключиться по ipv4 (в отличие от браузера)

  5. Ну и в плане надежности и отзывчивости, особенно для того, чтобы управлять HA из яндекс станции, cloudflare даст пусть и небольшую, но задержку

с включенным IPv6 иксбокс категорически отказывается подключаться, в итоге в openwrt вырубил его, и не первый раз с таким встречаюсь. Гуглил про плюсы, каких-то значимых не нашел. Можете поделиться, какие плюсы для себя лично Вы определили?

Самый правильный вариант, соглашусь. Сгенерить каждому пользователю и устройству свой сертификат лет на 5 и забыть о том, что кто-то сторонний может дойти до HA.

Для Алисы и прочих исключений в nginx сделать точечные исключения.

Воу, наконец то одобрили мою первую статейку, и комментариев уже столько, чтож, нужно ответить

  1. Использовать VPN самый надежный вариант, но как уже другие юзеры отписали, это не всегда удобно. Я ранее пробовал сидеть с OpenVPN на мобилке на постоянку, но часто отлетало и да, батарею кушало, поэтому метод с VPN лично для меня был не актуален, ну и как оказывается не только для меня

  2. Сменить порт, это защита ни о чем, согласен. Но я в свое время проверял, она отсеивает приличное кол-во тупых ботов, которые запрограммированы на порты 80 и 443. И так как у меня везде в округе разрешено юзать 8443, я так и сделал, хуже уж точно не будет и стоит об этом упомянуть, а дальше уже каждый сам решит, менять или оставить 443

  3. IPV6. В целом мои знания ограничены в этом. Я лишь испытывал одни трудности, создавая сайты с поддержкой IPV6. Мне он не нужен, скорее всего не нужен и многим, отключить его не сразу понятно как, поэтому решил уместным отписать как это сделать. Если вдруг окажется, что ipv6 жизненно необходим, то обязательно дополню статью, пока что не вижу в нем смысла

  4. Про подключение к HA алисы и гугла, я уж не стал писать, разумеется нужно будет добавить их AS в белый список

  5. При использовании cloudflare, задержка увеличится на ~30 милисекунд. Мы не в кс играем, чтобы вообще думать об этом мгновении. Однако повторюсь, что находясь дома, я бы хотел чтобы задержка стремилась к нулю, чего мы и добиваемся, используя дома локальный адрес (см настройки приложения HA)

  6. Ну и разумеется, все что я описывал выше как идею, можно перенести непосредственно в nginx. Я реализовал на cloudflare, потому что: почему бы и нет? Просто и быстро

  7. Провайдеры могут косякнуть, может произойти так, что вы на своем мобильнике выйдите в сеть под другим AS и попадете в блок, на этот случай как я уже и писал в статье, должен быть VPN поднят. Потом приедете домой и добавите новый блок AS в правила WAF. Не думаю что это будет частым явлением, но время покажет

  8. Обязательно ставить HA на поддомен. Вы вот шутите, а за последние 24 часа у меня на корневой домен ломилось 70 ботов, а на поддомен не одного. Как я и писал, задача сузить круг, сделать так, чтоб никто вообще не знал о самом существовании вашего HA.

Не все родственники могут поднять на своих девайсах VPN/Zerotrust по инструкциям. А тут человек применяя свои скиллы сделал все достаточно удобно, организовав доступ по единой ссылке. Такая конфигурация чаще используется чв продакшене в организациях, чтобы ничего руками не настраивать на устройствах.

Я если честно не очень понял как происходит взаимодейтсвие ha с cloudfire, cf рабоатет как прокси, или как dns ресолвер? а то выглядит так как будто ha все равно выставил свой порт наружу - сканbруй не хочу.

cloud как прослойка между клиентом и HA

да, порт наружу мы пустили, поэтому мы в правиле nginx заблокировали всех, кроме IP cloudflare

Wireguard или тотже l2tp до своего роутера, доступ к ha только из локалки и все. Не надо параноить

Sign up to leave a comment.

Articles