Настроить удаленный доступ: VPN Client-to-Site

Использование VPN позволяет организовать безопасный удаленный доступ сотрудников через интернет к корпоративным сервисам и данным, размещаемым в инфраструктуре Selectel. Используя аппаратный межсетевой экран FortiGate в Selectel, можно настроить удалённый доступ к частным сетям организаций на основе технологий SSL, IPsec и L2TP over IPsec, с использованием различного ПО, устанавливаемого на компьютеры, ноутбуки и мобильные телефоны удалённых пользователей, такие как:

  • клиент FortiClient от Fortinet;
  • клиент от Cisco;
  • средствами операционной системы.

Для создания VPN туннеля на межсетевом экране требуется, чтобы уже были настроены:

  • внешний интерфейс, через который будут подключаться устройства;
  • внутренняя сеть;
  • доступ к веб-интерфейсу FortiGate.

Режимы SSL-VPN

  • Tunnel mode — режим, при котором клиент SSL VPN шифрует весь трафик с удаленного клиентского компьютера и отправляет его в FortiGate через туннель SSL VPN по каналу HTTPS между пользователем и FortiGate. Tunnel mode поддерживает множество протоколов и приложений. Для туннельного режима для подключения к FortiGate требуется автономный клиент SSL-VPN, FortiClient. FortiClient добавляет на компьютер пользователя виртуальный сетевой адаптер, обозначенный как fortissl. Этот виртуальный адаптер динамически получает IP-адрес от FortiGate каждый раз, когда FortiGate устанавливает новое VPN-соединение. Внутри туннеля весь трафик инкапсулирован в SSL / TLS. Основное преимущество туннельного режима перед веб-режимом заключается в том, что после установки VPN любое сетевое IP-приложение, работающее на клиенте, может отправлять трафик через туннель. Основным недостатком является то, что для туннельного режима требуется установка программного клиента VPN, для которого требуются права администратора;
  • Web mode — режим, при котором обеспечивается доступ к сети с помощью веб-браузера со встроенным шифрованием SSL. Пользователи проходят аутентификацию в веб-панели SSL VPN от FortiGate, который обеспечивает доступ к сетевым службам и ресурсам, включая HTTP / HTTPS, Telnet, FTP, SMB / CIFS, VNC, RDP и SSH. Раздел Bookmarks на странице портала SSL-VPN содержит ссылки на все или некоторые ресурсы, доступные пользователю для доступа. Виджет Quick Connection позволяет пользователям вводить URL или IP-адрес сервера, к которому они хотят подключиться. Пользователь web-SSL-VPN использует эти два виджета для доступа к внутренней сети. Основное преимущество веб-режима заключается в том, что он обычно не требует установки дополнительного программного обеспечения. Данный режим имеет следующие ограничения:
    • все взаимодействие с внутренней сетью должно осуществляться исключительно с использованием браузера (через веб-портал).Внешние сетевые приложения, работающие на компьютере пользователя, не могут отправлять данные через VPN;
    • безопасный механизм шлюза HTTP / HTTPS, который работает не для доступа ко всему, а только к нескольким популярным протоколам, таким как HTTP, FTP и общие ресурсы Windows;
  • Split mode — режим туннелирования, включённый в tunnel mode, который направляет трафик только в указанную сеть через FortiGate. Когда включено split tunneling, через туннель маршрутизируется только трафик, предназначенный для частной сети за удаленным FortiGate. Весь остальной трафик отправляется по обычному зашифрованному маршруту;
  • Full mode — режим туннелирования, когда split tunneling отключено, весь IP-трафик, генерируемый клиентским компьютером, включая интернет-трафик, направляется через туннель SSL-VPN в FortiGate. Это устанавливает FortiGate в качестве шлюза по умолчанию для хоста. Вы можете использовать этот метод для применения функций безопасности к трафику на этих удаленных клиентах, а также для отслеживания или ограничения доступа в интернет. Это увеличивает задержку и увеличивает использование полосы пропускания.

Настроить IPSec VPN

Создать группы пользователей

Для создания VPN туннеля через IPsec необходимо создать пользователей, которым будет предоставлен доступ, и объединить их в группу. Процесс создания пользователей и группы аналогичен предыдущему разделу.

IPSec Wizard

