15.4. 시스템 역할을 사용하여 SSH 서버에서 시스템 전체 암호화 정책 덮어쓰기
sshd
RHEL 시스템 역할을 사용하여 SSH 서버에서 시스템 전체 암호화 정책을 재정의할 수 있습니다.
사전 요구 사항
- 제어 노드와 관리형 노드가 준비되었습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리형 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.- name: Overriding the system-wide cryptographic policy hosts: managed-node-01.example.com roles: - rhel_system_roles.sshd vars: sshd_sysconfig: true sshd_sysconfig_override_crypto_policy: true sshd_KexAlgorithms: ecdh-sha2-nistp521 sshd_Ciphers: aes256-ctr sshd_MACs: hmac-sha2-512-etm@openssh.com sshd_HostKeyAlgorithms: rsa-sha2-512,rsa-sha2-256
-
sshd_KexAlgorithms
:: 키 교환 알고리즘을 선택할 수 있습니다 (예:ecdh-sha2-nistp256
,ecdh-sha2-nistp384
,ecdh-sha2-nistp521
, diffie-hellman-group14-group14-sha1 ) 또는
1 .diffie-hellman-group-group-sha
-sha-sha-sha-sha-sha-sha -
sshd_Ciphers
:: 암호를 선택할 수 있습니다 (예:aes128-ctr
,aes192-ctr
, 또는aes256-ctr
). -
sshd_MACs
:: MACs (예:hmac-sha2-256
,hmac-sha2-512
) 또는hmac-sha1
을 선택할 수 있습니다. -
sshd_HostKeyAlgorithms
:: 공개 키 알고리즘을 선택할 수 있습니다 (예:ecdsa-sha2-nistp256
,ecdsa-sha2-nistp384
,ecdsa-sha2-nistp521
,ssh-rsa
, 또는ssh-dss
).
RHEL 9 관리 노드에서 시스템 역할은 암호화 옵션이 자동으로 적용되는
/etc/ssh/sshd_config.d/00-ansible_system_role.conf
파일에 구성을 씁니다.sshd_config_file
변수를 사용하여 파일을 변경할 수 있습니다. 그러나 구성이 효과적임을 확인하려면 구성된 암호화 정책을 포함하는/etc/ssh/sshd_config.d/50-redhat.conf
파일을 사전 지정하는 파일 이름을 사용합니다.RHEL 8 관리 노드에서
sshd_sysconfig_override_crypto_policy
및sshd_sysconfig
변수를true
로 설정하여 재정의를 활성화해야 합니다.-
플레이북 구문을 확인합니다.
$ ansible-playbook --syntax-check ~/playbook.yml
이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
$ ansible-playbook ~/playbook.yml
검증
자세한 SSH 연결을 사용하여 절차의 성공 여부를 확인하고 다음 출력에서 정의된 변수를 확인할 수 있습니다.
$ ssh -vvv <ssh_server> ... debug2: peer server KEXINIT proposal debug2: KEX algorithms: ecdh-sha2-nistp521 debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256 debug2: ciphers ctos: aes256-ctr debug2: ciphers stoc: aes256-ctr debug2: MACs ctos: hmac-sha2-512-etm@openssh.com debug2: MACs stoc: hmac-sha2-512-etm@openssh.com ...
추가 리소스
-
/usr/share/ansible/roles/rhel-system-roles.sshd/README.md
파일 -
/usr/share/doc/rhel-system-roles/sshd/
디렉터리