제가 일하는 조직에는 Linux를 실행하는 서버가 많이 있습니다.
우리는 최근 애플리케이션이 작성된 개발 플랫폼(Ruby/Node/Java/PHP)에 관계없이 모든 애플리케이션의 모든 아웃바운드 연결에 TLS 1.2가 사용되도록 하는 임무를 받았습니다.
모든 것이 시스템 수준에서 TLS 1.2를 사용하도록 강제하는 방법이 있습니까?
답변1
시스템 전반에 걸쳐? 아니요, Linux에는 (의도적으로) 중앙 집중식 TLS 구성이 없기 때문에 가장 중요한 것은 아마도 각 시스템에 적어도 두 개의 TLS 구현이 있을 것입니다(확실히 OpenSSL 또는 LibreSSL, 그리고 대부분 GnuTLS).
불행하게도 여기서는 모든 것을 감사하는 것이 유일한 실제 옵션입니다. 그러나 특정 개발 플랫폼에 대한 콘텐츠를 검토하고 나면 해당 플랫폼의 다른 응용 프로그램을 확인하는 것이 매우 쉬워집니다(이제 작동하는 연결 설정 순서를 알 수 있으므로).
답변2
특정 서비스에 대한 특정 연결이 있는 경우 TLSv1.2 이하의 항목이 거부되도록 설정할 수 있는 설정이 있을 수 있습니다.
하지만 시스템 전체에서는 그렇게 할 수 없습니다. 다만 범용 시스템(데스크톱, 서버 등)에서는 작동하지 않습니다. TLS 서비스에 연결하는 각 코드 조각은 시스템의 많은 공유 라이브러리 중 하나를 사용할 수 있고, 자체 공유 라이브러리를 사용할 수 있으며, 정적 링크를 사용할 수 있거나, 코드에서 컴파일될 수 있습니다.
그러나 서버가 TLSv1.2 연결만 허용하는지 확인해야 하는 경우 모든 서비스 엔드포인트(일반적으로 웹 서버)를 제어하므로 확실히 그렇게 할 수 있습니다.