Для создания самого туннеля можно воспользоваться специальным помощником IPsec Wizard, предоставляющий необходимые шаблоны настройки:

  1. Перейдите в раздел VPN → IPsec Wizard.
  2. На этапе VPN Setup введите название туннеля.
  3. Выберите тип туннеля Remote Access и тип удаленного устройства Client-based и FortiClient, что говорит о том, что для подключения используется клиент FortiClient.
  4. Нажмите кнопку Next.
  5. На этапе Authentication укажите входящий интерфейс, на который будут приходить подключения (в данном случае это wan1).
  6. Выберите тип аутентификации: Pre-shared key или сертификат. В данном случае выбран секретный ключ и введено его значение в параметре Pre-shared key.
  7. Укажите группу пользователей, созданную в пункте 1, которым будет предоставлен доступ для подключений.
  8. На этапе Policy & Routing укажите локальный интерфейс в выпадающем меню, к которому будут подключаться удаленные клиенты.
  9. В параметре Local Address укажите подсеть, к которой будут иметь доступ пользователи. В данном случае выбран адресный объект all.
  10. Чтобы выбрать определенную подсеть, нажмите + и выберите адрес из существующих.
  11. Для создания адреса во всплывающем окне нажмите кнопку Create или в поле Policy & Objects → Addresses → Create New.
  12. В поле Client Address Range укажите пул адресов, который будет присваиваться удалённым клиентам при подключении.
  13. Проследите, чтобы эти адреса не совпадали с внутренней адресацией. Оставьте в Subnet Mask значение по умолчанию.
  14. Поле DNS Server позволяет выбрать DNS-сервер, которым будут пользоваться удаленные пользователи при подключении к туннелю. В данном случае выбран системный.
  15. Параметр Enable Split Tunnel позволяет предоставлять доступ пользователям только к определенным подсетям, а не пускать весь их трафик через FortiGate.
  16. Опция Allow Endpoint Registration позволяет получать различную информацию об удаленных точках, и на основании этой информации принимать решения (например, разрешать подключаться удаленной точке или нет).
  17. На этапе Client Options можно настроить клиентские опции: сохранение пароля, автоподключение и непрерывное подключение.
  18. После проведённых действий создается туннель, и на экране появляется сводная информация о созданных помощником объектах.

Подключить FortiClient

Клиент FortiNet FortiClient можно бесплатно скачать на официальном сайте. FortiClient совместим со множеством платформ, на каждой из которой доступно бесплатное использование SSL VPN. Для клиента также можно приобрести лицензию, которая предоставляет дополнительные возможности и техническую поддержку. С особенностями использования и совместимости можно ознакомиться также на официальном сайте в разделе Technical Specification.

Для настройки подключения на клиенте:

  1. Перейдите в раздел REMOTE ACCESS и выберите IPsec VPN.
  2. Укажите имя подключения, IP адрес FortiGate, выберите метод аутентификации. В данном случае выбран Pre-shared key и введено значение секретного ключа, как было настроено ранее.
  3. В поле Authentication выберите:
    • опцию Prompt on login, чтобы при каждом подключении FortiClient запрашивал имя пользователя и пароль;
    • опцию Save login, чтобы при каждом подключении запрашивался только пароль. В этом случае в поле Username необходимо вводить логин.
  4. Сохраните данное подключение.

После этого выберите название сохранённого подключения, введите имя пользователя, созданного в пункте 1, и его пароль, нажмите кнопку Connect.

Настроить L2TP over IPsec

Создать группы пользователей

Для создания VPN туннеля через IPsec необходимо создать пользователей, которым будет предоставлен доступ, и объединить их в группу. Процесс создания пользователей и группы аналогичен разделу.

IPSec Wizard

Чтобы настроить туннель L2TP над IPsec:

  1. Перейдите в VPN → IPsec Wizard, чтобы воспользоваться специальным помощником.
  2. Выберите тип шаблона Remote Access.
  3. В параметре Remote Device Type — Native и Windows Native.
  4. В поле Name введите имя туннеля.
  5. Выберите в качестве Incoming Interface внешний интерфейс, через который будут подключаться удаленные пользователи. В данном случае — wan1.
  6. Для Authentication Method выберите Pre-shared Key и в поле ниже введите значение секретного ключа. Данный ключ в дальнейшем нужно будет ввести на клиенте при настройке VPN подключения.
  7. В параметре User Group введите группу, созданную в пункте Создание группы пользователей.
  8. На этапе Policy & Routing укажите локальный интерфейс в выпадающем меню, к которому будут подключаться удаленные клиенты.
  9. В параметре Local Address укажите подсеть, к которой будут иметь доступ пользователи. В данном случае выбран адресный объект all.
  10. Чтобы выбрать определенную подсеть, нажмите + и выберите адрес из существующих.
  11. Для создания адреса во всплывающем окне нажмите кнопку Create или в поле Policy & Objects → Addresses → Create New.
  12. В поле Client Address Range укажите пул адресов, который будет присваиваться удалённым клиентам при подключении.
  13. Проследите, чтобы эти адреса не совпадали с внутренней адресацией.
  14. Оставьте в Subnet Mask значение по умолчанию.
  15. Нажмите кнопку Create.

