Пояснения к настройкам OpenVPN

Board index Администрирование Компьютерная безопасность OpenVPN

Description: Протокол передачи данных

#1by mexan » 02.01.2025, 22:12

Пояснения к настройкам:
Файлы сертификатов и ключей:
ca.crt - корневой сертификат центра сертификации.
server.crt и server.key - сертификат и ключ сервера.
client1.crt и client1.key - сертификат и ключ клиента.
ta.key - статический ключ tls-auth для дополнительной безопасности (опционально). Добавляет дополнительный уровень безопасности, защищая от нежелательных подключений и сканирования портов.

Конфигурация OpenVPN сервера:
  • port 1194
    Указывает порт, на котором сервер OpenVPN будет принимать входящие соединения. Порт 1194 является официально назначенным портом для OpenVPN по стандартам IANA.
  • proto udp
    Определяет протокол, используемый для передачи данных. В данном случае используется UDP (User Datagram Protocol). Альтернативой может быть TCP.
  • dev tun
    Указывает тип виртуального сетевого интерфейса. "tun" обозначает сетевой туннель на уровне IP (точка-точка). Альтернативой является "tap" для Ethernet-туннелирования (уровень 2).
  • ca ca.crt
    Задает путь к файлу сертификата Центра Сертификации (CA). Этот сертификат используется для проверки подлинности клиентских сертификатов.
  • cert server.crt
    Задает путь к сертификату сервера. Этот сертификат используется для подтверждения подлинности сервера перед клиентами.
  • key server.key
    Указывает путь к приватному ключу сервера. Этот ключ должен храниться в безопасности и никому не передаваться.
  • dh dh.pem
    Задает файл параметров Диффи-Хеллмана (DH). Эти параметры используются для установления безопасного ключевого обмена между сервером и клиентами.
  • server 10.9.0.0 255.255.255.0
    Определяет виртуальную IP-сеть для VPN. Сервер будет назначать клиентам IP-адреса из этого диапазона (10.9.0.0 с маской подсети 255.255.255.0).
  • ifconfig-pool-persist ipp.txt
    Указывает файл ("ipp.txt") для хранения соответствия между клиентами и назначенными им IP-адресами. Это позволяет сохранять один и тот же IP-адрес для клиента между сессиями.
  • push "redirect-gateway def1 bypass-dhcp"
    Инструктирует сервер пересылать эту настройку клиентам, чтобы перенаправить весь их интернет-трафик через VPN (переопределяет шлюз по умолчанию). Параметр "bypass-dhcp" предотвращает конфликты с локальными настройками DHCP.
  • push "dhcp-option DNS 8.8.8.8"
    Инструктирует сервер переслать клиентам настройку использовать DNS-сервер 8.8.8.8 (публичный DNS-сервер Google).
  • push "dhcp-option DNS 8.8.4.4"
    Аналогично предыдущей строке, но добавляет второй DNS-сервер 8.8.4.4 для резервирования.
  • keepalive 10 120
    Эта команда сочетает в себе "ping 10" и "ping-restart 120". Сервер будет отправлять пинг-запросы клиентам каждые 10 секунд, и если в течение 120 секунд ответа не будет, соединение перезапустится.
  • tls-auth ta.key 0
    Включает дополнительную HMAC-аутентификацию TLS рукопожатия с использованием ключа "ta.key". Цифра "0" указывает, что это серверная сторона. Это повышает безопасность, защищая от некоторых видов атак.
  • topology subnet
    Устанавливает топологию VPN-сети как "subnet". Это позволяет клиентам получать IP-адреса в одной подсети с сервером, что упрощает маршрутизацию.
  • cipher AES-128-CBC
    Указывает алгоритм шифрования, используемый для передачи данных. Здесь используется AES с 128-битным ключом в режиме CBC (Cipher Block Chaining).
  • auth SHA256
    Определяет алгоритм хэширования для проверки целостности сообщений (HMAC). Используется SHA256 для обеспечения высокой степени безопасности.
  • persist-key
    Инструктирует OpenVPN не пересчитывать ключи при перезагрузке демона. Это предотвращает необходимость повторного чтения файлов ключей, обеспечивая более быстрое восстановление.
  • persist-tun
    Инструктирует OpenVPN не закрывать туннельный интерфейс при перезапуске. Это позволяет сохранять настройки сетевого интерфейса между перезагрузками.
  • status openvpn-status.log
    Указывает файл для записи текущего статуса сервера OpenVPN. В этом файле содержится информация о подключенных клиентах и статистика соединений.
  • verb 3
    Устанавливает уровень подробности логирования (verbosity). Уровень 3 дает умеренное количество информации, полезное для отладки и мониторинга без избыточных деталей.
mexan
Администратор
Reputation: 0
Posts: 179
Topics: 138

#2by mexan » 02.01.2025, 22:16

Конфигурация OpenVPN клиента:
  • client
    Задает OpenVPN, что это клиентская конфигурация.
  • dev tun
    Указывает использовать виртуальный сетевой интерфейс типа TUN (туннельный интерфейс) для передачи IP-пакетов.
  • proto udp
    Указывает использовать протокол UDP для передачи данных. Возможна замена на TCP при необходимости.
  • remote IP адрес сервера 1194
    Устанавливает удаленный сервер OpenVPN по IP-адресу сервера и порту 1194, к которому клиент будет подключаться.
  • resolv-retry infinite
    В случае неудачной попытки подключения, клиент будет бесконечно пытаться переподключиться к серверу.
  • nobind
    Клиент не будет привязываться к конкретному локальному порту, что позволяет операционной системе автоматически назначать свободный порт для исходящего соединения.
  • persist-key
    Сохраняет ключи аутентификации в памяти между перезапусками или переподключениями, избегая необходимости их повторной загрузки с диска.
  • persist-tun
    Сохраняет состояние туннельного интерфейса tun между переподключениями, предотвращая его повторную инициализацию.
  • ca ca.crt
    Указывает путь к файлу сертификата центра сертификации (CA), который используется для проверки подлинности серверного сертификата.
  • cert client1.crt
    Указывает путь к клиентскому сертификату. Он используется для аутентификации клиента на сервере.
  • key client1.key
    Указывает путь к приватному ключу клиента, соответствующему сертификату client1.crt.
  • remote-cert-tls server
    Настраивает клиента на проверку того, что удаленный сертификат действительно принадлежит серверу. Это повышает безопасность, предотвращая атаки типа "человек посередине".
  • tls-auth ta.key 1
    Использует статический ключ HMAC (файл ta.key) для дополнительной аутентификации TLS-соединения. Цифра 1 обозначает, что это клиент (серверу соответствует 0).
  • cipher AES-128-CBC
    Устанавливает алгоритм шифрования для передачи данных: AES с 128-битным ключом в режиме CBC (Cipher Block Chaining).
  • auth SHA256
    Указывает алгоритм хеширования для аутентификации сообщений: SHA256.
  • verb 3
    Устанавливает уровень детализации журналирования (логов). Значение 3 предоставляет умеренный уровень подробности. Более высокие значения дают более подробные логи.
  • log-append openvpn-client.log
    Указывает файл для записи логов (openvpn-client.log) и режим добавления. Новые записи будут добавляться в конец файла, сохраняя предыдущие логи.
mexan
Администратор
Reputation: 0
Posts: 179
Topics: 138


Return to OpenVPN

cron