В этом месяце довелось поработать с оборудованием от S-Terra, в частности с CSP VPN Gate 100. Самый обычный компьютер на базе micro ATX с установленной CentOS 5.3 и CryptoPro 3.6 Linux, единственное его назначение - это "поднятие" обычного VPN канала с использованием ГОСТовой криптографии.
Удовольствие использовать VPN шлюз с российским ГОСТ стоит около 30 000 рублей, а это еще задешево! Конечно, стоимость как всегда зашкаливает для всего оборудования, которое имеет в наличии сертификаты соответствия ФСТЭК и ФСБ, потому что продаются еще сетевые устройства под 200-300 тысяч рублей, при копеечной себестоимости.
Это не то, что бы отзыв об оборудовании S-Terra (а он будет!) так, как еще рано - нет достаточной эксплуатации под нагрузкой. А вот первые впечатления есть и они достаточно хорошие. Не смотря на то, что про достаточно большом количестве литературы от сборщика-производителя S-Terra наладить VPN канал было не так просто из-за нюансов. Поэтому скомпилировал mini guide для новичков, достаточный помочь сделать минимум не тратя времени.
Инициализация шлюза
Все просто следуйте согласно "Initialization_gatecp_guide.pdf", сложного нет: вводите номера лицензии СКЗИ, оборудования и прочего из прилагаемой документации на шлюз.
Генерация ключей
Очень долго пытался понять, как генерировать ГОСТовые ключи. В документация написано, что нужно использовать утилиту /opt/VPNagent/bin/cert_mgr, но её у меня не получалось. Понимая, что утилита использует не посредственно СКЗИ КриптоПро, то удалось сделать генерацию ключей самой СКЗИ.
Так как будем генерировать закрытый ключ и запрос на издание сертификата, который потребуется передать на CA сервер, то заранее смонтируем флеш-карту к шлюзу.
Сгенерированный ключ храниться в контейнере HDIMAGE\gate-alfa, копируем запрос на издание открытого сертификата на флеш-карту.
Теперь надо импортировать все сертификаты в хранилище на шлюзе, сделать это достаточно просто с помощью утилиты. Главное вначале импортируем сертификат CA сервера, потом CRL и в конце личный сертификат.
Проверяем наличие сертификатом в хранилище
Проверяем валидность нашего сертификата
По логике вещей можно уже настроить VPN канал. В инструкции к шлюзу написано, что сделать это можно через GUI интерфейс. Правда, предварительно надо установить пакет обновления, который устанавливает демон httpd, сайт и дополнительные утилиты.
Берем c https://support.s-terra.com/ из файлового обмена пакет cspvpngui-3.1-10499.noarch.rpm, сохраняем его на флеш-карту и переносим на шлюз для инсталляции.
В инструкции написано, чтобы настроить шлюз достаточно в окне браузера указать IP адрес интерфейса и приступить к легкой настройке через GUI. Попробуйте загрузить страницу сайта - не получиться, а попробовав запустить icmp на любой из интерфейсов - ответов не дождетесь.
Долго не мог понять в чем причина? Демон httpd работает, его конфиг исправен. Интерфейсы настроены, маршрутизация правильная, iptables чист, пока не наткнулся на маленький абзац.
Это был очередной нюанс! Весь трафик "откидывался" по-умолчанию!
В другой инструкции было найдено описание по настройке политики безопасности шлюза. Запускается утилита, которая симулирует cisco и воспринимает cisco-like команды. Мне понравился такой подход!
Убедиться, что правило добавлено можно так:
Теперь доступ к шлюзу по протоколу http есть, можно начать настраивать политку безопасности шлюза через GUI, а для почитателей cisco можно продолжить утилитой /opt/VPNagent/bin/cs_console
Удовольствие использовать VPN шлюз с российским ГОСТ стоит около 30 000 рублей, а это еще задешево! Конечно, стоимость как всегда зашкаливает для всего оборудования, которое имеет в наличии сертификаты соответствия ФСТЭК и ФСБ, потому что продаются еще сетевые устройства под 200-300 тысяч рублей, при копеечной себестоимости.
Это не то, что бы отзыв об оборудовании S-Terra (а он будет!) так, как еще рано - нет достаточной эксплуатации под нагрузкой. А вот первые впечатления есть и они достаточно хорошие. Не смотря на то, что про достаточно большом количестве литературы от сборщика-производителя S-Terra наладить VPN канал было не так просто из-за нюансов. Поэтому скомпилировал mini guide для новичков, достаточный помочь сделать минимум не тратя времени.
Инициализация шлюза
Все просто следуйте согласно "Initialization_gatecp_guide.pdf", сложного нет: вводите номера лицензии СКЗИ, оборудования и прочего из прилагаемой документации на шлюз.
Генерация ключей
Очень долго пытался понять, как генерировать ГОСТовые ключи. В документация написано, что нужно использовать утилиту /opt/VPNagent/bin/cert_mgr, но её у меня не получалось. Понимая, что утилита использует не посредственно СКЗИ КриптоПро, то удалось сделать генерацию ключей самой СКЗИ.
Так как будем генерировать закрытый ключ и запрос на издание сертификата, который потребуется передать на CA сервер, то заранее смонтируем флеш-карту к шлюзу.
[root@cspgate ~]# Mount –t vfat /dev/sda /tmpПри генерации ключей указываем их хранение на жестком диске, при этом пароль на контейнер не задаем. Во-первым, кто его будет постоянно вводит? Во-вторых, мне так и не удалось после импортировать открытый сертификат ключа в хранилище, когда контейнер закрыт паролем.
[root@cspgate ~]# /opt/cprocsp/bin/ia32/cryptcp -creatrqst -provtype 75 -cont '\\.\HDIMAGE\gate-alfa' -both -km -dn 'CN=GATE-ALFA,O=tls,C=RU' -certusage '1.3.6.1.5.5.7.3.2' /tmp/gate-alfa.reqПоясню, что означают некоторые ключи:
- -provtype 75 – тип криптопровайдера, по документации 70 или 75, выбрал 75
- -both – генерировать обе составные ключа, секретную и открытую (запрос на сертификат)
- -certusage – область применения ключа.
Сгенерированный ключ храниться в контейнере HDIMAGE\gate-alfa, копируем запрос на издание открытого сертификата на флеш-карту.
[root@cspgate ~]#cp /tmp/gate-alfa.req /ur/tmpИздаем открытый сертификат ключа на CA сервере, полученный сертификат сохраняем в DER формате. Дополнительно сохраняем в DER формате сертификат CA севера и CRL сервера. Копируем сертификаты на флеш-карту, возвращаем её в шлюз.
[root@cspgate ~]# umount /dev/sda
[root@cspgate ~]# mount –t vfat /dev/sda /tmpИмпорт сертификатов в хранилище шлюза
Теперь надо импортировать все сертификаты в хранилище на шлюзе, сделать это достаточно просто с помощью утилиты. Главное вначале импортируем сертификат CA сервера, потом CRL и в конце личный сертификат.
[root@cspgate ~]# /opt/VPNagent/bin/cert_mgr import –f /tmp/ca_root.crt –tПри импорте сертификата CA сервера обязательно указывается ключ -t, который указывает что этому корневому сертификату принудительно доверять. При импорте личного сертификата нужно указывать контейнер с закрытым ключом.
[root@cspgate ~]# /opt/VPNagent/bin/cert_mgr import –f /tmp/crl_root.crt
[root@cspgate ~]# /opt/VPNagent/bin/cert_mgr import –f /tmp/gate-alfa.crt -kc '\\.\HDIMAGE\gate-alfa'
Проверяем наличие сертификатом в хранилище
[root@cspgate ~]# cert_mgr show
Found 2 certificates. Found 1 CRL
1 Status: trusted ca@test.ru,C=RU,L=Petersburg,O=Bank,CN=CARoot
2 Status: local CN=GATE-ALFA,O=tls,C=RU
3 CRL: ca@test.ru,C=RU,L=Petersburg,O=Bank,CN=CAroot
Проверяем валидность нашего сертификата
[root@cspgate ~]# cert_mgr checkНастройка для возможности дальнейшей настройки.
1 State: Active ca@test.ru,C=RU,L=Petersburg,O=Bank,CN=CARoot
2 State: Active CN=GATE-ALFA,O=tls,C=RU
По логике вещей можно уже настроить VPN канал. В инструкции к шлюзу написано, что сделать это можно через GUI интерфейс. Правда, предварительно надо установить пакет обновления, который устанавливает демон httpd, сайт и дополнительные утилиты.
Берем c https://support.s-terra.com/ из файлового обмена пакет cspvpngui-3.1-10499.noarch.rpm, сохраняем его на флеш-карту и переносим на шлюз для инсталляции.
[root@cspgate ~]# Mount –t vfat /dev/sda /ur/tmp
[root@cspgate ~]# cp /ur/tmp/cspvpngui-3.1-10499.noarch.rpm /opt
[root@cspgate ~]# rpm –i /opt/cspvpngui-3.1-10499.noarch.rpm
Проверяем конфиг демона /etc/httpd/conf/http.conf, чтобы переменная DocumentRoot равнялась "/opt/VPNagent/cspmc", а Directory указывала на "/opt/VPNagent/cspmc" и ServerName 192.168.0.1:80
В инструкции написано, чтобы настроить шлюз достаточно в окне браузера указать IP адрес интерфейса и приступить к легкой настройке через GUI. Попробуйте загрузить страницу сайта - не получиться, а попробовав запустить icmp на любой из интерфейсов - ответов не дождетесь.
Долго не мог понять в чем причина? Демон httpd работает, его конфиг исправен. Интерфейсы настроены, маршрутизация правильная, iptables чист, пока не наткнулся на маленький абзац.
Это был очередной нюанс! Весь трафик "откидывался" по-умолчанию!
В другой инструкции было найдено описание по настройке политики безопасности шлюза. Запускается утилита, которая симулирует cisco и воспринимает cisco-like команды. Мне понравился такой подход!
[root@cspgate ~]# /opt/VPNagent/bin/cs_consoleПароль доступа в административный режим - csp, попадаешь в "почти" полноценную cisco консоль. Добавленное правило применяется сразу после выхода из утилиты.
cspgate>en
Password:
cspgate#conf ter
cspgate(config)#ip access-list extended WWW
cspgate(config)#permit tcp host 192.168.0.1 eq 80 host 192.168.0.2
cspgate(config)#exit
cspgate#exit
[root@cspgate ~]#
Убедиться, что правило добавлено можно так:
[root@cspgate ~]# lsp_mgr show | grep WWW
Теперь доступ к шлюзу по протоколу http есть, можно начать настраивать политку безопасности шлюза через GUI, а для почитателей cisco можно продолжить утилитой /opt/VPNagent/bin/cs_console
0 коммент.:
Отправить комментарий