Red Hat Training
A Red Hat training course is available for RHEL 8
2장. ssh 시스템 역할을 사용하여 보안 통신 구성
관리자는 sshd
시스템 역할을 사용하여 SSH 서버 및 ssh
시스템 역할을 구성하여 Red Hat Ansible Automation Platform을 사용하여 동시에 여러 RHEL 시스템에서 SSH 클라이언트를 일관되게 구성할 수 있습니다.
2.1. SSH
Server 시스템 역할 변수
sshd
시스템 역할 플레이북에서는 기본 설정 및 제한 사항에 따라 SSH 구성 파일의 매개변수를 정의할 수 있습니다.
이러한 변수를 구성하지 않으면 시스템 역할은 RHEL 기본값과 일치하는 sshd_config
파일을 생성합니다.
모든 경우에 부울이 sshd
구성에서 yes
및 no
로 올바르게 렌더링됩니다. 목록을 사용하여 여러 줄 구성 항목을 정의할 수 있습니다. 예를 들면 다음과 같습니다.
sshd_ListenAddress: - 0.0.0.0 - '::'
다음과 같이 렌더링됩니다.
ListenAddress 0.0.0.0 ListenAddress ::
sshd
시스템 역할에 대한 변수
sshd_enable
-
false
로 설정하면 역할이 완전히 비활성화됩니다. 기본값은true
입니다. sshd_skip_defaults
-
true
로 설정하면 시스템 역할이 기본값을 적용하지 않습니다. 대신sshd
사전 또는sshd_<OptionName
> 변수를 사용하여 전체 구성 기본값 세트를 지정합니다. 기본값은false
입니다. sshd_manage_service
-
false
로 설정하면 서비스가 관리되지 않으므로 부팅 시 활성화되지 않고 시작 또는 다시 로드되지 않습니다. Ansible service 모듈이 현재 AIX에 대해활성화되지
않기 때문에 컨테이너 또는 AIX 내부에서 실행되는 경우를 제외하고 기본값은true
입니다. sshd_allow_reload
-
false
로 설정하면 구성이 변경된 후sshd
가 다시 로드되지 않습니다. 이는 문제 해결에 도움이 될 수 있습니다. 변경된 구성을 적용하려면sshd
를 수동으로 다시 로드합니다. 기본값은 AIX를 제외한sshd_manage_service
와 동일한 값입니다. 여기서sshd_manage_service
기본값은false
이지만sshd_allow_reload
의 기본값은true
입니다. sshd_install_service
true
로 설정하면 역할이sshd
서비스에 대한 서비스 파일을 설치합니다. 이렇게 하면 운영 체제에 제공된 파일이 재정의됩니다. 두 번째 인스턴스를 구성하고sshd_service
변수도 변경하지 않는 한true
로 설정하지 마십시오. 기본값은false
입니다.역할은 다음 변수에서 가리키는 파일을 템플릿으로 사용합니다.
sshd_service_template_service (default: templates/sshd.service.j2) sshd_service_template_at_service (default: templates/sshd@.service.j2) sshd_service_template_socket (default: templates/sshd.socket.j2)
sshd_service
-
이 변수는 두 번째
sshd
서비스 인스턴스를 구성하는 데 유용한sshd
서비스 이름을 변경합니다. sshd
구성이 포함된 사전입니다. 예를 들면 다음과 같습니다.
sshd: Compression: yes ListenAddress: - 0.0.0.0
sshd_config(5)
는sshd
사전의 모든 옵션을 나열합니다.sshd_<OptionName>
사전 대신
sshd_
접두사 및 옵션 이름으로 구성된 간단한 변수를 사용하여 옵션을 정의할 수 있습니다. simple 변수는sshd
사전의 값을 재정의합니다. 예를 들면 다음과 같습니다.sshd_Compression: no
sshd_config(5)
는sshd
에 대한 모든 옵션을 나열합니다.sshd_manage_firewall
기본 포트
22
와 다른 포트를 사용하는 경우 이 변수를true
로 설정합니다.true
로 설정하면sshd
역할은firewall
역할을 사용하여 포트 액세스를 자동으로 관리합니다.참고sshd_manage_firewall
변수는 포트만 추가할 수 있습니다. 포트를 제거할 수 없습니다. 포트를 제거하려면방화벽
시스템 역할을 직접 사용합니다.방화벽
시스템 역할을 사용하여 포트를 관리하는 방법에 대한 자세한 내용은 시스템 역할을 사용하여 포트 구성을 참조하십시오.sshd_manage_selinux
기본 포트
22
와 다른 포트를 사용하는 경우 이 변수를true
로 설정합니다.true
로 설정하면sshd
역할은selinux
역할을 사용하여 포트 액세스를 자동으로 관리합니다.참고sshd_manage_selinux
변수는 포트만 추가할 수 있습니다. 포트를 제거할 수 없습니다. 포트를 제거하려면selinux
시스템 역할을 직접 사용합니다.sshd_match
및sshd_match_1
을sshd_match_9
로 재정의-
사전 목록 또는 일치 섹션의 사전만 표시합니다. 이러한 변수는
sshd
사전에 정의된 대로 일치 블록을 재정의하지 않습니다. 결과 구성 파일에 모든 소스가 반영됩니다. sshd_backup
-
false
로 설정하면 원래sshd_config
파일이 백업되지 않습니다. 기본값은true
입니다.
sshd
시스템 역할의 보조 변수
이러한 변수를 사용하여 지원되는 각 플랫폼에 해당하는 기본값을 재정의할 수 있습니다.
sshd_packages
- 이 변수를 사용하여 설치된 패키지의 기본 목록을 재정의할 수 있습니다.
sshd_config_owner
,sshd_config_group
, andsshd_config_mode
-
이 역할에서 이러한 변수를 사용하여 생성하는
openssh
구성 파일의 소유권 및 권한을 설정할 수 있습니다. sshd_config_file
-
이 역할이
openssh
서버 구성이 생성된 경로입니다. sshd_config_namespace
이 변수의 기본값은 null입니다. 즉, 역할이 시스템 기본값을 포함하여 구성 파일의 전체 콘텐츠를 정의함을 의미합니다. 또는 이 변수를 사용하여 드롭인 디렉터리를 지원하지 않는 시스템의 단일 플레이북에 있는 다른 역할 또는 여러 위치에서 이 역할을 호출할 수 있습니다.
sshd_skip_defaults
변수는 무시되며 이 경우 시스템 기본값이 사용되지 않습니다.이 변수를 설정하면 역할이 지정된 구성을 지정된 네임스페이스 아래에 기존 구성 파일의 구성 스니펫에 배치합니다. 시나리오에 역할을 여러 번 적용해야 하는 경우 각 애플리케이션에 대해 다른 네임스페이스를 선택해야 합니다.
참고openssh
구성 파일의 제한 사항은 계속 적용됩니다. 예를 들어 구성 파일에 지정된 첫 번째 옵션만 대부분의 구성 옵션에 적용됩니다.기술적으로, 역할은 기존 구성 파일의 이전 일치 블록과 관계없이 적용되도록 다른 일치 블록을 포함하지 않는 한 "Match all" 블록에 코드 조각을 배치합니다. 이를 통해 다양한 역할 호출에서 충돌하지 않는 옵션을 구성할 수 있습니다.
sshd_binary
-
openssh
의sshd
실행 파일의 경로입니다. sshd_service
-
sshd
서비스의 이름입니다. 기본적으로 이 변수에는 대상 플랫폼에서 사용하는sshd
서비스의 이름이 포함됩니다. 또한 역할에서sshd_install_service
변수를 사용하는 경우 사용자 지정sshd
서비스의 이름을 설정할 수도 있습니다. sshd_verify_hostkeys
-
기본값은
auto
입니다.auto
로 설정하면 생성된 구성 파일에 있는 모든 호스트 키가 나열되고 존재하지 않는 경로가 생성됩니다. 또한 권한 및 파일 소유자는 기본값으로 설정됩니다. 이 기능은 배포 단계에서 역할을 사용하여 첫 번째 시도에서 서비스를 시작할 수 있는지 확인하는 데 유용합니다. 이 확인을 비활성화하려면 이 변수를 빈 목록[]
으로 설정합니다. sshd_hostkey_owner
,sshd_hostkey_group
,sshd_hostkey_mode
-
이러한 변수를 사용하여
sshd_verify_hostkeys
에서 호스트 키에 대한 소유권 및 권한을 설정합니다. sshd_sysconfig
-
RHEL 8 및 이전 버전을 기반으로 하는 시스템에서 이 변수는
sshd
서비스에 대한 추가 세부 정보를 구성합니다.true
로 설정하면 이 역할은sshd_sysconfig_override_crypto_policy
및sshd_sysconfig_use_strong_rng
변수를 기반으로/etc/sysconfig/sshd
구성 파일도 관리합니다. 기본값은false
입니다. sshd_sysconfig_override_crypto_policy
RHEL 8에서
true
로 설정하면sshd
사전 또는sshd_<OptionName
> 형식에서 다음 구성 옵션을 사용하여 시스템 전체 암호화 정책을 덮어쓸 수 있습니다.-
암호화
-
macs
-
GSSAPIKexAlgorithms
-
GSSAPIKeyExchange
(FIPS 전용) -
KexAlgorithms
-
HostKeyAlgorithms
-
PubkeyAcceptedKeyTypes
CASignatureAlgorithms
기본값은
false
입니다.RHEL 9에서는 이 변수가 적용되지 않습니다. 대신
sshd
사전 또는sshd_<OptionName
> 형식에서 다음 구성 옵션을 사용하여 시스템 전체 암호화 정책을 덮어쓸 수 있습니다.-
암호화
-
macs
-
GSSAPIKexAlgorithms
-
GSSAPIKeyExchange
(FIPS 전용) -
KexAlgorithms
-
HostKeyAlgorithms
-
PubkeyAcceptedAlgorithms
-
HostbasedAcceptedAlgorithms
-
CASignatureAlgorithms
RequiredRSASize
sshd_config_file
변수에 정의된 드롭인 디렉터리의 사용자 지정 구성 파일에 이러한 옵션을 입력하면 암호화 정책이 포함된/etc/ssh/sshd_config.d/50-redhat.conf
파일 앞에 사전 정의된 파일 이름을 사용합니다.
-
sshd_sysconfig_use_strong_rng
-
RHEL 8 및 이전 버전을 기반으로 하는 시스템에서 이 변수는
sshd
가 인수로 지정된 바이트 수를 사용하여openssl
난수 생성기를 다시 만들 수 있습니다. 기본값은0
으로 이 기능을 비활성화합니다. 시스템에 하드웨어 임의 번호 생성기가 없는 경우 이 값을 설정하지 마십시오.