После этого будет создан туннель и на экране появится сводная информация о созданных объектах.

Настроить подключение в Windows

  1. Перейдите в Network and Sharing Center → Set up a new connection or network.
  2. В появившемся окне выберите опцию Connect to a workplace, затем —– Use my Internet connection (VPN).
  3. В поле Internet address введите IP-адрес FortiGate.
  4. В поле Destination name введите название создаваемого подключения.
  5. После этого созданное подключение появится среди доступных сетей.
  6. В окне Network and Sharing Center перейдите на вкладку Change adapter settings.
  7. Среди появившихся сетей выберите созданное VPN подключение.
  8. Правой кнопкой мыши выберите Properties.
  9. В появившемся окне Properties перейдите на вкладку Security.
  10. В параметре Type of VPN выберите Layer 2 Tunneling Protocol with IPsec (L2TP/IPsec).
  11. Перейдите в Advanced settings.
  12. Выберите параметр Use preshared for authentication.
  13. В поле Key введите значение секретного ключа, которое было введено ранее при настройке туннеля на FortiGate.
  14. Нажмите кнопку OK для подключения.
  15. Введите имя пользователя, созданное ранее, и пароль для него.

Настроить SSL VPN

Создать группы пользователей

Пользователям будет предоставлен удалённый доступ и они смогут воспользоваться технологией SSL VPN.

  1. Перейдите в поле User & Authentication → User Definition → Create New.
  2. Создайте локального пользователя, укажите имя пользователя и пароль, при необходимости контактную информацию.
  3. Объедините созданных пользователей в группу.
  4. Для создания группы пользователей перейдите в поле User & Authentication → User Groups → Create New.
  5. Укажите имя группы, тип Firewall и членов группы, созданных ранее.

Создать SSL VPN туннель

  1. Перейдите в поле VPN → SSL-VPN Portal → Create New.
  2. Укажите название, включите Tunnel Mode.
  3. В поле Source IP Pools укажите пул адресов (IP Range), которые будут присваиваться удалённым пользователям. Можно добавить пул, созданный по умолчанию SSLVPN_TUNNEL_ADDR1, или собственный, настроенный аналогичным образом.

В настройках портала также можно включить проверки клиентов, ограничить определенные версии ОС и задать другие параметры подключения клиентов.

Split mode

При создании split tunnel трафик направляется только в назначенную сеть.

  1. Активируйте Enable Split Tunneling.
  2. Выберите Routing Address, чтобы определить сеть назначения, которая будет маршрутизироваться через туннель, то есть к этим адресам будет доступ у удалённых клиентов.
  3. Нажмите + и выберите адрес из существующих.
  4. Для создания адреса во всплывающем окне нажмите кнопку Create или в поле Policy & Objects → Addresses → Create New.

Full mode

Если необходим full mode tunnel, при котором весь трафик удалённых клиентов будет проходить через FortiGate, параметр Enable Split Tunneling нужно отключить.

Web mode

Другой настройкой является параметр Enable Web Mode, позволяющий включить режим web. Здесь можно выбрать:

  • название портала (поле Portal Message);
  • оформление;
  • другие настройки.

Наибольший интерес представляет поле User Bookmarks — опция позволяет пользователям создавать свои закладки. В поле Predefined Bookmarks можно создавать закладки централизованно для всех пользователей. Например, можно создать закладку для подключения к удалённому рабочему столу по протоколу RDP. На этом настройка самого SSL Tunnel завершается.

Настроить общие параметры SSL VPN

  1. Перейдите в поле VPN → SSL-VPN Settings.
  2. Укажите “слушающий” интерфейс, то есть внешний интерфейс, на который будут приходить соединения от удаленных пользователей (в данном примере — wan1), и порт, по которому они будут подключаться. При определении порта, он может совпадать с другими, которые определены для административного доступа. Например, по умолчанию указывается 443, что может конфликтовать с HTTPS портом, при этом FortiGate выведет следующее сообщение:
  3. Укажите в параметре Restrict Access значение Allow access from any hosts или, при необходимости ограничить доступ, нажмите Limit access to specific hosts и предоставьте доступ конкретным хостам.
  4. Укажите период бездействия, после которого пользователь будет принудительно отключаться от VPN, включив параметр Idle Logout и определив значение в параметре Inactive For, по умолчанию это 300 секунд.
  5. Выберите сертификат для параметра Server Certificate. Этот сертификат используется для аутентификации и шифрования трафика SSL VPN. По умолчанию это встроенный Fortinet_Factory. Со встроенным сертификатом работа возможна, но пользователи увидят предупреждение, что сертификат некорректен, так как в хранилище сертификатов нет CA сертификата, который подписал текущий SSL сертификат. Рекомендуется приобрести сертификат для вашего сервера и загрузить его для аутентификации.

