Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
отключаем_небезопасные_алгоритмы_ssh [2025/09/29 09:34] – 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 24: | Line 25: | ||
ssh -V | ssh -V | ||
- | Если сервер старше 8.5, чтобы исключить // | + | === Отключаем ecdsa-sha2-nistp256 === |
+ | |||
+ | Если сервер старше 8.5, чтобы исключить // | ||
< | < | ||
HostKeyAlgorithms -ecdsa-sha2-nistp256 | HostKeyAlgorithms -ecdsa-sha2-nistp256 | ||
Line 30: | Line 33: | ||
</ | </ | ||
- | В OpenSSH младше версии 8.5 директива // | + | В OpenSSH младше версии 8.5 директива // |
< | < | ||
PubkeyAcceptedKeyTypes -ecdsa-sha2-nistp256 | PubkeyAcceptedKeyTypes -ecdsa-sha2-nistp256 | ||
</ | </ | ||
- | Перезапустим ssh-сервер: | ||
- | |||
- | systemctl restart ssh | ||
Если мы хотим полностью избавиться от //ECDSA// - удаляем или перемещаем сами ключи. | Если мы хотим полностью избавиться от //ECDSA// - удаляем или перемещаем сами ключи. | ||
/ | / | ||
/ | / | ||
- | :!: После отключения, при сканировании NMAP в первую очередь необходимо обращать внимание на результат секции // | + | === Отключаем |
- | В любом случае, можно строго проверить | + | Добавляем в тот же sshd_config |
+ | |||
+ | MACs -*md5*, | ||
+ | === Отключаем | ||
+ | |||
+ | KexAlgorithms -diffie-hellman-group1-sha1, | ||
+ | === Завершаем настройку === | ||
+ | |||
+ | Перед перезапуском //sshd// хорошо бы протестировать конфигурацию - проверить не только синтаксис, | ||
+ | |||
+ | sshd -t | ||
+ | Перезапустим ssh-сервер, | ||
+ | |||
+ | systemctl restart ssh | ||
+ | === Тестируем | ||
+ | | ||
< | < | ||
Line 58: | 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> |