일방향 암호화 (One-way Password)

개인정보보호법에서는 웹 사이트에서 사용되는 비밀번호는 물론 서버의 운영체제 관리자 계정, DB 관리자 계정, 애플리케이션 관리자 계정 등 주요 시스템 관리자 계정의 비밀번호가 유출되는 최악의 상황에서도 기밀성을 유지하도록 하기 위해 "일방향 암호화"를 해야 한다고 명시하고 있습니다.

비밀번호의 암호화에 사용되는 일방향 암호시스템은 복호화시스템이 존재하지 않으므로 암호화된 비밀번호가 유출되어도 원래 암호를 알아 내기가 불가능합니다. 메일캐리어는 메일 계정의 비밀번호를 일방향 암호화 기술을 사용해서 보호할 수 있는 기능을 제공합니다.

  Note

이 기능은 메일캐리어 7.3.2 버전부터 지원됩니다.

메일캐리어 7.5.1 버전부터 새 데이터베이스를 생성할 경우 일방향 암호화가 기본적으로 활성화되므로 아래 [일방향 암호화 적용] 작업은 불필요합니다. 일방향 암호화 기능을 사용하지 않는 이전 버전에서 업그레이드한 경우라면 [일방향 암호화 적용] 작업을 진행해야 이 기능을 사용할 수 있습니다.

메일캐리어 일방향 암호화

일방향 암호화 구현을 위해 SHA256 해시 알고리즘을 사용합니다.

데이터베이스에 사용자 암호를 직접 저장하는 대신 해시된 값을 저장합니다.

SMTP, POP3, IMAP 인증을 지원하므로 아웃룩을 그대로 사용할 수 있습니다.

추가 작업 없이 WebAccess, WebMobile을 사용할 수 있습니다.

일방향 암호화 제약 사항

일방향 암호화를 적용할 경우 디렉터리 서버와 연동할 수 없습니다. 암호 원본이 존재하지 않으므로 OpenLDAP 서비스를 통해 인증을 할 수 없기 때문입니다.

관리 도구에서 메일 계정 출력 시 암호 정책이 모두 A---로만 출력됩니다. 암호 원본이 존재하지 않아서 암호의 복잡성 등을 검사할 수 없기 때문입니다.

메일 서버에 암호 원본이 존재하지 않으므로 SMTP/POP3/IMAP의 인증 방식 중 CRAM-MD5 인증과 보안 암호 인증(SPA)는 지원할 수 없습니다. 안전한 통신을 위해 메일 서버에 SSL을 적용할 것을 권장합니다.

일방향 암호화 적용

  1. 모든 메일캐리어 서비스를 종료합니다.

  2. 메일캐리어 데이터베이스에 연결해서 아래 쿼리를 실행합니다.

    일방향 암호화 활성화 쿼리
    IF EXISTS(SELECT * FROM dbo.McGlobalConfig WHERE gc_attrname='UseOnewayPassword')
      UPDATE dbo.McGlobalConfig SET gc_attrvalue='true' WHERE gc_attrname='UseOnewayPassword'
    ELSE
      INSERT INTO dbo.McGlobalConfig(gc_attrname, gc_attrvalue) VALUES ('UseOnewayPassword', 'true')
    GO
  3. 명령 프롬프트를 실행한 후 메일캐리어 설치 폴더 아래에 있는 Tools 폴더로 이동합니다.

    아래 명령을 실행해 기존 비밀번호를 해시해서 저장합니다.

    명령 프롬프트
    C:\Program Files\TABS\MailCarrier\7.0\Tools>etctools.exe hashpassword
  4. 종료된 메일캐리어 서비스를 시작합니다.

  5. 아웃룩 및 웹메일 로그인 테스트를 진행합니다.

  Caution

일방향 암호화를 위해 작업을 진행하면 원래 암호로 되돌릴 수 없습니다.

일방향 암호화 해제

일방향 암호화 기능을 원치 않는다면 아래 작업을 통해 평문 암호 방식으로 돌아갈 수 있습니다.

  1. 모든 메일캐리어 서비스를 종료합니다.

  2. 메일캐리어 데이터베이스에 연결해서 아래 쿼리를 실행합니다.

    일방향 암호화 비활성화 쿼리
    UPDATE dbo.McGlobalConfig SET gc_attrvalue='false' WHERE gc_attrname='UseOnewayPassword'
  3. 일방향 암호화에서는 암호를 저장하지 않으므로 원 암호로 되돌릴 수 없습니다.

    아래 쿼리를 실행해 사용자와 관리자의 비밀번호를 초기화시킵니다.

    사용자/관리자 암호 초기화
    UPDATE dbo.McDomainUser SET du_pwd='초기화암호입력'
    UPDATE dbo.McSystemAdmin SET sa_pwd='초기화암호입력'
  4. 종료된 메일캐리어 서비스를 시작합니다.

  5. 아웃룩 및 웹메일 로그인 테스트를 진행합니다.