Перенаправление SSH-агента
Что такое Перенаправление SSH-агента?
Перенаправление SSH-агентаВозможность OpenSSH (-A или ForwardAgent yes), при которой на удалённом хосте создаётся UNIX-сокет, позволяющий командам там использовать локальный SSH-агент для дальнейших подключений.
Перенаправление SSH-агента позволяет пользователю запустить ssh-agent локально и переходить с сервера на сервер, не копируя закрытые ключи. При подключении с ForwardAgent yes openssh создаёт на удалённом хосте UNIX-сокет (путь в SSH_AUTH_SOCK), проксирующий запросы подписи к локальному агенту. Опасность в том, что любой пользователь с root на удалённом хосте может перехватить этот сокет и от имени пользователя подписывать аутентификации к любым доступным целям, пока активен сеанс. Громкие инциденты (matrix.org в 2019, предупреждения о supply-chain на GitHub.com) привели к рекомендации использовать ProxyJump (-J), краткосрочные SSH-сертификаты или ключи на аппаратных токенах (FIDO ed25519-sk), а также включать IdentityAgent или подтверждения подписи в агенте, когда перенаправление неизбежно.
● Примеры
- 01
Атакующий с root на bastion-хосте через SSH_AUTH_SOCK подписывает аутентификации к нижестоящим продовым серверам от имени пользователя.
- 02
Замена ssh -A admin@jump на ssh -J jump admin@target — закрытый ключ никогда не попадает на bastion.
● Частые вопросы
Что такое Перенаправление SSH-агента?
Возможность OpenSSH (-A или ForwardAgent yes), при которой на удалённом хосте создаётся UNIX-сокет, позволяющий командам там использовать локальный SSH-агент для дальнейших подключений. Относится к категории Сетевая безопасность в кибербезопасности.
Что означает Перенаправление SSH-агента?
Возможность OpenSSH (-A или ForwardAgent yes), при которой на удалённом хосте создаётся UNIX-сокет, позволяющий командам там использовать локальный SSH-агент для дальнейших подключений.
Как работает Перенаправление SSH-агента?
Перенаправление SSH-агента позволяет пользователю запустить ssh-agent локально и переходить с сервера на сервер, не копируя закрытые ключи. При подключении с ForwardAgent yes openssh создаёт на удалённом хосте UNIX-сокет (путь в SSH_AUTH_SOCK), проксирующий запросы подписи к локальному агенту. Опасность в том, что любой пользователь с root на удалённом хосте может перехватить этот сокет и от имени пользователя подписывать аутентификации к любым доступным целям, пока активен сеанс. Громкие инциденты (matrix.org в 2019, предупреждения о supply-chain на GitHub.com) привели к рекомендации использовать ProxyJump (-J), краткосрочные SSH-сертификаты или ключи на аппаратных токенах (FIDO ed25519-sk), а также включать IdentityAgent или подтверждения подписи в агенте, когда перенаправление неизбежно.
Как защититься от Перенаправление SSH-агента?
Защита от Перенаправление SSH-агента обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Перенаправление SSH-агента?
Распространённые альтернативные названия: ForwardAgent, ssh -A.
● Связанные термины
- network-security№ 1089
Типы SSH-ключей
Асимметричные алгоритмы, которые OpenSSH принимает для аутентификации пользователя и хоста: RSA, ECDSA (кривые NIST) и современный стандартный Ed25519.
- network-security№ 594
Файл known_hosts
Файл клиента OpenSSH (~/.ssh/known_hosts), фиксирующий открытые ключи серверов, чтобы SSH мог обнаружить смену host-key и тем самым возможный MITM.
- identity-access№ 414
FIDO2
Открытый стандарт аутентификации FIDO Alliance, объединяющий WebAuthn (браузерный API) и CTAP (протокол аутентификатора) для входа без пароля с защитой от фишинга.
- identity-access№ 861
Управление привилегированным доступом (PAM)
Совокупность практик и инструментов для защиты, контроля, мониторинга и аудита доступа к учётным записям и системам с повышенными правами.
- defense-ops№ 606
Латеральное перемещение (Lateral Movement)
Тактика MITRE ATT&CK (TA0008), охватывающая техники, позволяющие атакующему перемещаться от одного скомпрометированного хоста к другим в среде.
- network-security№ 1087
SSH
Криптографический сетевой протокол (RFC 4251, порт 22), обеспечивающий аутентифицированный, зашифрованный и целостный удалённый вход, выполнение команд и туннелирование через недоверенную сеть.