Однажды любимый FireFox (было довольно давно просто руки не доходили написать) перестал меня пускать в Web-интерфейс одного из моих межсетевых экранов. То был шлюз D-Link DFL-860E. Браузер страшно ругался на сертификат. Уж не знаю кому из команды FireFox пришла в голову идея бороться за мою безопасность, но у меня по этому поводу возникла желание сказать этому человеку «пару ласковых». Отмечу что Хром тоже матерился на на сертификат, но он хотя бы допускал до управления шлюзом.
В общем надо было что-то делать. Ввиду того, что повлиять на политику современного интернета мне не удастся, я решил повлиять на межсетевой экран.
На первом этапе действа было необходимо создать самоподписанный сертификат для того, чтобы потом прикрутить его к D-link-у.
Возьмём какой-нибудь линуксовый сервер (я взял незабвенную Ubuntu) и на нём будем генерировать нужный нам ключик. (Забыл отметить, что на нём должен быть установлен пакет openssl). Для этого нам потребуется консольная команда:
openssl req -new -newkey rsa:2048 -node -x509 -days 3650 -subj /C=RU/ST=Obl/L=Gorod/O=Kompan/OU=User/CN=etc/emailAddress=support@site.com -out ca.crt
Данная команда генерирует и сохраняет нужный нам сертификат в файле ca.crt и в той же папке сохраняет закрытый ключ для данного сертификата в файле privkey.pem. Если Вы хотите изменить имя файла закрытого ключа прямо на этапе генерации, то стоит указать ещё один параметр данной команды: -keyout ca.pem сразу после параметра -nodes и тогда секретный ключ сохраниться в файле ca.pem.
Несколько слов про параметры команды:
-newkey rsa:2048 — это указание создать новый закрытый ключ RSA с длинной 2048 байт (по задумке «великих благодетелей Веб-а» длинна должна быть не менее этой).
-nodes — указание, что закрытый ключ шифровать не надо.
-x509 — указание, что надо создать самоподписанный сертификат.
-days 3650 — указание, что срок действия сертификата 10 лет.
-subj — просто данные сертификата.
-out — файл сертификата.
Таким образом мы получили необходимый нам сертификат вместе с секретным ключом.
Теперь осталось просто добавить его в наш D-Link.
Замечу: все действия выполняются на прошивке версии 10.22.01.04.
Сначала загрузим сертификат на шлюз. Для этого заходим в группу меню Objects (меню сверху), выбираем пункт меню Key Ring (меню слева) и в выпадающем списке +Add выбираем пункт Certificate. На новой странице выбираем пункт Upload X.509 Certificate нажимаем «OK». Далее нас два раза спрашивают «какой файл?»: первый файл сертификата (в нашем случае ca.crt), вторым файл секретного ключа (В нашем случае privkey.pem). Вот и всё загрузка закончена, осталось прикрутить загруженное к системе.
Для этого заходим в группу меню System (меню сверху), выбираем пункт меню Remote Management (меню слева) и нажимаем на кнопочку Advanced Settings. На новой странице в выбираемом поле HTTPS Certificate выбираем наш сертификат (здесь он будет виден нам под тем именем, которое мы дали ему при загрузке на шлюз), нажимаем «OK» и «сохранить и применить конфигурацию». Всё с этого момента Web-интерфейс нашего шлюза будет нормально открываться во всех современных браузерах (если конечно кому-нибудь снова в голову что-то не тюкнет).
Примечание: указанною прошивку можно скачать с сайта производителя по адресу http://tsd.dlink.com.tw/