워드프레스 솔트 (Salt)란 무엇이며 어떻게 사용하는가?

  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기

워드프레스 솔트 (Salt)는 보안 키와 함께 워드프레스 사이트 로그인의 보안을 강화하는 데 도움이 되는 일종의 암호화 도구입니다. 구체적으로 Salt와 보안 키(Security key)는 워드프레스가 로그인 시에 사용하는 쿠키에 저장되는 정보를 안전하게 보호합니다.

워드프레스에 로그인할 때 매번 로그인할 때마다 사용자명과 비밀번호를 입력할 필요가 없도록 브라우저에서 로그인을 유지하는 옵션을 제공합니다. 이 기능을 사용하면 워드프레스는 PHP 세션을 사용하는 대신 로그인 정보를 쿠키에 저장합니다.

브라우저의 암호 저장 기능을 사용하면 사용자들에게는 매우 편리하지만, 누군가가 브라우저의 쿠키를 가로챌 수 있는 경우 보안 문제가 발생할 가능성도 있습니다.

워드프레스 솔트 (Salt)의 작동 방식

이 문제를 방지하기 위해 WordPress에서는 Salt와 보안 키를 사용하여 로그인 정보의 보안을 강화합니다.

예를 들어, 비밀번호가 "mypwd"인 경우 (실제로 이런 비밀번호를 사용하면 문제가 되므로 반드시 강력한 비밀번호를 사용하세요), 사용자가 로그인하기 위해 사용자명과 비밀번호를 입력하면 로그인을 유지하도록 워드프레스는 두 개의 브라우저 쿠키에 정보를 저장합니다.

하지만 만약 워드프레스에서 비밀번호를 "mypwd"와 같은 형태로 보관한다면 악의적인 사용자가 비밀번호를 곧바로 알아차리게 됩니다. 이렇게 평문(plaintext; 일반 텍스트)으로 비밀번호를 보관하면 보안면에서 크게 문제가 됩니다.

보안 키(Security key)와 워드프레스 솔트는 평문 비밀번호를 랜덤하고 불규칙한 문자들로 변환하여 이 보안 키와 Salts에 접근하지 않고는 리버스 엔지니어닝하는 것이 불가능해집니다.

그러므로 로그인할 때 "mypwd"로 입력해도 워드프레스는 비밀번호를 "dse65q34%7832$4jkhkjsfd78782^^429nsdf"(예시)와 같이 복잡하고 랜덤한 문자들로 변환하여 보관하게 됩니다.

워드프레스 솔트는 어디에 저장되나?

워드프레스는 자체 솔트 값과 보안 키를 기본적으로 탑재하고 있습니다. 솔트와 보안 키는 wp-config.php 파일에 위치합니다. 총 8개의 키가 있습니다.

  • 앞에 있는 4개 항목은 보안 키임. 보안 키는 워드프레스 설치 중에 자동으로 생성되어 데이터베이스와 wp-config.php 구성 파일에 저장됨.
  • 뒤에 있는 4개 항목이 워드프레스 솔트(Salt)임. 솔트는 워드프레스 설치 중에 생성된 보안 키로부터 생성되며 wp-config.php 구성 파일에 저장됨. hashing operation 중에 솔트는 보안 키에 연결되어 다양한 인증 및 시스템에 의해 수행되는 인증 작업 동안 생성되는 해시(hash)를 강화합니다.

아래 그림에서 ① 부분이 보안 키이고 ② 부분이 워드프레스 솔트입니다.

워드프레스 솔트 (Salt) 저장 위치

보안을 위해 Salts와 보안 키를 변경하는 것이 안전

기본적으로 워드프레스 새로 설치하면 인증 키와 솔트 세트가 탑재되어 사용자측에서 별도의 조치를 취하지 않아도 이미 안전한 상태입니다.

하지만 몇 가지 이유로 주기적으로 솔트와 보안 키를 변경해야 합니다. 주기적으로 키와 솔트 값을 변경하면 악의적인 사용자가 솔트 키를 입수하기가 더 어려워집니다.

