MIKROTIK - ЗАЩИТА ВЕБ-МОРДЫ ОТ БАБУИНОВ ИЗ ЭТИХ ВАШИХ ИНТЕРНЕТОВ

МЕТОД1

79c24669579d069747f25f6839608c52

Если вы полезете на веб-морду вашего Микротика из Интернета по протоколу http, то, может статься, какой-нибудь особо-умный бабуин, вооружившись wireshark-ом или еще каким-нибудь сниффером, сможет перехватить ваш трафик и выловить из него пароль администратора, после чего, получив доступ к шлюзу, напихает туда воз и еще маленькую тележку всяких троянов и прочего говна. Чтобы избежать подобного конфуза, хорошие люди придумали протокол https, который шифрует ваш трафик, тем самым значительно усложняя задачу злоумышленнику. Приступая к настройке, заранее обеспечим доступ к устройству через winbox, на тот случай если мы собственными кривыми ручками чего-нибудь нахуевертим не того. Для этого идем в IP->Services и назначаем порт для связи с winbox-ом. Можно оставить по умолчанию. Допустим, 8291. Пока мы находимся в меню Services, заодно убедимся, что службы www и www-ssl работают на портах 80 и 443 соответственно. Далее, переходим в IP->Firewall и создаем правило: Add New -> Chain - input, Dst.Port - 8291, action - accept. Теперь переходим в IP->Firewall->NAT и временно отключаем цепочки dst-nat на 80-й и 443-й порты (конечно, если они у нас есть). Так мы подготовились к получению сертификата от let's encrypt. Почти. Осталось только включить DDNS-Cloud и уточнить наш адрес. IP->Cloud, поставить галки на DDNS Enabled и Update time, скопировать адрес в буфер. Адрес должен выглядеть примерно так:

XXXXXXXXXXXX.sn.mynetname.net

Отсюда идем в терминал и набираем следующую команду:

certificate/enable-ssl-certificate dns-name=XXXXXXXXXXXX.1side.ru

Чтобы не печатать слишком многабукав, можно воспользоваться клавишей Tab - система, как и в CISCO IOS, сама допишет очевидное.

Если все прошло гладко, скрипт должен сгенерировать, скачать и установить ssl-сертификат. На всякий случай, перейдем в IP->Services->www-ssl и убедимся, что он появился в поле Certificate.

По сути, настройка готова. Однако, если у вас, например, работает веб-сервер через NAT, то ему понадобятся порты 80 и 443 и поэтому теперь следует снова активировать соответствующие  цепочки dst-nat, а в правилах Firewall chain-accept не помешает прописать удобные для вас порты, через которые вы будете подключаться к веб-морде и, напоследок, привести к надлежащему виду  службы www и www-ssl. Последний нюанс... Обращаясь к роутеру извне, полезно явно указать протокол https. Запрос из адресной строки браузера должен быть примерно такой:

https://your.domain.ru:666

Где 666 - порт, прописанный в www-ssl и в chain-input.

МЕТОД2

С другой стороны, нахрена нам этот Let's Encrypt? Можно ведь выпустить свой собственный сертификат! Да, браузеры будут ругаться, что это беспонтовый самопал, но нам-то что с того?! Главное, чтобы работало! 

System->Certificates->Add New:

Screenshot 20221209 182614 Chrome

Заполняем очевидные поля. Тут важно указать CA CRL Host. Там можно накарябать свое мыло, но в моем случае это не сработало, сработало DNS-имя сайта. Потом, чтобы лыжи поехали, жмякнем кнопку Sing. Там надо проставить галки, снова указываем наш CA CRL Host, Ок. Как и в предыдущем случае, службе www-ssl необходимо указать на наш новоиспеченный сертификат.

А еще лучше просто тупо настроить обратный прокси-сервер с сертификатами от Let's Encrypt.