Поднятие криптошлюза на базе Континент-АП 3.6 и PfSense
Как-то нашей больнице понадобилось создать защищённое соединение с МИАЦ, да не просто подключить один компьютер на пару часов, а так чтобы были подключены все компьютеры сети всегда. Для решения этой задачи соседние больницы уже давно используют аппаратный криптошлюз версии 3.6 и вообще не парятся, но сейчас он снят с производства и его нигде не достать, а новая версия не совместима с версией 3.6. Предлагают единственный выход покупать на каждого пользователя отдельно КРИПТО-ПРО + Континент АП 3.6 и получать целую кучу сертификатов. Это совсем не дело и я решил попробовать расшарить соединение Континента-АП, установленного на одном компьютере, т.е. создать как-бы криптошлюз на базе Континент-АП 3.6.
Вопреки некоторым сообщениям что это невозможно, не поддерживается и прочее, у меня всё-таки получилось. Делюсь:
Имеем системный блок с установленной Windows XP.
Устанавливаем КРИПТО-ПРО_3.6_R4, вводим заранее приобретенный лицензионный ключ.
Устанавливаем Континент АП 3.6.19.47080 с межсетевым экраном.
Установка защищённого канала связи с КГБУЗ «МИАЦ» МЗ ХК посредствам Континент-АП 3.6
Далее я буду указывать реальные IP и доменные адреса, использующиеся в настройке. Информация актуальна на 21 июля 2016 года.
При установке Континента-АП вводим IP-адрес сервера доступа: 188.72.75.210
На этот раз мне не понадобилось доустанавливать .NET для нормальной работы Контенента-АП, хотя в прошлый раз без этого он бил пакеты
Жмём кнопку Готово и перезагружаемся.
Теперь нужно добавить два сертификата: root.p7b и user.cer.
У меня имеется носитель JaCARTA с помощью которого будет проходить подключение. По вопросу получения файлов root.p7b и user.cer нужно обратиться в техподержку МИАЦ 8(4212)910-505. Запрос на сертификат делается из меню Континента-АП Сертификаты -> Создать запрос на пользовательский сертификат…
Заходим в меню Континента-АП: Сертификаты -> Установить сертификат пользователя, указываем файл user.cer. Выбираем ключевой контейнер на носителе JaCARTA, с помощью которого был сделан запрос на получение сертификата. Если всё верно, увидите сообщение:
Затем опять же в меню нажимаем Установить/разорвать соединение -> Установить соединение Континент-АП. Выбираем только что установленный сертификат, ставим галочку Всегда использовать данный сертификат при подключении.
При появлении сообщения
нажимаем Да.
Ещё на каком-то этапе Континент-АП попросит ввести файл root.p7b. Я его уже раньше вводил, поэтому сейчас он меня об этом не просил.
По итогу значок Континента-АП должен посинеть, что символизирует успешную установку соединения.
Как обойтись без использования съемного носителя и записать сертификат в реестр описано тут
Первый этап завершен, результатом явилось открытие в браузере адресов:
- http://192.168.10.8/ — ЕИС Демография
- http://10.30.1.16/ — Видеоматериалы совещаний
Раздача соединения Континент-АП 3.6
Лучше сделать IP-адрес компьютера статическим, например, 192.168.0.251. Так как компьютеры у меня получают адреса по DHCP, то я, пожалуй, настрою для данного MAC-адреса сетевой карты свой заразервированный IP. Для этого захожу в PfSense в меню Status -> DHCP leases, нахожу этот компьютер по настоящему IP-адресу
и переназначаю его
Жмём Save, затем Apply Changes.
Чтобы изменения вступили в силу нужно разорвать и вновь установить соединение на компьютере с Континентом-АП.
После этого заходим в Панель управления -> Сетевые подключения -> Континент-АП -> Свойства -> вкладка Дополнительно
В разделе Общий доступ к подключению к Интернету устанавливаем галочку напротив Разрешить другим пользователям сети использовать подключение к Интернету данного компьютера. Остальные две галочки должны быть сняты.
Нажимаем OK.
Теперь заходим в Панель управления -> Сетевые подключения -> Подключение по локальной сети -> Свойства -> свойства Протокола Интернета (TCP/IP)
Видим что без какого-либо предупреждения IP-адрес стал совершенно другим, да ещё и статическим! Исправляем это недоразумение на получение IP и DNS автоматически.
Если этого не сделать, то Континент-АП напрочь откажется подключаться, выдавая ошибку 619: Не удаётся подключиться к удаленному компьютеру
Пробуем подключться с помощью Континент-АП. Если значок посинел, и в браузере открываются адреса http://192.168.10.8/ и http://10.30.1.16/, то всё прошло успешно.
Однако, на других компьютерах сети эти адреса не открываются. Всё потому что нужно задать маршрут чтобы при обращении компьютеров к сетям 192.168.10.0/24 и 10.30.0.0/16 соединение шло не через прокси, а через шлюз Континента-АП с IP-адресом 192.168.0.251.
Для этого заходим в PfSense -> System -> Routing и создаём новый шлюз
Указываем:
- Interface: LAN
- Name: Любое информативное название
- Gateway: IP-адрес нашего компьютера с Континент-АП
Нажимаем Save, затем Apply Changes.
Далее заходим во вкладку Routes и создаём два маршрута (192.168.10.0/24 и 10.30.0.0/16 через шлюз 192.168.0.251):
Не забываем нажимать Apply Changes.
Таким образом, мы создали правила маршрутизации, однако, маршрутизация получится ассиметричная и RDP-соединение будет постоянно слетать. Для этого идем в System -> Advanced -> Firewall and NAT и устанавливаем галочку Bypass firewall rules for traffic on the same interface
Теперь с любого компьютера в сети сайты
- http://192.168.10.8/ — ЕИС Демография
- http://10.30.1.16/ — Видеоматериалы совещаний
должны быть доступны.
Добавление DNS сервера МИАЦ
Для обращения к ресурсам КГБУЗ МИАЦ по именам, нужно добавить их DNS сервер в настройки pfSense.
Для начала попробуем его пропинговать: ping 192.168.10.10
Если в ответ получаем что-то вроде Превышен срок жизни (TTL) при передаче пакета., то звоним в МИАЦ по телефону 8(4212)910-191 и говорим что не пингуется ваш DNS-сервер. Они должны добавить какое-то правило для Вашего сертификата и пинг пойдёт.
Теперь заходим в pfSense -> Services ->DNS Resolver и в самом конце в разделе Domain Overrides создаём новую запись:
- Domain: medkhv.ru -домен МИАЦа
- IP address: 192.168.10.10 -адрес DNS-сервера в МИАЦ
Для проверки заходим в pfSense -> Diagnostics -> DNS Lookup в пробуем medts.medkhv.ru
Ответ должен быть примерно такой (иногда срабатывает не с первого раза):
Теоретически должно работать RDP-соединение с медиалогом на всех компьютерах.
Если не работает
То запускаем cmd и выполняем команду nslookup medts.medkhv.ru:
Если выдаёт
то значит, что он пытается разрешить имя с помощью DNS-сервера 192.168.0.250 (у меня это DNS контроллера домена). Поэтому нужно сделать перенаправление на прокси сервер pfSense 192.168.0.254, который, в свою очередь, перенаправит на МИАЦевский DNS 192.168.10.10.
Контроллер домена у меня построен на SerNet Samba 4, и для настройки форвардинга нужно редактировать файл smb.conf:
Открываем консоль, идём в папку /opt/samba/etc и выполняем команду nano smb.conf
дописываем строку в раздел [global]: dns forwarder = 192.168.0.254 и сохраняемся. Перезагружаем контроллер домена. Теперь nslookup medts.medkhv.ru показывает следующее:
Не заслуживающий доверия ответ — это значит что DNS-сервер 192.168.0.250 не сам знает, а спросил у другого. Теперь должно всё работать.
P.S.: Ещё пара команд
ipconfig /flushdns — сброс кэша распознавателя имен
Start -> Run -> services.msc -> Enter
Находим службу «DNS-клиент» и перезапускаем ее.
Один комментарий к “Поднятие криптошлюза на базе Континент-АП 3.6 и PfSense”
Очень круто)