OpenSSH 로깅에서 "키 옵션: 프록시 전달"의 의미

OpenSSH 로깅에서 "키 옵션: 프록시 전달"의 의미

먼저 SSH 에이전트 전달에 관해 다른 질문이 많이 있다는 점을 지적하고 싶습니다. 사람들은 프록시 전달 작업을 수행하는 방법이나 이를 안전하게 구성하는 방법을 알고 싶어합니다. 하지만 반대의 문제가 있습니다. 안정적으로 할 수 없는 것 같습니다.장애를 입히다그것. 그럼 시작해 보겠습니다.

나는 이 글을 쓰는 시점에서 최신이고 기본적으로 재고가 있는 데비안 불스아이 시스템을 실행하고 있습니다. 이 시스템에서 SSH 데몬은 다음 구성으로 실행됩니다 /etc/ssh/sshd_config.

AcceptEnv LANG LC_*
AllowAgentForwarding no
AllowTcpForwarding no
AllowStreamLocalForwarding no
ChallengeResponseAuthentication no
Ciphers [email protected],[email protected]
Compression no
DebianBanner no
HostKeyAlgorithms rsa-sha2-512,ssh-ed25519
KbdInteractiveAuthentication no
KexAlgorithms curve25519-sha256,[email protected],diffie-hellman-group-exchange-sha256
ListenAddress aaa.bbb.ccc.ddd
LoginGraceTime 20
MACs [email protected],[email protected]
PasswordAuthentication no
PermitUserRC no
Protocol 2
# The first of the following version is the right one.
# However, for brain-dead WinSCP, we need the second version.
#PubkeyAcceptedKeyTypes rsa-sha2-512,rsa-sha2-256,ssh-ed25519
PubkeyAcceptedKeyTypes rsa-sha2-512,rsa-sha2-256,ssh-ed25519,ssh-rsa
RekeyLimit 100M 20m
Subsystem sftp /usr/lib/openssh/sftp-server

Match user copyremote
  ChrootDirectory /backup
  ForceCommand /usr/lib/openssh/sftp-server

이것은충분히구성 파일. 수신 대기하는 IP 주소를 제외하고는 아무것도 제거되거나 난독화되지 않습니다. 또한 SSH 데몬에 대한 추가 구성 조각은 다른 곳에 포함되어 있지 않습니다.

기본적으로 이 구성은 프록시 전달 기능과 같이 필요하지 않은 모든 기능을 끄려고 합니다(참고: 이 구성 파일에는 기본적으로 대부분의 기능을 끄는 줄을 추가하지 않았습니다(다음에 따름). 설명서)). 또한 인증은 전적으로 공개 키를 기반으로 한다는 점을 알 수 있습니다.

어느 날 저는 copyremote사용자 및 SFTP 하위 시스템의 문제를 조사하고 있었기 때문에 이를 클라이언트 시스템에 -v매개변수로 제공했습니다 . sftp결과는 다음과 같습니다(관련 부분만 표시됨).

root@morn ~/scripts # sftp -v -i ~/.ssh/id_rsa_backup_user [email protected]:/backup/achilles.bsdtar.gz .
OpenSSH_8.4p1 Debian-5+deb11u1, OpenSSL 1.1.1n  15 Mar 2022
[...]
debug1: Remote: /home/usr/copyremote/.ssh/authorized_keys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug1: Remote: /home/usr/copyremote/.ssh/authorized_keys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
[...]

이제 이것은 끔찍합니다. 서버의 시스템 전체 구성 파일에서 전역적으로 프록시 전달을 해제했다고 생각했습니다. 그러나 출력을 이해하는 한 제공됩니다.

프록시 전달(및 서버에서 제공하지 않기를 원하는 기타 기능)을 끄는 방법을 설명해 줄 수 있는 사람이 있습니까?세계적인?

이러한 기능은 authorized_keys파일에서 명시적으로 비활성화할 수 있지만, 사용자가 여러 명이고 각 사용자가 여러 공개 키를 허용하는 경우 오류가 발생하기 쉽고 작업량이 많기 때문에 비활성화하는 것이 좋습니다. 한 곳에서.

authorized_keys다음은 서버에 있는 사용자 파일 입니다 .copyremote

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDs6ku+LXaUBs....JFchhaoQ== me@client

거기에는 특별한 것이 없습니다. 프록시 전달이 명시적으로 허용되지 않는다는 점은 주목할 가치가 있습니다. 그렇다면 시스템 전체 구성의 설정을 적용하지 않는 이유는 무엇입니까?

PS SSH/SFTP chroot가 우리가 기대하는 보안을 제공하지 않는다는 것을 알고 있습니다. 문제를 완화하기 위해 서버에 추가 단계를 구현했으므로 여기서는 논의할 필요가 없습니다. :-)

답변1

프록시 전달이 전역적으로 활성화된 경우(그렇지 않음) 프록시 전달에 키(기본값)를 사용할 수 있다고 말합니다.


로그 항목에는 authorized_keys파일 구문 분석 결과만 표시됩니다. 이는 기본적으로 no-agent-forwarding해당 항목에서 플래그를 찾을 수 없음을 의미합니다. 이는 해당 지침을 전혀 반영하지 않습니다 AllowAgentForwarding no.

관련 정보