8.6. 보안
OpenSSH 키 생성은 FIPS 호환 인터페이스를 사용합니다.
OpenSSH에서 사용하는 OpenSSL 암호화 라이브러리는 legacy 및 modern의 두 가지 인터페이스를 제공합니다. 이전에는 OpenSSH는 FIPS (Federal Information Processing Standards) 요구 사항을 준수하지 않은 키 생성에 레거시 인터페이스를 사용했습니다. 이번 업데이트를 통해 ssh-keygen
유틸리티는 저급 FIPS 호환 API 대신 FIPS 호환 API를 사용합니다. 결과적으로 OpenSSH 키 생성은 FIPS와 호환됩니다.
FIPS 모드에서 FIPS에 의해 승인되지 않은 암호화는 더 이상 OpenSSL에서 작동하지 않습니다.
이전에는 FIPS가 승인되지 않은 암호화가 시스템 설정에 관계없이 OpenSSL 툴킷에서 작동했습니다. 따라서 시스템을 FIPS 모드에서 실행할 때 비활성화해야하는 암호화 알고리즘 및 암호를 사용할 수 있습니다. 예를 들면 다음과 같습니다.
- RSA 키 교환을 사용하는 TLS 암호화 제품군이 작동했습니다.
- PKCS #1 및 SSLv23 패딩을 사용하거나 2048 비트보다 짧은 키를 사용하더라도 공개 키 암호화 및 암호 해독에 대한 RSA 기반 알고리즘은 작동했습니다.
이번 업데이트에서는 FIPS에 의해 승인되지 않은 암호화가 FIPS 모드에서 더 이상 OpenSSL에서 작동하지 않도록 할 수 있습니다.
OpenSSL에서 제거된 임의의 곡선 지정
이전에는 명시적 곡선 매개 변수 안전 검사가 불완전했습니다. 결과적으로 RHEL에서 매우 큰 p
값이 작동하는 임의의 elliptic 곡선이 있습니다. 이번 업데이트를 통해 이제 명시적 곡선 매개 변수가 잘 알려진 곡선 중 하나와 일치하는지 확인합니다. 그 결과 명시적 곡선 매개변수를 사용하여 임의의 곡선을 지정하는 옵션이 OpenSSL에서 제거되었습니다. 임의의 명시적 곡선을 지정하는 매개변수 파일, 개인 키, 공개 키 및 인증서는 더 이상 OpenSSL에서 작동하지 않습니다. 명시적 곡선 매개 변수를 사용하여 P-224, P-256, P-384, P-521 및 secp256k1
과 같은 잘 알려진 곡선 중 하나를 지정하는 것은 비FIPS 모드에서 계속 지원됩니다.
(BZ#2066412)
OpenSSL req
는 개인 키 암호화에 AES-256-CBC 사용
이전에는 OpenSSL req
툴이 3DES 알고리즘을 사용하여 개인 키 파일을 암호화했습니다. 3DES 알고리즘은 암호화 모듈에 대한 현재 FIPS 140 표준에서 안전하지 않고 허용되지 않기 때문에 req
는 대신 AES-256-CBC 알고리즘을 사용하여 암호화된 개인 키 파일을 생성합니다. 전체 PKCS#8 파일 형식은 변경되지 않습니다.
FFDHE를 사용할 때 OpenSSL이 더 이상 연결되지 않음
이전 버전에서는 FFDHE(finite-field-based Diffie-Hellman ephemeral) 키 교환 메커니즘을 사용하는 TLS 연결이 클라이언트에서 FFDHE 키 공유를 처리할 때 실패하는 경우가 있었습니다. 이는 OpenSSL에서 지나치게 제한적인 검사로 인해 발생했습니다. 그 결과 OpenSSL 서버는 internal_error
경고와의 연결을 중단했습니다. 이번 업데이트를 통해 OpenSSL은 작지만 호환되는 클라이언트 키 공유를 사용할 수 있습니다. 결과적으로 FFDHE 키 교환을 사용할 때 OpenSSL과 다른 구현 간의 연결이 무작위로 중단되지 않습니다.
이제 OpenSSL 기반 애플리케이션이rkish 로케일에서 올바르게 작동합니다.
OpenSSL
라이브러리에서 대소문자를 구분하지 않는 문자열 비교 기능을 사용하기 때문에 OpenSSL 기반 애플리케이션이rkish 로케일에서 올바르게 작동하지 않았으며, 검사 생략하면 이 로케일을 사용하는 애플리케이션이 충돌했습니다. 이번 업데이트에서는 대소문자를 구분하지 않는 문자열 비교를 위해 POSIX(Portable Operating System Interface) 로케일을 사용하는 패치를 제공합니다. 결과적으로 curl과 같은 OpenSSL 기반 애플리케이션은rkish 로케일과 함께 올바르게 작동합니다.
SELinux 정책에 추가된 insights-client
에 대한 권한
새로운 insights-client
서비스에는 이전 selinux-policy
버전에 포함되지 않은 권한이 필요합니다. 그 결과 insights-client
의 일부 구성 요소가 제대로 작동하지 않고 AVC(액세스 벡터 캐시) 오류 메시지가 보고되었습니다. 이번 업데이트에서는 SELinux 정책에 새 권한이 추가되었습니다. 결과적으로 Insights-client
는 AVC 오류를 보고하지 않고 올바르게 실행됩니다.
(BZ#2081425, BZ#2077377, BZ#2087765, BZ#2107363)
SELinux staff_u
사용자가 더 이상 unconfined_r
로 잘못 전환할 수 없음
이전에는 secure_mode
부울이 활성화되면 staff_u
사용자가 예상되지 않은 unconfined_r
역할로 전환할 수 있었습니다. 결과적으로 staff_u
사용자는 시스템의 보안에 영향을 미치는 권한 있는 작업을 수행할 수 있었습니다. 이번 업데이트를 통해 SELinux 정책이 수정되었으며 staff_u
사용자가 더 이상 unconfined_r
로 잘못 전환할 수 없습니다.
사용 가능한 메모리를 확인할 때 OpenSCAP에서 더 이상 잘못된 오류를 생성하지 않음
이전 버전에서는 일부 XCCDF 규칙을 평가할 때 OpenSCAP에서 사용 가능한 메모리를 확인하지
못하고 잘못된 검사 결과를 생성하는 오류 메시지가 잘못 표시되었습니다. 예를 들어 accounts_user_dot_no_world_writable_ programs ,
및 accounts_
user_dot_group_ownershipaccounts_users_home_files_permissions
에 대해 이러한 문제가 발생했습니다. 이번 업데이트를 통해 오류 처리 버그가 수정되어 실제 실패에만 오류 메시지가 표시됩니다.
fagenrules --load
가 올바르게 작동합니다.
이전에는 fapolicyd
서비스에서 신호가 올바르게 처리되지 않았습니다(SIGHUP). 그 결과 SIGHUP을 수신한 후 fapolicyd
가 종료되고 fagenrules --load
명령이 제대로 작동하지 않았습니다. 이번 업데이트에서는 이 문제에 대한 수정 사항이 포함되어 있습니다. 결과적으로 fagenrules --load
가 이제 올바르게 작동하며 규칙 업데이트에 더 이상 fapolicyd
를 수동으로 다시 시작할 필요가 없습니다.