Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| отключаем_небезопасные_алгоритмы_ssh [2025/09/29 10:27] – jp | отключаем_небезопасные_алгоритмы_ssh [2025/10/01 09:25] (current) – jp | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== Отключаем небезопасные алгоритмы SSH ===== | ===== Отключаем небезопасные алгоритмы SSH ===== | ||
| - | Представим, | + | Представим, |
| В первую очередь мы можем просканировать протокол при помощи [[NMAP]], чтобы понять какие шифры вообще доступны (см. соответствующий раздел материала по //NMAP//). | В первую очередь мы можем просканировать протокол при помощи [[NMAP]], чтобы понять какие шифры вообще доступны (см. соответствующий раздел материала по //NMAP//). | ||
| Line 17: | Line 17: | ||
| sshd -T | egrep ' | sshd -T | egrep ' | ||
| + | sshd -T | egrep ' | ||
| Если шифры доступны - время перейти к конфигу SSH. | Если шифры доступны - время перейти к конфигу SSH. | ||
| Line 26: | Line 27: | ||
| === Отключаем ecdsa-sha2-nistp256 === | === Отключаем ecdsa-sha2-nistp256 === | ||
| - | Если сервер старше 8.5, чтобы исключить // | + | Если сервер старше 8.5, чтобы исключить // |
| < | < | ||
| HostKeyAlgorithms -ecdsa-sha2-nistp256 | HostKeyAlgorithms -ecdsa-sha2-nistp256 | ||
| Line 32: | Line 33: | ||
| </ | </ | ||
| - | В OpenSSH младше версии 8.5 директива // | + | В OpenSSH младше версии 8.5 директива // |
| < | < | ||
| PubkeyAcceptedKeyTypes -ecdsa-sha2-nistp256 | PubkeyAcceptedKeyTypes -ecdsa-sha2-nistp256 | ||
| Line 46: | Line 47: | ||
| MACs -*md5*, | MACs -*md5*, | ||
| + | === Отключаем ненужные KEX === | ||
| + | |||
| + | KexAlgorithms -diffie-hellman-group1-sha1, | ||
| === Завершаем настройку === | === Завершаем настройку === | ||
| - | Перед перезапуском //sshd// хорошо бы протестировать конфигурацию - проверить не только синтаксис, | + | Перед перезапуском //sshd// хорошо бы протестировать конфигурацию - проверить не только синтаксис, |
| sshd -t | sshd -t | ||
| Line 54: | Line 58: | ||
| systemctl restart ssh | systemctl restart ssh | ||
| - | :!: После отключения, при сканировании NMAP в первую очередь необходимо обращать внимание на результат секции // | + | === Тестируем отключение |
| - | + | Пример тестирования | |
| - | В любом случае, можно строго проверить возможность использования | + | |
| < | < | ||
| Line 70: | Line 73: | ||
| </ | </ | ||
| + | Можно протестировать подключение с использованием конкретного MAC и посмотреть - не согласовывают ли сервер и клиент отключенный ранее алгоритм. | ||
| + | |||
| + | :!: Здесь подключение всё равно может установиться, | ||
| + | < | ||
| + | ssh -o MACs=umac-64-etm@openssh.com root@192.168.0.1 -vv | ||
| + | </ | ||
| + | |||
| + | Ищем похожие строки в выводе: | ||
| + | |||
| + | < | ||
| + | debug1: kex: algorithm: ... | ||
| + | debug1: kex: host key algorithm: ... | ||
| + | debug1: kex: server-> | ||
| + | debug1: kex: client-> | ||
| + | </ | ||
| + | |||
| + | Данным сканированием NMAP мы также можем проверить протоколы и шифры: | ||
| + | |||
| + | nmap -p22 -n -sV --unprivileged --script ssh2-enum-algos 192.168.0.1 | ||
| {{tag> | {{tag> | ||