Добавить сертификат для аутентификации

  1. Перейдите в раздел System → Certificates.
  2. Убедитесь, что в System → Feature Visibility включено Certificates.
  3. Выберите Import → Local Certificate.
  4. В появившемся окне установите Type — Certificate.
  5. Загрузите Certificate file и Key file для вашего сертификата и введите пароль в поле Password.
  6. Сертификат сервера появится в списке Certificates.
  7. Установите CA сертификат — это сертификат, который подписывает как сертификат сервера, так и сертификат пользователя, например, для аутентификации пользователей SSL VPN. Для этого в разделе System → Certificates выберите Import → CA Certificate.
  8. В появившемся окне установите Type — File и загрузите файл сертификата.
  9. CA сертификат появится в списке External CA Certificates.
  10. Настройте пользователей PKI и группу пользователей, чтобы использовать аутентификацию по сертификату, для чего используйте CLI для создания пользователей PKI:

    config user peer
    edit pki01
        set ca CA_Cert_Name
        set subject User_Name
    next
    end
  11. Убедитесь, что subject совпадает с именем пользователя сертификата. Когда вы создаете пользователя PKI, в графический интерфейс добавляется новое меню, где можно продолжить настройки.

  12. Перейдите в User & Authentication → PKI, чтобы выделить нового пользователя.

  13. Нажмите Edit, чтобы отредактировать учетную запись пользователя и установить Two-factor authentication.

  14. Проследите, чтобы данный пользователь был в группе пользователей для SSL VPN, созданной ранее (см. пункт Создание группы пользователей).

Также можно проверять сертификаты удаленных пользователей, включив параметр Require Client Certificate. В разделе Authentication/Portal Mapping необходимо сопоставить SSL портал с группой пользователей. По умолчанию все пользователи имеют доступ в одинаковые порталы. Данная таблица позволяет сопоставлять разные порталы разным группам пользователей. Создайте новую запись в таблице, нажав Create New и определив портал и группу пользователей. После настройки нажмите Apply и приступайте к созданию политики безопасности.

Настроить политику

Для того, чтобы пользователи успешно подключались к нашему VPN и имели необходимый доступ, нужно создать политику, разрешающую доступ из интерфейса ssl.root в интерфейс локальной сети.

  1. Перейдите в поле Policy & Objects → Firewall Policy → Create New.
  2. Укажите имя политики, в качестве входящего интерфейса должен быть SSL-VPN tunnel interface(ssl.root).
  3. Выберите исходящий интерфейс, в данном случае это внутренний интерфейс lan.
  4. В поле Source выберите созданную ранее группу пользователей, в данном случае это SSLVPNGROUP, и адресный объект all.
  5. В поле Destination выберите необходимую локальную сеть.
  6. Укажите необходимые сервисы и сохраните политику.

Настроить FortiClient

Клиент FortiNet FortiClient можно бесплатно скачать на официальном сайте. FortiClient совместим со множеством платформ, на каждой из которой доступно бесплатное использование SSL VPN. Для клиента также можно приобрести лицензию, которая предоставляет дополнительные возможности и техническую поддержку. С особенностями использования и совместимости можно ознакомиться также на официальном сайте в разделе Technical Specification.

Для настройки подключения на клиенте:

  1. Перейдите в раздел REMOTE ACCESS и выберите SSL-VPN.
  2. Укажите имя подключения, IP адрес FortiGate, порт, по которому подключается клиент (его настраивали в пункте Настройки общих параметров SSL VPN).
  3. При необходимости выберите сертификаты и параметры аутентификации (либо запрашивать логин и пароль при каждом подключении, либо сохранить логин).
  4. Сохраните данное подключение.
  5. Попробуйте подключиться, указав имя подключения, имя пользователя и пароль.

Если ранее у SSL-портала был разрешён web mode, то подключиться можно как с помощью браузера, так и использовать созданную закладку без использования FortiClient:

  1. Введите в адресной строке адрес вашего FortiGate и порт, по которому доступно подключение (см. в пункте Настройки общих параметров SSL VPN).
  2. Авторизуйтесь, введя имя пользователя и пароль.