Seth Michael Larson: 파이썬 생태계를 ... 노트

Seth Michael Larson: 파이썬 생태계를 위한 인증서 배포의 문제점 기록

eMudhra CA 침해 사건은 Python 생태계의 인증 기관 처리 방식에 내재된 시스템적 문제를 부각시켰습니다. CPython은 CA 루트 인증서가 필요한 OpenSSL에 의존하며, Python은 네이티브 지원이 없는 플랫폼을 위해 certifi 패키지를 통해 이를 번들로 제공합니다. 역사적으로 certifi는 중요했지만, 이제 Linux 배포판은 자체적으로 더 잘 관리되는 인증서 저장소를 제공합니다. 중요한 문제는 OpenSSL 기반 Python 설치에 기본적이고 활성화된 인증서 폐기 메커니즘이 없다는 것입니다. certifi를 종속성으로 업그레이드하면 전체 Python 및 pip 생태계에 걸쳐 연쇄적인 업데이트가 발생합니다. Pip은 certifi를 번들로 제공하므로, 침해 발생 시 pip과 Python 자체에 대한 긴급 업데이트가 필요할 수 있습니다. 그러면 Python 보안 대응팀은 여러 Python 브랜치에 걸쳐 릴리스를 조율해야 합니다. Pip은 기본적으로 truststore를 사용하도록 전환 중이며, 이는 특히 Linux 사용자에게 certifi에 대한 의존도를 줄일 것입니다. 이 사건으로 인해 다른 많은 패키징 도구 및 인프라 구성 요소들이 신속하게 조치해야 했습니다. 패치가 적용된 후 사용자에게 종속성 업그레이드를 알리는 것은 여전히 주요 과제입니다. 저자는 대부분의 플랫폼이 이제 적절한 CA 번들을 제공하므로 PyPI가 인증서 배포 채널 역할을 중단해야 한다고 제안합니다. Python 및 pip 관리자의 부담을 덜기 위해 시스템 제공 인증서 저장소에 더 많이 의존하는 방향으로의 전환이 제안됩니다. OpenSSL 기반 시스템에 대한 효과적인 인증서 폐기라는 미해결 과제는 미래의 자원봉사자 부담을 줄이기 위해 해결되어야 합니다.