VPN — различия между версиями
Litvinyuk (обсуждение | вклад) (→Создание ключевой пары для клиента.) |
Litvinyuk (обсуждение | вклад) (→PPTP) |
||
(не показаны 24 промежуточные версии этого же участника) | |||
Строка 56: | Строка 56: | ||
</tls-auth> | </tls-auth> | ||
− | === Создание | + | === Создание ключей === |
− | + | Скопируем easy-rsa в каталог /etc/openvpn. Это гарантирует, что любые изменения в сценарии не будут потеряны при обновлении пакета. | |
− | |||
− | |||
− | |||
− | |||
− | ----- | + | mkdir /etc/openvpn/easy-rsa/ |
+ | cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/ | ||
+ | |||
+ | Отредактируйте /etc/openvpn/easy-rsa/vars | ||
+ | |||
+ | ==== Ключевая пара удостоверяющего центра ==== | ||
+ | |||
+ | Выполнять от пользователя имеющего права записи в /etc/openvpn/easy-rsa/keys/ | ||
+ | |||
+ | Обычно это пользователь ''root'' или состоящий в группе ''wheel'' | ||
+ | |||
+ | su - root | ||
+ | cd /etc/openvpn/easy-rsa | ||
+ | ./clean-all | ||
+ | source vars | ||
+ | ./build-ca | ||
+ | |||
+ | После выполнения последней команды будут записаны файлы открытой и закрытой части ключа удостоверяющего центра в /etc/openvpn/easy-rsa/keys/ | ||
+ | |||
+ | ==== Ключевая пара сервера к которому мы будем подключаться ==== | ||
+ | |||
+ | ./build-key-server myservername | ||
+ | |||
+ | где myservername имя файла ключа. | ||
+ | |||
+ | ==== Файл параметров Диффи-Хэлмана ==== | ||
+ | |||
+ | ./build-dh | ||
+ | |||
+ | ==== Ключ TLS аутентификации ==== | ||
+ | |||
+ | openvpn --genkey --secret ta.key | ||
+ | |||
+ | ==== Ключевая пара клиента ==== | ||
+ | |||
+ | Выполнять от пользователя имеющего права записи в /etc/openvpn/easy-rsa/keys/ | ||
+ | |||
+ | Обычно это пользователь root или состоящий в группе wheel | ||
+ | su - root | ||
+ | cd /etc/openvpn/easy-rsa | ||
− | |||
− | |||
* Импортировать из файла vars переменные окружения командой | * Импортировать из файла vars переменные окружения командой | ||
source ./vars | source ./vars | ||
* Создать ключ клиента client1 командой | * Создать ключ клиента client1 командой | ||
./build-key client1 | ./build-key client1 | ||
+ | |||
+ | После создания пары ключей клиента, на клиент, кроме файла настройки, необходимо также передать по защищённому каналу связи открытую и закрытую часть ключей клиента, открытую часть ключа удостоверяющего центра и ключ TLS аутентификации. | ||
+ | |||
+ | Когда клиент теряет право подключения по организационным вопросам, то ключ отзывают. | ||
+ | |||
+ | * Отозвать ключ клиента | ||
+ | su - root | ||
+ | cd /etc/openvpn/easy-rsa | ||
+ | source ./vars | ||
+ | ./revoke-full client1 | ||
+ | |||
+ | ===== Особенности настройки OpenVPN в iOS ===== | ||
+ | |||
+ | Наиболее важный момент настройки заключается в том, что закрытый ключ клиента должен быть в формате RSA. Если вы делали все согласно инструкции на сайте OpenVPN, или у вас уже были готовые ключи, то их необходимо предварительно конвертировать. Для этого можно использовать openssl: | ||
+ | |||
+ | openssl rsa -in ios.key -out ios_rsa.key | ||
+ | |||
+ | |||
+ | Соберем все необходимые ключи и сертификаты в один PKCS#12 контейнер: | ||
+ | |||
+ | openssl pkcs12 -export -in ios.crt -inkey ios_rsa.key -certfile ca.crt -name ios -out ios.p12 | ||
+ | |||
+ | |||
+ | Обязательно указать пароль для экспорта. Установить контейнера без пароля на экспорт в связку ключей iOS не получится. Полученный контейнер передаем на устройство через электронную почту или Safari. Скачать клиент OpenVPN Connect можно из iTunes. | ||
+ | |||
+ | Ограничения, присутствующие в приложении: | ||
+ | * Размер файла настроек не может превышать 256KB. Тем не менее, этого должно быть достаточно даже для хранения файла конфигурации в унифицированном ovpn формате. | ||
+ | * Поддерживаются только tun соединения из-за ограничений iOS VPN API. | ||
+ | * Не поддерживается ряд директив в конфигурационном файле: dev tap, tls-remote, fragment, mssfix. | ||
+ | * Не поддерживается работа клиентов без сертификатов. Эта возможность появится в будущем. | ||
+ | * Возможно использовать только шифрование AES или Blowfish. Связано это с тем, что данные алгоритмы больше адаптированы под архитектуру ARM. Таким образом достигается большая энергоэффективность. | ||
+ | * Использование HTTP прокси настраивается на уровне настроек приложения, а не в конфигурационном файле. | ||
+ | * Использование контейнеров PKCS#12 возможно только, если они импортированы в связку ключей iOS. Такое поведение является настоятельной рекомендацией разработчиков, потому, что в отличие от хранения закрытого ключа прямо в ovpn файле, оно обеспечивает более высокий уровень сохранности секретных данных. Особенно в случае использования устройства с jailbreak. | ||
+ | |||
+ | === Ссылки === | ||
+ | |||
+ | * [https://ru.wikipedia.org/wiki/VPN Что такое VPN] | ||
+ | * [http://wiki.dieg.info/openvpn Статья об OpenVPN на wiki "IT рабочие заметки"] | ||
+ | * [https://help.ubuntu.com/lts/serverguide/openvpn.html Статья на wiki Ubuntu] | ||
+ | * [https://habrahabr.ru/post/168853/ Настройка OpenVPN в iOS] | ||
+ | * [https://habrahabr.ru/post/324770/ OpenVPN, легкий перевыпуск корневого сертификата] | ||
+ | * [https://habrahabr.ru/company/flant/blog/338628/ Наш рецепт отказоустойчивого VPN-сервера на базе tinc, OpenVPN, Linux] | ||
+ | * [https://vasexperts.ru/blog/vpn-tipy-podklyucheniya-i-proverka-bezopasnosti/ VPN – ТИПЫ ПОДКЛЮЧЕНИЯ И ПРОВЕРКА БЕЗОПАСНОСТИ] | ||
+ | |||
+ | == VipNet == | ||
+ | |||
+ | Клиент мешает авторизации машины в домене. Перед вводом/выводом машины в/из домена выключить клиента. | ||
+ | |||
+ | === Доступ к защищенным сайтам с компьютеров в ЛВС через один VipNet-клиент === | ||
+ | [http://bloglisa.ru/?p=155 Ссылка на исходную статью] | ||
+ | netsh interface portproxy add v4tov4 listenport=1920 connectport=80 connectaddress=192.168.200.211 | ||
+ | netsh interface portproxy add v4tov4 listenport=1922 connectport=80 connectaddress=172.21.102.144 | ||
+ | И перевести VipNet Client в режим разрешающий входящие соединения. | ||
+ | |||
+ | Можно добавить ярлык в каталог "Автозагрузка", где во вкладке "Ярлык" в строке "Объект" указать: | ||
+ | cmd /c "netsh interface portproxy add v4tov4 listenport=1920 connectport=80 connectaddress=192.168.200.211" | ||
+ | |||
+ | === АЦК === | ||
+ | Если VipNet клиент не видит АЦК, то нужно найти узел "Мин. фин", проверить его доступность (F5), и если доступен в свойствах узла открыть вкладку "Тоннели", добавить тоннель 192.168.14.2 | ||
+ | |||
+ | === Загрузка VipNet Client без ввода пароля === | ||
+ | При загрузке ПК с VipNet Client каждый раз приходится вводить сложный пароль. Для того чтобы этого избежать, необходимо в корневой папке программы (например C:\Program Files\InfoTeCS\ViPNet Client) создать текстовый файл '''svcx.txt''' и вписать туда пароль абонентского пункта. | ||
+ | |||
+ | === Перенос установленного клиента === | ||
+ | |||
+ | # Сделать из каталога установки программы ViPNet Clent резервную копию следующих каталогов и файлов: | ||
+ | ## \d_station; | ||
+ | ## \databases; | ||
+ | ## \MS; | ||
+ | ## \MSArch (каталог по умолчанию хранения архивов «Деловой почты»); | ||
+ | ## \Protocol (если требуется скопировать сохраненные протоколы сеансов обмена сообщениями); | ||
+ | ## \TaskDir (если требуется сохранить файлы, принятые по файловому обмену); | ||
+ | ## Каталог ключей пользователя, обычно \user_AAAA (где AAAA — шестнадцатиричный идентификатор пользователя ViPNet без номера сети). В некоторых случаях каталог ключей пользователя может совпадать с каталогом установки программы ViPNet Client, тогда следует скопировать каталог \key_disk. | ||
+ | ## APAXXXX.TXT, APCXXXX.TXT, APIXXXX.TXT, APLXXXX.TXT, APNXXXX.CRC, APNXXXX.CRG, APNXXXX.TXT, APSXXXX.TXT, APUXXXX.TXT (где XXXX — шестнадцатиричный идентификатор сетевого узла без номера сети); | ||
+ | ## autoproc.dat (этот файл присутствует, если настроены правила автопроцессинга); | ||
+ | ## infotecs.re; | ||
+ | ## iplir.cfg, iplirmain.cfg; | ||
+ | ## ipliradr.do$, ipliradr.doc; | ||
+ | ## linkXXXX.txt, nodeXXXX.tun (где XXXX — шестнадцатиричный идентификатор сетевого узла без номера сети); | ||
+ | ## mftp.ini; | ||
+ | ## wmail.ini. | ||
+ | # Перед переносом справочно-ключевой информации на новый компьютер установить программу ViPNet Client <sub>(см. «Установка и первичная инициализация» на стр. 40)</sub>, но не выполнять инициализацию справочно-ключевой информации. Иначе, удалить следующие каталоги и файлы: | ||
+ | ## каталог ключей пользователя \user_AAAA; | ||
+ | ## файлы AP*.TXT, APNXXXX.CRC, APNXXXX.CRG. | ||
+ | # Справочно-ключевую информацию, перечисленную на шаге 1, поместить в новый каталог установки программы ViPNet Client. | ||
+ | ## В файле wmail.ini в качестве значений параметров MSDir и MSArchDir указать путь к новому каталогу установки программы ViPNet Client. | ||
+ | ## В файле mftp.ini указать путь к новому каталогу установки программы ViPNet Client в значениях всех параметров, где он встречается. | ||
+ | ## Удалить файл certlist.sst, находящийся в подкаталоге \d_station\abn_AAAA (где AAAA — шестнадцатиричный идентификатор пользователя ViPNet без номера сети). | ||
+ | ## Запустить программу ViPNet Монитор и в окне входа в программу указать путь к каталогу ключей пользователя, например C:\Program Files (x86)\InfoTeCS\ViPNet Client\user_0003. | ||
+ | ## Выполнить вход в программу ViPNet Монитор <sub>(см. «Режимы авторизации» на стр. 62)</sub>. | ||
+ | ## В окне "Настройка параметров безопасности" на вкладке "Ключи" установить контейнер ключей электронной цифровой подписи. Для этого: | ||
+ | ### Нажать кнопку "Установить". | ||
+ | ### В окне "ViPNet CSP" "Инициализация контейнера ключа" указать путь к каталогу с контейнером, например C:\Program Files (x86)\InfoTeCS\ViPNet Client\user_0003\key_disk\dom. | ||
+ | ### В списке "Имя контейнера" выбрать контейнер (имя контейнера начинается с символов sgn). | ||
+ | ### Нажать кнопку OK. | ||
+ | |||
+ | После выполнения перечисленных действий программа ViPNet Client готова к работе. | ||
+ | |||
+ | === В случае повреждения носителя с .dst === | ||
+ | # Пишем письмо на имя директора ГБУ РО "РЦИС", в котором | ||
+ | ## указываем причину утраты носителя, | ||
+ | ## просим эти файлы снова выдать. | ||
+ | # Оформляем доверенность на получение носителей с .dst | ||
+ | # В Ростове-на-Дону по адресу улица Козлова, дом 62/148 получаем. | ||
+ | |||
+ | === Обновление сертификата клиента === | ||
+ | При появлении подобного сообщения | ||
+ | [[Файл:2018-11-07 Обновление сертификата VipNetClient.png|центр]] | ||
+ | <br /> | ||
+ | Открыть настройки электронной подписи - выбрать "Обновить сертификат". Файлы обновления могут поступить в течение двух дней. | ||
+ | |||
+ | == PPTP == | ||
+ | Устанавливаем на сервере <code>pptpd</code>, подходящий для нашей системы. | ||
+ | |||
+ | В файл <code>/etc/ppp/chap-secrets</code> дописываем информацию о пользователях, которым необходим удалённый доступ: | ||
+ | # Secrets for authentication using CHAP | ||
+ | # client server secret IP addresses | ||
+ | user1 pptpd passwOrD1 10.0.10.2 | ||
+ | user2 pptpd qWeRPDW2a 10.0.10.3 | ||
+ | user3 pptpd qWeRPDW3a * | ||
+ | последняя колонка указывает какой адрес может получить клиент. Звёздочка означает получение любого свободного адреса. | ||
+ | |||
+ | Включаем в ядре пересылку (forwarding) пакетов между интерфейсами: | ||
+ | sysctl -w net.ipv4.ip_forward=1 | ||
+ | |||
+ | Проверяем, что в сетевом экране открыты подключения извне на TCP-порт 1723 и что разрешен протокол №47: | ||
+ | :вариант с <code>iptables</code> | ||
+ | iptables -I INPUT -p tcp --dport 1723 -j ACCEPT | ||
+ | iptables -I INPUT -p 47 -j ACCEPT | ||
+ | |||
+ | Проверяем, что в файле <code>/etc/ppp/pptpd-options</code> присутствуют следующие опции: | ||
+ | name pptpd | ||
+ | refuse-pap | ||
+ | refuse-chap | ||
+ | refuse-mschap | ||
+ | require-mschap-v2 | ||
+ | require-mppe-128 | ||
+ | ms-dns 10.0.0.253 | ||
+ | ms-dns 10.0.0.252 | ||
+ | proxyarp | ||
+ | lock | ||
+ | nobsdcomp | ||
+ | novj | ||
+ | novjccomp | ||
+ | nologfd | ||
+ | Опции ms-dns – это те DNS-сервера, которые выдаются клиенту. Нужно изменить на те, которые реально используются в Вашей сети. Если клиент в состоянии использовать DNS-сервера (по умолчанию клиент получит в качестве шлюза свой IP-адрес, который прописан в файле chap-secrets и DNS-сервера по этой причине могут стать недоступны), которые он использовал до установки vpn-подключения, эти опции можно убрать. | ||
+ | |||
+ | Редактируем <code>/etc/pptpd.conf</code>, нужно чтобы в нем были следующие строки: | ||
+ | option /etc/ppp/pptpd-options | ||
+ | logwtmp | ||
+ | localip 10.0.0.1 | ||
+ | remoteip 10.0.0.2-20 | ||
+ | Параметры localip и remoteip изменяем в соответствии с IP-адресацией в Вашей сети. | ||
+ | |||
+ | Запускаем сервис: | ||
+ | /etc/init.d/pptpd start | ||
+ | |||
+ | Включаем автозагрузку сервиса при старте системы: | ||
+ | chkconfig pptpd on | ||
+ | |||
+ | Пробуем подключаться. | ||
+ | |||
+ | === Возможные проблемы и их решения === | ||
+ | '''Проблема:''' Клиенты на Windows XP имеют проблемы с подключением. | ||
+ | |||
+ | '''Решение:''' В настройках подключения на вкладке "Безопасность" снять галочку "Требуется шифрование данных". | ||
+ | ----- | ||
+ | '''Проблема:''' Хост за NAT-ом испытывает трудности с подключением к внешнему VPN-серверу и Windows показывает ошибку №619. | ||
+ | |||
+ | '''Решение:''' Включить модуль ядра ip_nat_pptp на linux-маршрутизаторе, который исполняет NAT: | ||
+ | : <code>modprobe ip_nat_pptp</code> | ||
+ | ----- | ||
+ | '''Проблема:''' В <code>/var/log/messages</code> сервера с pptpd имеется нечто такое: | ||
+ | : <code>Feb 17 08:09:29 zeon pppd[28671]: Plugin /usr/lib64/pptpd/pptpd-logwtmp.so is for pppd version 2.4.3, this is 2.4.4</code><br /> | ||
+ | |||
+ | '''Решение:''' Убрать опцию <code>logwtmp</code> из файла <code>/etc/pptpd.conf</code>. Это приведёт к тому, что сеансы связи клиентов не будут отображаться командой <code>last</code> (которая как раз и работает с <code>/var/log/wtmp</code>). | ||
+ | ----- | ||
+ | '''Проблема:''' В <code>/var/log/messages</code> сервера с pptpd наблюдается: | ||
+ | : <code>Feb 17 11:18:12 zeon kernel: pptpctrl[30130]: segfault at 00000000 rip 005a34b0 rsp ffe60810 error 4</code> | ||
+ | а клиенты на windows-машинках при подключении получают ошибку 800. | ||
+ | |||
+ | '''Решение:''' Исчерпался лимит одновременных подключений, который задаётся опцией <code>remoteip</code> в файле <code>/etc/pptpd.conf</code>. | ||
+ | ----- | ||
+ | Если надо потюнить <code>MTU</code>, то как вариант создаём файл <code>/etc/ppp/ip-up.local</code> примерно такого содержания: | ||
+ | #!/bin/bash | ||
+ | NEW_MTU_VALUE=1446 | ||
+ | /sbin/ifconfig "$1" mtu $NEW_MTU_VALUE | ||
+ | logger "MTU set to $NEW_MTU_VALUE for device $1" | ||
+ | |||
+ | chmod +x /etc/ppp/ip-up.local | ||
+ | |||
+ | Без этого действа у меня pptpd на CentOS 6 клиенту с Win 7 почему-то выдавал MTU 1396, нагло игнорируя прописанное в <code>/etc/ppp/pptpd-options</code>. | ||
+ | ----- | ||
+ | '''Проблема:''' Некоторые клиенты жалуются на то, что подключаются, но ресурсы не загружаются. | ||
+ | |||
+ | '''Решение:''' Следует просмотреть на сервере список <code>ppp</code> соединений на предмет занятия одного адреса несколькими соединениями. | ||
+ | |||
+ | === Подключение к VPN === | ||
+ | Запустите файл "'''delo.pbk'''". | ||
+ | В появившемся окне нажмите на кнопку "Подключить". | ||
+ | |||
+ | [[Файл:Vpn 1.png|link=]] | ||
+ | |||
+ | В следующем окне в поля "Пользователь" и "Пароль" введите полученные по электронной почте данные. | ||
+ | Для упрощения входа в дальнейшем можете нажать на флажок "Сохранять имя пользователя и пароль". | ||
+ | |||
+ | [[Файл:Vpn 2.png|link=]] | ||
+ | |||
+ | После завершения работы с необходимыми Вам сервисами '''ВАЖНО''' завершить работу с VPN соединением! Для этого повторно запустите файл "'''delo.pbk'''". | ||
+ | В появившемся окне нажмите на кнопку "Завершить". | ||
+ | |||
+ | [[Файл:Vpn 3.png|link=]] | ||
+ | |||
+ | == "Континент АП" == | ||
+ | |||
+ | Установку лучше производить командой: | ||
+ | Continent_AP_3.7.7.641.exe /S /DO=INSTALL /NMSE | ||
+ | Данный набор букв установит только VPN клиент, Биологический ДСЧ, Континент CSP и без межсетевого экрана. | ||
+ | |||
+ | Поскольку адрес по умолчанию 0.0.0.0, то для дозвона до серверов СУФД необходимо в настройке соединения указать серверы доступа | ||
+ | 5800-SD-01.roskazna.ru | ||
+ | 5800-SD-02.roskazna.ru | ||
+ | 5800-SD-03.roskazna.ru | ||
+ | 5800-SD-04.roskazna.ru | ||
+ | соответственно соединению. |
Текущая версия на 13:53, 28 января 2021
Содержание
OpenVPN
(англ. Virtual Private Network — виртуальная частная(закрытая) сеть)
Файл настройки сервера
Минимально рабочий вариант.
port 1194 proto udp dev tun topology subnet ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/OpenVPN_srv.crt key /etc/openvpn/easy-rsa/keys/OpenVPN_srv.key # This file should be kept secret dh /etc/openvpn/easy-rsa/keys/dh2048.pem server 10.8.0.0 255.255.255.0 push "route 10.8.0.0 255.255.255.0" push "route 192.168.200.0 255.255.255.0" push "route 192.168.7.0 255.255.255.0" push "dhcp-option DNS 192.168.7.7" push "dhcp-option DNS 80.254.107.129" push "dhcp-option DOMAIN vlgd61.ru" keepalive 10 120 tls-auth ta.key 0 # This file is secret comp-lzo user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 3 mute 20
Файл настройки клиента
Минимально рабочий вариант.
client dev tun proto udp remote 80.254.107.129 1194 resolv-retry infinite nobind key-direction 1 persist-key persist-tun comp-lzo verb 3 mute 20 float <ca> Содержимое сертификата центра сертификации. </ca> <tls-auth> Содержимое TLS ключа. Должно содержаться в секрете! </tls-auth>
Создание ключей
Скопируем easy-rsa в каталог /etc/openvpn. Это гарантирует, что любые изменения в сценарии не будут потеряны при обновлении пакета.
mkdir /etc/openvpn/easy-rsa/ cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
Отредактируйте /etc/openvpn/easy-rsa/vars
Ключевая пара удостоверяющего центра
Выполнять от пользователя имеющего права записи в /etc/openvpn/easy-rsa/keys/
Обычно это пользователь root или состоящий в группе wheel
su - root cd /etc/openvpn/easy-rsa ./clean-all source vars ./build-ca
После выполнения последней команды будут записаны файлы открытой и закрытой части ключа удостоверяющего центра в /etc/openvpn/easy-rsa/keys/
Ключевая пара сервера к которому мы будем подключаться
./build-key-server myservername
где myservername имя файла ключа.
Файл параметров Диффи-Хэлмана
./build-dh
Ключ TLS аутентификации
openvpn --genkey --secret ta.key
Ключевая пара клиента
Выполнять от пользователя имеющего права записи в /etc/openvpn/easy-rsa/keys/
Обычно это пользователь root или состоящий в группе wheel
su - root cd /etc/openvpn/easy-rsa
- Импортировать из файла vars переменные окружения командой
source ./vars
- Создать ключ клиента client1 командой
./build-key client1
После создания пары ключей клиента, на клиент, кроме файла настройки, необходимо также передать по защищённому каналу связи открытую и закрытую часть ключей клиента, открытую часть ключа удостоверяющего центра и ключ TLS аутентификации.
Когда клиент теряет право подключения по организационным вопросам, то ключ отзывают.
- Отозвать ключ клиента
su - root cd /etc/openvpn/easy-rsa source ./vars ./revoke-full client1
Особенности настройки OpenVPN в iOS
Наиболее важный момент настройки заключается в том, что закрытый ключ клиента должен быть в формате RSA. Если вы делали все согласно инструкции на сайте OpenVPN, или у вас уже были готовые ключи, то их необходимо предварительно конвертировать. Для этого можно использовать openssl:
openssl rsa -in ios.key -out ios_rsa.key
Соберем все необходимые ключи и сертификаты в один PKCS#12 контейнер:
openssl pkcs12 -export -in ios.crt -inkey ios_rsa.key -certfile ca.crt -name ios -out ios.p12
Обязательно указать пароль для экспорта. Установить контейнера без пароля на экспорт в связку ключей iOS не получится. Полученный контейнер передаем на устройство через электронную почту или Safari. Скачать клиент OpenVPN Connect можно из iTunes.
Ограничения, присутствующие в приложении:
- Размер файла настроек не может превышать 256KB. Тем не менее, этого должно быть достаточно даже для хранения файла конфигурации в унифицированном ovpn формате.
- Поддерживаются только tun соединения из-за ограничений iOS VPN API.
- Не поддерживается ряд директив в конфигурационном файле: dev tap, tls-remote, fragment, mssfix.
- Не поддерживается работа клиентов без сертификатов. Эта возможность появится в будущем.
- Возможно использовать только шифрование AES или Blowfish. Связано это с тем, что данные алгоритмы больше адаптированы под архитектуру ARM. Таким образом достигается большая энергоэффективность.
- Использование HTTP прокси настраивается на уровне настроек приложения, а не в конфигурационном файле.
- Использование контейнеров PKCS#12 возможно только, если они импортированы в связку ключей iOS. Такое поведение является настоятельной рекомендацией разработчиков, потому, что в отличие от хранения закрытого ключа прямо в ovpn файле, оно обеспечивает более высокий уровень сохранности секретных данных. Особенно в случае использования устройства с jailbreak.
Ссылки
- Что такое VPN
- Статья об OpenVPN на wiki "IT рабочие заметки"
- Статья на wiki Ubuntu
- Настройка OpenVPN в iOS
- OpenVPN, легкий перевыпуск корневого сертификата
- Наш рецепт отказоустойчивого VPN-сервера на базе tinc, OpenVPN, Linux
- VPN – ТИПЫ ПОДКЛЮЧЕНИЯ И ПРОВЕРКА БЕЗОПАСНОСТИ
VipNet
Клиент мешает авторизации машины в домене. Перед вводом/выводом машины в/из домена выключить клиента.
Доступ к защищенным сайтам с компьютеров в ЛВС через один VipNet-клиент
netsh interface portproxy add v4tov4 listenport=1920 connectport=80 connectaddress=192.168.200.211 netsh interface portproxy add v4tov4 listenport=1922 connectport=80 connectaddress=172.21.102.144
И перевести VipNet Client в режим разрешающий входящие соединения.
Можно добавить ярлык в каталог "Автозагрузка", где во вкладке "Ярлык" в строке "Объект" указать:
cmd /c "netsh interface portproxy add v4tov4 listenport=1920 connectport=80 connectaddress=192.168.200.211"
АЦК
Если VipNet клиент не видит АЦК, то нужно найти узел "Мин. фин", проверить его доступность (F5), и если доступен в свойствах узла открыть вкладку "Тоннели", добавить тоннель 192.168.14.2
Загрузка VipNet Client без ввода пароля
При загрузке ПК с VipNet Client каждый раз приходится вводить сложный пароль. Для того чтобы этого избежать, необходимо в корневой папке программы (например C:\Program Files\InfoTeCS\ViPNet Client) создать текстовый файл svcx.txt и вписать туда пароль абонентского пункта.
Перенос установленного клиента
- Сделать из каталога установки программы ViPNet Clent резервную копию следующих каталогов и файлов:
- \d_station;
- \databases;
- \MS;
- \MSArch (каталог по умолчанию хранения архивов «Деловой почты»);
- \Protocol (если требуется скопировать сохраненные протоколы сеансов обмена сообщениями);
- \TaskDir (если требуется сохранить файлы, принятые по файловому обмену);
- Каталог ключей пользователя, обычно \user_AAAA (где AAAA — шестнадцатиричный идентификатор пользователя ViPNet без номера сети). В некоторых случаях каталог ключей пользователя может совпадать с каталогом установки программы ViPNet Client, тогда следует скопировать каталог \key_disk.
- APAXXXX.TXT, APCXXXX.TXT, APIXXXX.TXT, APLXXXX.TXT, APNXXXX.CRC, APNXXXX.CRG, APNXXXX.TXT, APSXXXX.TXT, APUXXXX.TXT (где XXXX — шестнадцатиричный идентификатор сетевого узла без номера сети);
- autoproc.dat (этот файл присутствует, если настроены правила автопроцессинга);
- infotecs.re;
- iplir.cfg, iplirmain.cfg;
- ipliradr.do$, ipliradr.doc;
- linkXXXX.txt, nodeXXXX.tun (где XXXX — шестнадцатиричный идентификатор сетевого узла без номера сети);
- mftp.ini;
- wmail.ini.
- Перед переносом справочно-ключевой информации на новый компьютер установить программу ViPNet Client (см. «Установка и первичная инициализация» на стр. 40), но не выполнять инициализацию справочно-ключевой информации. Иначе, удалить следующие каталоги и файлы:
- каталог ключей пользователя \user_AAAA;
- файлы AP*.TXT, APNXXXX.CRC, APNXXXX.CRG.
- Справочно-ключевую информацию, перечисленную на шаге 1, поместить в новый каталог установки программы ViPNet Client.
- В файле wmail.ini в качестве значений параметров MSDir и MSArchDir указать путь к новому каталогу установки программы ViPNet Client.
- В файле mftp.ini указать путь к новому каталогу установки программы ViPNet Client в значениях всех параметров, где он встречается.
- Удалить файл certlist.sst, находящийся в подкаталоге \d_station\abn_AAAA (где AAAA — шестнадцатиричный идентификатор пользователя ViPNet без номера сети).
- Запустить программу ViPNet Монитор и в окне входа в программу указать путь к каталогу ключей пользователя, например C:\Program Files (x86)\InfoTeCS\ViPNet Client\user_0003.
- Выполнить вход в программу ViPNet Монитор (см. «Режимы авторизации» на стр. 62).
- В окне "Настройка параметров безопасности" на вкладке "Ключи" установить контейнер ключей электронной цифровой подписи. Для этого:
- Нажать кнопку "Установить".
- В окне "ViPNet CSP" "Инициализация контейнера ключа" указать путь к каталогу с контейнером, например C:\Program Files (x86)\InfoTeCS\ViPNet Client\user_0003\key_disk\dom.
- В списке "Имя контейнера" выбрать контейнер (имя контейнера начинается с символов sgn).
- Нажать кнопку OK.
После выполнения перечисленных действий программа ViPNet Client готова к работе.
В случае повреждения носителя с .dst
- Пишем письмо на имя директора ГБУ РО "РЦИС", в котором
- указываем причину утраты носителя,
- просим эти файлы снова выдать.
- Оформляем доверенность на получение носителей с .dst
- В Ростове-на-Дону по адресу улица Козлова, дом 62/148 получаем.
Обновление сертификата клиента
При появлении подобного сообщения
Открыть настройки электронной подписи - выбрать "Обновить сертификат". Файлы обновления могут поступить в течение двух дней.
PPTP
Устанавливаем на сервере pptpd
, подходящий для нашей системы.
В файл /etc/ppp/chap-secrets
дописываем информацию о пользователях, которым необходим удалённый доступ:
# Secrets for authentication using CHAP # client server secret IP addresses user1 pptpd passwOrD1 10.0.10.2 user2 pptpd qWeRPDW2a 10.0.10.3 user3 pptpd qWeRPDW3a *
последняя колонка указывает какой адрес может получить клиент. Звёздочка означает получение любого свободного адреса.
Включаем в ядре пересылку (forwarding) пакетов между интерфейсами:
sysctl -w net.ipv4.ip_forward=1
Проверяем, что в сетевом экране открыты подключения извне на TCP-порт 1723 и что разрешен протокол №47:
- вариант с
iptables
iptables -I INPUT -p tcp --dport 1723 -j ACCEPT iptables -I INPUT -p 47 -j ACCEPT
Проверяем, что в файле /etc/ppp/pptpd-options
присутствуют следующие опции:
name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 ms-dns 10.0.0.253 ms-dns 10.0.0.252 proxyarp lock nobsdcomp novj novjccomp nologfd
Опции ms-dns – это те DNS-сервера, которые выдаются клиенту. Нужно изменить на те, которые реально используются в Вашей сети. Если клиент в состоянии использовать DNS-сервера (по умолчанию клиент получит в качестве шлюза свой IP-адрес, который прописан в файле chap-secrets и DNS-сервера по этой причине могут стать недоступны), которые он использовал до установки vpn-подключения, эти опции можно убрать.
Редактируем /etc/pptpd.conf
, нужно чтобы в нем были следующие строки:
option /etc/ppp/pptpd-options logwtmp localip 10.0.0.1 remoteip 10.0.0.2-20
Параметры localip и remoteip изменяем в соответствии с IP-адресацией в Вашей сети.
Запускаем сервис:
/etc/init.d/pptpd start
Включаем автозагрузку сервиса при старте системы:
chkconfig pptpd on
Пробуем подключаться.
Возможные проблемы и их решения
Проблема: Клиенты на Windows XP имеют проблемы с подключением.
Решение: В настройках подключения на вкладке "Безопасность" снять галочку "Требуется шифрование данных".
Проблема: Хост за NAT-ом испытывает трудности с подключением к внешнему VPN-серверу и Windows показывает ошибку №619.
Решение: Включить модуль ядра ip_nat_pptp на linux-маршрутизаторе, который исполняет NAT:
-
modprobe ip_nat_pptp
Проблема: В /var/log/messages
сервера с pptpd имеется нечто такое:
-
Feb 17 08:09:29 zeon pppd[28671]: Plugin /usr/lib64/pptpd/pptpd-logwtmp.so is for pppd version 2.4.3, this is 2.4.4
Решение: Убрать опцию logwtmp
из файла /etc/pptpd.conf
. Это приведёт к тому, что сеансы связи клиентов не будут отображаться командой last
(которая как раз и работает с /var/log/wtmp
).
Проблема: В /var/log/messages
сервера с pptpd наблюдается:
-
Feb 17 11:18:12 zeon kernel: pptpctrl[30130]: segfault at 00000000 rip 005a34b0 rsp ffe60810 error 4
а клиенты на windows-машинках при подключении получают ошибку 800.
Решение: Исчерпался лимит одновременных подключений, который задаётся опцией remoteip
в файле /etc/pptpd.conf
.
Если надо потюнить MTU
, то как вариант создаём файл /etc/ppp/ip-up.local
примерно такого содержания:
#!/bin/bash NEW_MTU_VALUE=1446 /sbin/ifconfig "$1" mtu $NEW_MTU_VALUE logger "MTU set to $NEW_MTU_VALUE for device $1"
chmod +x /etc/ppp/ip-up.local
Без этого действа у меня pptpd на CentOS 6 клиенту с Win 7 почему-то выдавал MTU 1396, нагло игнорируя прописанное в /etc/ppp/pptpd-options
.
Проблема: Некоторые клиенты жалуются на то, что подключаются, но ресурсы не загружаются.
Решение: Следует просмотреть на сервере список ppp
соединений на предмет занятия одного адреса несколькими соединениями.
Подключение к VPN
Запустите файл "delo.pbk". В появившемся окне нажмите на кнопку "Подключить".
В следующем окне в поля "Пользователь" и "Пароль" введите полученные по электронной почте данные. Для упрощения входа в дальнейшем можете нажать на флажок "Сохранять имя пользователя и пароль".
После завершения работы с необходимыми Вам сервисами ВАЖНО завершить работу с VPN соединением! Для этого повторно запустите файл "delo.pbk". В появившемся окне нажмите на кнопку "Завершить".
"Континент АП"
Установку лучше производить командой:
Continent_AP_3.7.7.641.exe /S /DO=INSTALL /NMSE
Данный набор букв установит только VPN клиент, Биологический ДСЧ, Континент CSP и без межсетевого экрана.
Поскольку адрес по умолчанию 0.0.0.0, то для дозвона до серверов СУФД необходимо в настройке соединения указать серверы доступа
5800-SD-01.roskazna.ru 5800-SD-02.roskazna.ru 5800-SD-03.roskazna.ru 5800-SD-04.roskazna.ru
соответственно соединению.