Алгоритм HMAC для OpenVPN

Статический ключ (хэш-код) аутентификации сообщений (Hash-based Message Authentication Code, HMAC) обеспечивает проверку подлинности информации, передаваемой между сторонами. Этот ключ создается на сервере OpenVPN.

Директива tls-auth добавляет дополнительную подпись HMAC ко всем пакетам рукопожатия SSL/TLS (SSL/TLS handshake packets) для проверки целостности. Любой UDP-пакет, не имеющий правильной HMAC-подписи, может быть отброшен без дальнейшей обработки. HMAC-подпись, устанавливаемая директивой tls-auth, обеспечивает повышенный уровень безопасности дополнительно к безопасности, предоставляемой протоколом SSL/TLS. Это может защитить от:

  • DoS-атак или флуда на UDP-порт OpenVPN.
  • Сканирования портов, предназначенного для определения прослушиваемых сервером UDP-портов.
  • Уязвимостей, связанных с переполнением буфера в реализации SSL/TLS.
  • Попыток инициации SSL/TLS-рукопожатия от несанкционированной машины (хотя, в конечном итоге, такие рукопожатия не пройдут аутентификацию, tls-auth может отсечь их на гораздо более ранней стадии).
  • Для создания ключа HMAC (ta.key) используйте команду openvpn с опциями –genkey и –secret.
    openvpn --genkey --secret ta.key
    
    mv ta.key /etc/openvpn/keys/
  • Для использования ключа HMAC нужно
    # Для еще большей безопасности чем предоставляет
    # SSL/TLS, создайте "HMAC-файрвол",
    # чтобы заблокировать DoS-атаки и UDP-флуд.
    #
    # Генерация:
    #   openvpn --genkey --secret ta.key
    #
    # Сервер и каждый клиент должен иметь
    # копию этого ключа.
    # Второй параметр должен быть '0'
    # на сервере и '1 'на клиентах.
    ;tls-auth ta.key 0 # Этот файл является секретным

    для сервера прописать параметр

    tls-auth /etc/openvpn/keys/ta.key 0

    а в пользовательском конфигурационном файле

    tls-auth /etc/openvpn/keys/ta.key 1

Читайте также: Лучшие VPN и Прокси Сервисы

PQ VPS сервера в 28+ странах.