또한, 솔트를 변경하면 사이트에 로그인한 모든 사용자가 강제로 로그아웃됩니다. 예를 들어, 누구나 접근할 수 있는 공공장소나 피시방 등의 컴퓨터에서 워드프레스 사이트에 로그인한 후에 로그아웃하는 것을 깜박한 경우 솔트를 변경함으로써 계정에서 강제로 로그아웃됩니다.

워드프레스 솔트를 변경하여 보안을 강화하는 방법

워드프레스 솔트 키를 변경하는 방법에는 크게 두 가지가 있습니다. 하나는 수동으로 변경하는 것이고, 하나는 플러그인을 사용하는 것입니다.

수동으로 워드프레스 솔트 변경하기

수동으로 솔트 값을 변경하려면 FTP를 통해 사이트의 서버에 접속하여 wp-config.php 파일을 수정할 수 있어야 합니다. 블루호스트 등 씨패널을 제공하는 웹호스팅을 이용하는 경우 File Manager (파일 관리자) 툴을 사용하여 접속하는 것도 가능합니다.

먼저 워드프레스 공식 솔트 생성 사이트(WordPress.org Salt Generator)를 방문하여 자동으로 생성된 솔트 값과 보안 키를 복사합니다.

그런 다음 wp-config.php 파일에서 솔트 값과 키를 삭제하고 복사한 값을 붙여넣기 합니다.

워드프레스 Salt를 변경하여 워드프레스 보안 강화하기

그림에서 빨간색으로 표시된 박스 부분을 새로 생성한 솔트 값으로 대체하도록 합니다.

플러그인을 사용하여 워드프레스 솔트 값을 주기적으로 변경하기

워드프레스 솔트 및 보안 키 자동 변경 플러그인

Salt Shaker는 워드프레스 Salt를 수동 또는 자동으로 변경하는 워드프레스 플러그인입니다. 워드프레스 알림판에서 플러그인 > 새로 추가를 클릭하고 "salt shaker"로 검색하여 이 플러그인을 설치할 수 있습니다.

이 플러그인을 설치하고 활성화하면 워드프레스 알림판 > 도구 > Salt Shaker로 이동하여 수동 또는 자동으로 솔트를 변경할 수 있습니다.

워드프레스 솔트 값을 주기적으로 변경하여 보안 강화하기

주기적으로 자동으로 솔트 값을 변경하려면 Scheduled Change 아래에서 Change WP Keys and Salts on ___ Basis (___마다 워드프레스 키 및 솔트 변경)의 체크를 클릭하고 주기를 선택합니다. 주기는 Daily (매일), Weekly (일주일마다), Monthly (1개월마다), Quarterly (분기마다), Biannually (6개월마다) 중에서 선택할 수 있습니다. 주기를 선택하면 곧바로 솔트와 인증 키가 변경되면서 관리자 페이지에서 로그아웃됩니다.

수동으로 변경하려면 Immediate Change 아래의 Change Now 버튼을 클릭합니다. 그러면 즉시 솔트 키가 변경되고 로그아웃됩니다.

솔트 값을 주기적으로 변경하고 싶거나, 관리자 페이지에서 솔트 값을 변경하고 싶은 경우에 이 플러그인을 사용할 수 있습니다. 참고로 보안 플러그인인 iThemes Security에도 솔트를 변경하는 옵션이 탑재되어 있습니다.

참고:



2 개 댓글

  1. 일반 사용자들은 잘 모르는 내용에 대해서 상세히 설명해 주셔서 감사합니다. 많은 도움이 되었습니다. ^^ wp-config.ini 를 뜯어보면서 왜그러지 하고 막연한 궁금증만 가졌었는데 보안때메 그러겠지만 생각했습니다. Salt라는것도 오늘 처음 알았습니다.

    응답
    • 일반 사용자들은 WordPress Salt가 무엇인지, 어떤 역할을 하는지 모를 가능이 있겠네요.
      ftp에 접속할 기회가 있을 때 한 번씩 Salt 값을 변경하면 보안에 조금 도움이 될 것 같습니다.

      응답