이중 인증 · 4 min read · Dec 30, 2025

ownCloud을 위한 이중 인증

자신의 클라우드를 이중 인증으로 보호하세요

by arnobabotte @pixabay

이 튜토리얼에서는 privacyIDEA를 사용하여 ownCloud 설치를 보호하는 방법을 보여드리겠습니다. privacyIDEA는 사용자의 두 번째 인증 요소를 관리하는 데 사용할 수 있습니다.

ownCloud는 다른 사람의 컴퓨터(즉, “클라우드”)가 아닌, 여러분의 컴퓨터에서 여러분의 데이터나 회사의 데이터를 저장하는 시스템입니다. privacyIDEA는 여러분의 네트워크 내에서 이중 인증을 위한 인증 장치를 관리하는 시스템으로, 어떤 신원 제공자도 사용하지 않으므로 여러분의 신원과 사용자의 신원을 여러분의 통제 하에 유지합니다.

이것이 어떻게 보일지 알고 싶다면, 이 유튜브 비디오를 확인해 보세요.

전제 조건

ownCloud 8 시스템이 이미 실행 중이라고 가정합니다. 꽤 좋은 예제가 많이 있습니다. 이 사이트에서 nginx로 ownCloud 8을 설치하는 방법도 확인해 보세요.

또한 privacyIDEA 시스템이 실행 중이라고 가정합니다. 이 방법서는 privacyIDEA의 설치를 다루지 않습니다. CentOS에 privacyIDEA를 설치하는 방법은 Howtoforge에서 확인할 수 있으며, 문서에서 설치 지침을 사용할 수도 있습니다.

참고: privacyIDEA와 ownCloud를 동일한 서버에서 실행할 필요는 없습니다. 한 서버에 privacyIDEA를 인증 시스템으로 설치하고 다른 애플리케이션(예: ownCloud)을 이 privacyIDEA에 대해 구성할 때 이러한 설정의 전체 기능을 발휘할 수 있습니다. 이렇게 하면 ownCloud, 두 번째 애플리케이션, 세 번째 애플리케이션 등에 대한 인증 장치를 관리할 필요가 없습니다. 여러 애플리케이션과 두 명 이상의 사용자가 있는 경우 이 솔루션의 강점을 확인할 수 있습니다. 그러나 물론 더 작은 시나리오에서도 작동합니다.

참고: ownCloud privacyIDEA 앱은 초기 개발 단계에 있습니다. 따라서 제공하는 피드백은 매우 감사하며 이 도구를 개선하는 데 도움이 됩니다. Howtoforge, GitHub 이슈 또는 Google 그룹을 통해 피드백을 제공할 수 있습니다.

privacyIDEA를 ownCloud 데이터베이스에 연결하기

데이터베이스 준비

privacyIDEA에는 하나의 조건이 있습니다. ownCloud 사용자는 privacyIDEA에 알려져 있어야 하며, 반대로 privacyIDEA에서 토큰을 할당하는 사용자도 ownCloud에서 사용할 수 있어야 합니다.

LDAP 디렉토리에 사용자가 있는 설정을 실행할 수 있지만, 이 예제에서는 기존 ownCloud SQL 사용자 테이블을 간단히 사용합니다.

참고: privacyIDEA와 ownCloud를 다른 서버에서 실행하는 경우 SQL 데이터베이스에 대한 액세스를 부여해야 합니다. MySQL/MariaDB의 경우, /etc/mysql/my.cnf에서 bind-address를 다음과 같이 수정해야 합니다:

bind-address = 0.0.0.0

또한 MySQL을 기반으로 액세스 권한을 추가해야 합니다:

grant all privileges on owncloud.* to "ocuser"@"privacyIDEA-Server" identified by "password";

이제 MySQL 사용자 “ocuser”가 privacyIDEA 서버에서 ownCloud 서버의 데이터베이스에 접근할 수 있습니다.

경고: MySQL 서버로의 네트워크 트래픽은 암호화되지 않습니다. 이 시나리오를 실행하는 경우 TLS를 설정하는 것을 강력히 권장합니다. MySQL을 SSL로 설정하는 방법에 대한 몇 가지 방법서를 이 사이트에서 찾을 수 있습니다.

privacyIDEA를 ownCloud에 연결하기

사용자 해결자 만들기

이제 privacyIDEA를 ownCloud에 연결하여 privacyIDEA가 사용자를 알 수 있도록 합니다. Config → Users에서 새 사용자 해결자를 만듭니다.

ownCloud 버튼을 클릭하면 데이터베이스 속성 매핑에 필요한 모든 필드가 미리 설정됩니다.

