OpenID 제공자에서 추가 정보가 저장되었는지 확인해야 합니다

안녕하세요! 저희 OpenID 제공업체에서 오류가 발생하여 사용자의 개인 정보(노르웨이의 사회보장번호에 해당하는 정보)가 과도하게 노출되었습니다. 현재 해당 제공업체가 저희 Discourse 인스턴스에 이 정보가 저장되었을 수 있는지 문의하고 있습니다. 해당 정보는 userinfo 응답에서 다음과 같은 형태로 나타났을 가능성이 높습니다:

“norEduPersonNIN”: “23080374554”

이러한 불필요한 정보가 어딘가에 저장되었을 가능성이 있을까요?

저희로서는 그럴 가능성이 낮다고 보지만,

  • 전체 응답이 어딘가에 기록(log)되거나 저장(stash)되나요?
  • 이러한 태그의 존재가 어딘가에 저장/기록되는 오류 메시지를 트리거하나요?
  • 시스템이 "만약에"라는 이유로 응답에서 추출할 수 있는 모든 정보를 저장하나요?

"전혀 가능성이 없다

안녕하세요 @steinhh, 저는 이게 가장 좋은 설명이라고 생각합니다:

이 정보는 user_associated_accounts 데이터베이스 테이블에 저장되므로, 정리해야 할 항목이 있는지 확인해 볼 수 있습니다.

고맙습니다! 거기서 의심스러운 건 아무것도 발견되지 않았습니다. 또한 저희 “데이터베이스 호텔” 팀에게 데이터베이스 전체 덤프를 요청했는데, 내용을 grep으로 검색해 보아도 아무것도 나오지 않았습니다. 후. 이건 신문 기사에 나올 만한 사건이었지만, 제 소견으로는 SSN에 해당하는 정보가 실제로 유출된 것은 아니고, 오직 인증 클라이언트에게 잘못 전달된 것뿐입니다.

openid_connect_verbose_logging 사이트 설정이 활성화되어 있으면, userinfo 엔드포인트에서 반환된 응답이 기록됩니다: discourse-openid-connect/lib/omniauth_open_id_connect.rb at f31a869611a2fad8efadd9b2504440215169a391 · discourse/discourse-openid-connect · GitHub.

감사합니다! 다행히 비활성화되어 있었습니다. 그런데 "/logs"가 아니라 "/log"를 말씀하시는 건가요? 설치 디렉터리에서 후자를 찾을 수 없네요 (우리는 RHEL8에 직접 설치되어 있습니다).

네, 디렉터리 이름은 log입니다. 여러분의 상황에 관련 있는 내용은 production.log 파일에서 찾을 수 있을 것이라고 꽤 확신합니다.