Пытаюсь создать SSL-туннель, но не могу подключиться

Вопрос или проблема

Я создал ssl туннель, к которому могу подключаться через ssh, но когда я пытаюсь подключиться, у меня не получается

Мой stunnel.conf

cert = /etc/stunnel/stunnel.pem
client = no
socket = a:SO_REUSEADDR=1
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1

[ssh]
accept = 441
connect = 0.0.0.0:22

Порты 22 и 441 (мой порт 443 занят, поэтому я использую 441)

sudo netstat -tuln | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN

sudo netstat -tuln | grep :441
tcp        0      0 0.0.0.0:441             0.0.0.0:*               LISTEN

Мой статус stunnel:

sudo systemctl status stunnel4
● stunnel4.service - LSB: Запуск или остановка stunnel 4.x (TLS туннель для сетевых демонов)
     Loaded: загружен (/etc/init.d/stunnel4; сгенерировано)
     Active: активен (работает) с Чт 2024-09-26 16:21:49 -03; 19 минут назад
       Docs: man:systemd-sysv-generator(8)
    Process: 3434447 ExecStart=/etc/init.d/stunnel4 start (code=exited, status=0/SUCCESS)
      Tasks: 2 (limit: 38417)
     Memory: 2.5M
        CPU: 21ms
     CGroup: /system.slice/stunnel4.service
             └─3434463 /usr/bin/stunnel4 /etc/stunnel/stunnel.conf

26 сен 16:21:49 domain.com stunnel[3434461]: LOG5[ui]: Скомпилирован/работает с OpenSSL 3.0.2 15 мар 2022
26 сен 16:21:49 domain.com stunnel[3434461]: LOG5[ui]: Потоки:PTHREAD Сокеты:POLL,IPv6,SYSTEMD TLS:ENGINE,OCSP,PSK,SNI Auth:LIBWRAP
26 сен 16:21:49 domain.com stunnel[3434461]: LOG5[ui]: Чтение конфигурации из файла /etc/stunnel/stunnel.conf
26 сен 16:21:49 domain.com stunnel[3434461]: LOG5[ui]: UTF-8 байтовая метка порядка не обнаружена
26 сен 16:21:49 domain.com stunnel[3434461]: LOG5[ui]: Режим FIPS отключен
26 сен 16:21:49 domain.com stunnel[3434461]: LOG4[ui]: Небезопасные права доступа к файлу /etc/stunnel/stunnel.pem
26 сен 16:21:49 domain.com stunnel4[3434447]: Запуск TLS туннелей: /etc/stunnel/stunnel.conf: запущен (pidfile не указан!)
26 сен 16:21:49 domain.com stunnel[3434461]: LOG5[ui]: Конфигурация успешна
26 сен 16:21:49 domain.com stunnel[3434461]: LOG5[ui]: Привязка сервиса [ssh] к :::441: Адрес уже используется (98)
26 сен 16:21:49 domain.com systemd[1]: Запущен LSB: Запуск или остановка stunnel 4.x (TLS туннель для сетевых демонов).

Я активировал права ufw, но все равно не могу подключиться

Ответ или решение

Чтобы решить вашу проблему с подключением к SSL туннелю через stunnel, давайте разберем несколько важных моментов, которые могут привести к сбоям в работе.

  1. Конфигурация stunnel.conf:

    • Ваш файл конфигурации выглядит в целом правильно, но следует обратить внимание на сообщение: Binding service [ssh] to :::441: Address already in use (98). Это означает, что порт 441 уже занят другим процессом. Проверьте, какой процесс использует этот порт, с помощью команды:
      sudo netstat -tuln | grep :441

      Если другой процесс использует этот порт, измените его на свободный порт в конфигурации stunnel.

  2. Правильные разрешения на файл сертификата:

    • Сообщение Insecure file permissions on /etc/stunnel/stunnel.pem указывает на то, что права доступа к файлу сертификата слишком свободные. Убедитесь, что права доступа к вашему файлу сертификата установлены корректно (обычно 600):
      sudo chmod 600 /etc/stunnel/stunnel.pem
    • Также убедитесь, что файл сертификата принадлежит пользователю, под которым работает stunnel (обычно это пользователи stunnel4 или root):
      sudo chown root:root /etc/stunnel/stunnel.pem
  3. Проверка правил Firewall (UFW):

    • Проверьте, разрешены ли входящие соединения на порт 441. Вы можете использовать следующую команду, чтобы отобразить текущие правила:
      sudo ufw status
    • Если порт 441 не разрешен, добавьте правило:
      sudo ufw allow 441/tcp
  4. Запуск и тестирование:

    • После внесения вышеуказанных изменений перезапустите stunnel:
      sudo systemctl restart stunnel4
    • Убедитесь, что stunnel запущен без ошибок:
      sudo systemctl status stunnel4
    • Попробуйте подключиться к вашему SSL туннелю через SSH, используя клиентскую команду:
      ssh -p 441 user@your_server_ip
    • Замените user на имя пользователя и your_server_ip на IP-адрес вашего сервера.
  5. Дополнительные проверки:

    • Если у вас все еще возникают проблемы с соединением, попробуйте подключиться локально, используя localhost:
      ssh -p 441 user@localhost
    • Если соединение успешно, возможно, проблема в сетевых настройках или на стороне клиента.

Если все перечисленные шаги не решают проблему, рассмотрите возможность детального анализа логов stunnel для выявления более специфичных ошибок:

sudo tail -f /var/log/syslog | grep stunnel

Надеюсь, эти шаги помогут вам успешно настроить и использовать ваш SSL туннель через stunnel.

Оцените материал
Добавить комментарий

Капча загружается...