그런 다음 Test SQL Resolver를 클릭하여 모든 것이 잘 작동하는지 확인할 수 있습니다.

영역 만들기

이제 Config → Realms로 이동하여 해결자에서 기본 영역을 만듭니다.

이제 Users 탭에서 ownCloud 사용자를 볼 수 있으며 이 사용자에 대한 토큰을 등록할 수 있습니다.

Google Authenticator 등록하기

privacyIDEA는 다양한 토큰을 지원하며, 여기에서 확인할 수 있습니다.

간단한 예로 Google Authenticator를 빠르게 등록하겠습니다.

사용자 보기로 이동하여 사용자를 선택하여 사용자 세부 정보를 확인합니다. 여기에서 Enroll New Token 버튼을 클릭할 수 있습니다.

등록 대화 상자에서 토큰 유형을 선택할 수 있으며, 토큰 유형에 따라 다른 세부 정보를 입력해야 합니다. 그러나 이 예제에서는 기본 토큰 유형인 HOTP를 사용합니다. 페이지 하단에 OTP PIN을 입력할 수 있습니다.

Enroll Token을 클릭합니다.

토큰이 등록되었으며, Google Authenticator 앱으로 스캔할 수 있는 QR 코드가 표시됩니다.

다른 토큰 유형은 다른 방법으로 등록되며, 이는 이 튜토리얼의 범위를 벗어납니다. 자세한 내용은 privacyIDEA 문서를 참조하세요.

이제 ownCloud 사용자에게 토큰이 할당되었으므로 완료되었습니다. 이 프로세스를 다른 ownCloud 사용자에 대해서도 반복할 수 있습니다.

ownCloud 앱 가져오기

먼저, ownCloud privacyIDEA 앱을 다운로드해야 합니다.

여기에서 앱을 다운로드할 수 있습니다. user_privacyidea 디렉토리를 ownCloud 디렉토리 apps/에 복사해야 합니다. ownCloud를 /var/www/owncloud에 설치했다고 가정하면 다음과 같은 구조가 됩니다:

root@owncloud:~# ls /var/www/owncloud/apps/user_privacyidea/ -l  
 -rw-rw-r-- 1 root root 1671 Jun 25 15:05 adminSettings.php  
 drwxrwxr-x 2 root root 4096 Jun 25 15:17 appinfo  
 drwxrwxr-x 2 root root 4096 Jun 25 15:17 img  
 drwxrwxr-x 2 root root 4096 Jun 25 15:17 js  
 drwxrwxr-x 2 root root 4096 Jun 25 15:17 lib  
 drwxrwxr-x 2 root root 4096 Jun 25 15:17 templates

privacyIDEA 앱은 ownCloud 사용자 백엔드로 구현되며, 기존 사용자 백엔드에 오버레이로 작용하여 인증 요청에 점프하여 로그인에 두 번째 요소를 추가할 수 있습니다.

ownCloud 앱 구성하기

Apps → not Enabled로 이동하여 앱을 활성화합니다.

그런 다음 Your User → Admin으로 이동하여 privacyIDEA 앱을 구성합니다.

privacyIDEA 서버의 URL을 제공해야 합니다. 신뢰할 수 있는 인증서로 privacyIDEA 서버를 실행해야 합니다. 설정 과정에서 신뢰할 수 있는 인증서가 없는 경우, Verify the SSL certificate of the privacyIDEA server 체크박스를 선택 해제할 수 있습니다.

잠금 상태를 방지하기 위해 Also allow users to authenticate with their normal password 체크박스를 선택할 수 있습니다. 이 경우 privacyIDEA에 대한 인증이 실패하면 사용자가 기본 ownCloud 사용자 백엔드에 대해 인증됩니다. 실제 사용 시에는 이 체크박스를 선택 해제해야 합니다.

데스크톱 클라이언트는 물론 일회성 비밀번호로 문제가 발생할 수 있습니다. 이러한 클라이언트를 사용하는 경우 Allow API access to remote.php with static password 체크박스를 선택해야 합니다. 이 경우 데스크톱 클라이언트(원격.php로 식별됨)에서 오는 인증 요청은 privacyIDEA가 아닌 기본 사용자 백엔드에 대해 인증됩니다.

마지막으로 모든 것이 괜찮다면 Use privacyIDEA to authenticate the users 체크박스를 선택하여 이중 인증을 활성화할 수 있습니다.

ownCloud에 로그인하기

privacyIDEA 앱을 활성화한 후 ownCloud의 로그인 화면은 변경되지 않습니다.

로그인하려면 사용자 이름을 입력하고 비밀번호 필드에 OTP PIN과 Google Authenticator에서 생성된 OTP 값을 입력해야 합니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.