웹사이트 검색

privacyIDEA를 사용하는 이중 인증으로 안전한 Wordpress 로그인


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 프라이버시IDEA 2.x
  • 프라이버시IDEA 1.x

이 페이지에서

  1. 워드프레스\n
  2. privacyIDEA 설치
  3. privacyIDEA 구성
  4. 토큰 등록
  5. Wordpress 강력한 인증\n
  6. 결론

면책조항: 이 하우투는 privacyIDEA 버전 2.X에 적용됩니다. 작성 당시 현재 릴리스는 2.12.1입니다.

Wordpress는 개인 블로그 사이트뿐만 아니라 때때로 회사 웹 사이트의 CMS로도 사용되는 널리 퍼진 블로그 시스템입니다.

Wordpress는 관리가 매우 잘 되어 있고 업데이트하기 쉽습니다. 그러나 널리 사용되기 때문에 크래커(해커라고 말하기를 피함)에게는 흥미로운 목표이기도 합니다.

그래서 오늘은 OTP 인증을 위한 두 번째 요소로 워드프레스 계정을 보호하는 방법을 알려드리겠습니다.

워드프레스

이와 같은 가이드에 따라 시스템에 WordPress를 이미 설치했다고 가정합니다.

일부 사용자, 관리자 및 일부 편집자를 만듭니다. 사용자 admin, fred 및 markus를 만들었습니다.

privacyIDEA 설치

이제 privacyIDEA를 설치해야 합니다. 온라인 설명서의 일부 시나리오에 따라 이 작업을 수행했을 수 있습니다.

요약하자면, 오늘 Ubuntu 14.04 LTS에서 privacyIDEA를 설치하는 것은 다음과 같이 쉽습니다.

add-apt-repository ppa:privacyidea/privacyidea
apt-get update
apt-get install privacyidea-apache2

관리자 호출 "super"를 만듭니다.

pi-manage admin add super

완료. 방금 만든 관리자로 https://yourserver에 로그인합니다.

개인 정보 구성IDEA

privacyIDEA는 WordPress 설치에서 사용자를 읽을 수 있습니다. 따라서 WordPress에서 새 사용자를 만들 때마다 privacyIDEA에서 이를 확인하고 이 사용자에게 새 OTP 토큰을 할당할 수 있습니다.

이것이 제대로 작동하려면 사용자와 영역을 찾을 위치를 privacyIDEA에 알려주는 사용자 ID 확인자를 만들어야 합니다. privacyIDEA Config->Users로 이동하여 "New SQL Resolver"를 클릭합니다.

WordPress와 같은 컴퓨터에 privacyIDEA를 설치했습니다. 그리고 WordPress의 MySQL 데이터베이스도 같은 컴퓨터에 있습니다. SQL 데이터베이스가 다른 시스템에 있는 경우에는 privacyIDEA가 네트워크를 통해 SQL 데이터베이스에 액세스할 수 있어야 한다는 점에 주의해야 합니다.

맨 위에 SQL 연결에 대한 모든 정보를 입력해야 합니다. SQL 속성 내 하단에서 "Wordpress" 버튼을 클릭하기만 하면 올바른 테이블 및 열 정의가 입력됩니다. (privacyIDEA는 OTRS, Tine2.0 및 OwnCloud에 대한 테이블 사전 설정도 알고 있습니다!)

"테스트" 버튼을 클릭하면 privacyIDEA가 WordPress 사용자를 찾은 것을 볼 수 있습니다.

이제 방금 만든 리졸버가 포함된 영역을 만들어야 합니다. 해석기를 사용자 저장소에 대한 링크로 생각하고 영역을 사용자 그룹에 결합된 사용자 저장소로 생각하십시오.

확인자 및 영역에 대해 자세히 알아보세요.

Config->Realms로 이동하여 resolver wordpress가 포함된 새 영역 "wordpress"를 만듭니다. 내 스크린샷에서 여러 영역을 구성한 것을 볼 수 있습니다. 영역 "wordpress"를 기본 영역으로 설정할 수 있습니다.

이제 메뉴 사용자에서 사용자 목록을 볼 수 있습니다.

토큰 등록

사용자 fred에 대한 Google Authenticator 토큰을 등록해 보겠습니다. Google OTP 앱을 설치하고 사용자 보기에서 사용자 fred를 선택하세요.

Fred가 현재 토큰이 없다는 것을 알 수 있습니다.

이제 "Enroll New Token" 버튼을 클릭하십시오.

토큰 유형을 선택할 수 있습니다. Google Authenticator와 함께 작동하는 HOTP를 선택합니다. TOTP를 선택하고 FreeOTP 또는 OTP 인증기를 사용할 수도 있습니다.

"Enroll Token"을 누른 후 앱으로 QR 코드를 스캔할 수 있습니다.

그러면 앱에서 일회용 암호를 만들 수 있습니다. 사용자는 고정 암호(1단계)와 앱에서 생성한 일회용 암호(2단계)로 인증해야 합니다. 사용자가 WordPress의 고정 비밀번호로 인증하도록 하려면(이 경우 사용자는 WordPress에서 고정 비밀번호를 변경할 수 있음) Config -> Policies에서 다음 정책을 설정해야 합니다.

scope=authenticationotppin=userstore를 사용하여 새 정책을 만듭니다.

토큰 세부 정보로 이동하여 WordPress 비밀번호와 "mySecretWordpressPa$$123456"와 같은 OTP 값을 연결하여 토큰 인증을 테스트할 수 있습니다.

인증에 성공하면 WordPress를 설정할 준비가 된 것입니다!

워드프레스 강력한 인증

귀하의 privacyIDEA 서버가 올바르게 설정되었으며 사용자에게 작동하는 OTP 토큰이 있습니다.

이제 WordPress 설치에 로그인하고 강력한 인증 플러그인을 설치하고 활성화하십시오.

설정에서 privacyidea 서버의 로컬 설치를 사용하도록 강력한 인증 플러그인을 구성할 수 있습니다. https와 포트를 추가해야 합니다. 사용자 제외 필드에서 사용자 이름을 정의할 수 있습니다. 이것은 플러그인을 잘못 구성했거나 서비스가 다운된 경우 일종의 비상 계정을 가질 수 있는 좋은 가능성입니다.

"wordpress"를 기본 영역으로 설정하지 않은 경우 여기에 영역 이름을 지정해야 합니다.

이제 선택한 두 번째 요소로 인증할 수 있습니다.

행복한 블로깅!

결론

우리는 WordPress가 두 번째 요소로 모든 사용자를 인증할 수 있도록 했습니다. 두 번째 요소는 외부 시스템에서 관리합니다. 따라서 사용자에게 여러 장치를 할당할 수 있고 사용자에게 다른 장치를 할당할 수 있습니다. 한 사용자는 Google Authenticator로 다른 사용자는 yubikey로 로그인할 수 있습니다 - 워드프레스 통합 솔루션보다 더 나은 유연성을 제공합니다.

또한 privacyIDEA 설치를 사용하여 다른 웹 애플리케이션이나 OpenVPN 또는 SSH와 같은 시스템과 같은 다른 애플리케이션에서 사용자를 인증할 수 있습니다.

WordPress 구성에서 별개의 영역을 사용하여 여러 WordPress 인스턴스에 대해 하나의 privacyIDEA 설치를 사용할 수도 있습니다. 따라서 하나의 privacyIDEA 시스템에서 모든 인증 장치를 관리하여 전체 WordPress 팜에 2단계 인증을 제공합니다.