Как я нахожу, что SSL включил порты или экземпляры SSL на Linux RHEL 5.3

Посмотрите на named.conf, возьмите имя от строки со строковой зоной и перезагрузите его. Например:

зона "v6.domain.com.pl" {

rndc перезагружают зону v6.domain.com.pl

6
задан 9 December 2011 в 14:11
1 ответ

I'm not sure if there's an automated way to do this.

First, I would list all the ports that are listening and match the ports to the process/executable (for example, with netstat -t -l -p, as root to be able to see the process ID (PID)).

[РЕДАКТИРОВАТЬ]

Вы получите такие записи, где PID равен:

tcp        0      0 *:https            *:*                LISTEN      5221/apache2

Это говорит вам, какая программа работает на порту https . (Используйте netstat -t -l -p -n , если вам просто нужен номер порта, и в этом случае вы увидите *: 443 вместо *: https ). Это говорит о том, что порт 443 прослушивает сокет. Кроме того, здесь 5221 - это PID для apache2, так что он также сообщает вам, какое приложение используется. Иногда может быть не сразу видно, какое приложение используется (вы можете посмотреть содержимое / proc / 5221 / cmdline , чтобы увидеть более подробную информацию, например).

Я бы сосредоточился только на записи, привязанные к внешним интерфейсам (и игнорирующие записи localhost ).

Как правило, вы можете увидеть, что что-то прослушивает порт 22 (ssh), 80 (http), 443 (https), ...

Затем вам нужно будет протестировать их один за другим в зависимости от метода, описанного ниже.

Для пример echo "" | openssl s_client -connect your.host.name:80 должен показать сообщение об ошибке, так как ваш веб-сервер не будет (или не должен) слушать запросы SSL / TLS на этом порту, echo "" | openssl s_client -connect your.host.name:443 должен работать и показать вам некоторую информацию о сертификате и соединении.

поскольку ваш веб-сервер не будет (или не должен) слушать запросы SSL / TLS на этом порту, echo "" | openssl s_client -connect your.host.name:443 должен работать и показать вам некоторую информацию о сертификате и соединении.

поскольку ваш веб-сервер не будет (или не должен) слушать запросы SSL / TLS на этом порту, echo "" | openssl s_client -connect your.host.name:443 должен работать и показать вам некоторую информацию о сертификате и соединении.

[/ EDIT]

Для предварительного SSL / TLS вы можете проверить, будет ли он принимать TLS ClientHello (т. Е. Сервер TLS от начало соединения), но с использованием echo "" | openssl s_client -connect hostname: port ( echo "" | не является обязательным, он просто остановит openssl, как только он установит соединение, поскольку вы, вероятно, не хотите отправлять что-либо конкретное) .

Для «обновленных» соединений SSL / TLS , выполняемых после команды на уровне протокола приложения (например, STARTTLS ), это может быть сложнее.

Вы можете сделайте это, добавив -starttls the_name_of_the_protocol к этой команде openssl s_client . Согласно документации OpenSSL, « В настоящее время Для автоматизации этого процесса потребуется инструмент, который может понять все эти протоколы, что может быть довольно сложно.

Пара дополнительных моментов, если это для более общего аудита безопасности:

  • Включение SSL / TLS редко бывает достаточно. Вы также хотите убедиться, что он настроен правильно: действительный сертификат, SSLv2 отключен, попытка перейти на более высокие значения SSL / TLS (SSLv3, TLSv1.0, TLSv1.1 +) путем отключения более старых версий, если ваша база пользователей достаточно совместимое, небезопасное повторное согласование отключено, если возможно, достаточно надежные комплекты шифров.

  • Несмотря на использование библиотеки OpenSSL, OpenSSH (и SSH в целом) не основан на SSL / TLS. Возможно, вы все равно захотите сохранить это, даже если ваша политика предусматривает использование только служб SSL / TLS.

6
ответ дан 3 December 2019 в 00:30

Теги

Похожие вопросы