IT 담당자들은 매일 인지하지 못하는 사용자나 흔히 말하는 '무지한 사용자’를 상대합니다. 우리는 모든 상황을 감당할 수 있는 시스템을 구축하려 노력하지만, 쉬운 일은 아닙니다. 요즘에는 신원 확인이 매우 중요한 문제이며, 이 문제가 발견된 것은 테스트를 통해서였습니다. 특히 이 문제는 2016년부터 논의되어 왔고(한 번은 수정되었었습니다) 사전에 알려주었더라면 좋았을 텐데 싶습니다.
저희는 제가 무언가를 놓쳤거나 구성이 잘못되었다고 희망했지만, 이제 이것이 의도된 대로 작동하고 있다는 것을 알게 되었습니다. 우리는 이 문제를 우회할 수 있는 외부적인 방법을 모색하고 사용자를 위해 문서화할 것이며, 미래에 다른 사람들이 디스커스(Discourse) 내에서 이 문제를 해결하도록 압박을 가해주기를 희망합니다.
병원: 최근 몇 년간 제가 이용한 병원들은 확실히 고유한 세션 차단(lockout) 정책을 시행하고 있었습니다. 혈액 검사를 담당하는 간호사가 불과 몇 초간 자리를 비웠다가 돌아와도 다시 로그인해야 할 정도였죠.
응급실: 응급실에는 응급 관련 데이터에 접근할 수 있는 특수화된 시스템이 있을 수 있지만, PII(개인 식별 정보)나 부서 내 채팅 포럼에는 접근할 수 없어야 합니다.
도서관:
제가 사는 지역의 모든 공공 도서관(매우 작은 마을이나 IT에 익숙하지 않은 직원이 있는 곳도 포함)은 일반 로그인 ID를 사용하고 있습니다. (모든 이용자가 동일한 ID를 사용하며, 모니터에 바로 게시되어 있습니다.) 또한 자리를 비울 때 재시작하는 정책을 시행하고 있으며, 아이들을 포함한 모든 사람이 이를 준수할 것으로 기대합니다. 재시작 과정에는 브라우저 히스토리/캐시/쿠키를 자동으로 지우는 단계도 포함됩니다.
디스코르스(Discourse) 측에서 더 세심한 정책을 마련하는 것이 나쁘다는 말은 아닙니다. 다만 이 주제에서 언급된 몇 가지 “분쟁을 유발하는” 상황들이 걱정되는 이유는, 잘못된 포스트 게시자 귀속 문제가 해당 문제들 중 가장 경미한 수준이기 때문입니다.
병원: 저는 경험을 통해 알게 된 사실만 공유합니다. 화면이 빠르게 잠긴다는 점에는 동의하지만, 이는 브라우저 로그아웃은커녕 OS 사용자 로그아웃도 아닙니다. 누군가가 목숨을 잃고 있는 동안, 의사와 간호사가 업무를 수행하기 위해 특정 애플리케이션을 불러오기 전에 컴퓨터가 로그인하고, 정책을 적용하고, 네트워크 연결을 설정하는 과정을 상상해 보세요. 사람들이 어떤 행동을 할지 생각할 수 있을까요? 비슷한 맥락에서, 로그인 방식은 보통 사용자 이름/비밀번호보다는 같은 이유로 배지(직원증)와 짧은 PIN 번호를 사용하는 경우가 많습니다. 응급실(ER), 수술실(OR) 및 대부분의 다른 병동에서도 여전히 환자 정보를 기록해야 하므로, 제가 업무를 수행했던 곳에서는 어디든 일관성이 있었습니다.
도서관: 로그아웃 시 재시작 정책은 존재하며, 관리자가 해당 컴퓨터의 모든 캐시를 수동으로 정리하는 한 효과적입니다. 하지만 제가 본 곳 중에는 그렇지 않은 곳도 많았습니다(이것이 제 크레덴셜을 사용해 공유 워크스테이션을 단 한 번도, 결코 사용하지 않은 여러 이유 중 하나입니다). 참고로, 호텔과 인터넷 카페(또는 커피숍)에서도 같은 불행한 설정을 정기적으로 볼 수 있었습니다.
모든 설치 환경의 모든 사용자에게 이 설정을 기본값으로 적용하는 것이 어떤 애플리케이션에서든 이상하게 느껴집니다. 컴퓨터를 처음 설정할 때 대부분의 사람들이 보안에 집중하지는 않으며, 일반적으로 충분히 복잡하여 전문 직업으로 삼는 사람들조차 있습니다. 대중을 위해 컴퓨터를 설정하는 사람들은 더 잘 알고 있어야 하지만, 브라우저에는 사용자가 직관적으로 느낄 수 있도록 애플리케이션 개발자가 세션을 쉽게 관리할 수 있게 해 주는 세션 쿠키 개념이 있습니다.
많은 사이트가 세션 타임아웃을 적용하거나 브라우저 종료 시 세션을 종료하는 상황에서, 로그아웃하려면 사이트의 쿠키를 수동으로 지워야 한다는 사실을 사용자가 이해해야 한다는 요구는 사람들에게 너무 많은 것을 요구하고 있는 것 같습니다. 사용자가 특정 Discourse 로그아웃 링크를 기억해야만 하는 대안을 전혀 허용하지 않는 것은, 사용자가 어떤 이유로든 링크를 놓칠 경우 문제가 됩니다. 떠오르는 사례들:
사용자가 링크를 따라 Discourse에서 다른 곳으로 이동하는 경우.
사용자가 탭을 사용하여 의도적으로 다른 곳으로 이동하기 위해 Discourse를 떠나는 경우.
사용자가 급하게 수업을 가거나 회의에 참석하기 위해 탭을 닫고 떠나는 경우.
어떤 이유로든 브라우저가 충돌하는 경우.
SSO 구현자가 로그인에는 SAML을 사용하지만, 애플리케이션 세션을 종료하려면 명시적인 로그아웃이 필요하다는 사실을 모르는 경우.
또한, 2개월은 로그인 유지 기간으로 정말로 긴 시간입니다. 요즘 다른 사이트들이 그렇게 하거나 더 길게 설정하는 경우도 알고 있지만, 사용자는 보통 “공용 컴퓨터” 체크박스를 통해 이를 제어할 수 있습니다. 하지만 SSO의 경우 이것이 적용되지 않거나, 아예 적용되지 않을 수도 있습니다(Discourse 전문가가 아니므로 정확히는 모릅니다).