SlideShare a Scribd company logo
1 of 37
Download to read offline
FB/lee.hyeongchae
PGDay.Seoul 2018 1
PostgreSQL Authentication
with FreeIPA
Agenda
• About me
• PostgreSQL Authentication
• IBM’s RHEL’s IdM FreeIPA
• DEMO
PGDay.Seoul 2018 2
About me
PGDay.Seoul 2018 3
•이형채 (대명봇)
• 게임허브
• Kosslab
• Tibero
• Altibase
• Telcobase
• Cubrid
• Inervit
Why ?!
PGDay.Seoul 2018 4
MySQLAudit
Scale
out
blockchain
monitoringsecurity
bakcupHA
Performance
No
Money
Architectureauth
Mission !!
PGDay.Seoul 2018 5
HA – github’s Orchestrator
PGDay.Seoul 2018 6
Scale-out – TiDB, VitessDB
PGDay.Seoul 2018 7
PingCap’s TiDB PingCap’s TiDB
Auth & Security ?!
PGDay.Seoul 2018 8
FreeIPA Tadpole DB Hub
PostgreSQL Authentication
PGDay.Seoul 2018 9
Authentication vs Authorization
인증 권한
PGDay.Seoul 2018 10
Client Authentication
PGDay.Seoul 2018 11
https://paquier.xyz/content/materials/20180531_pgcon_auth.pdf
인증 설명
trust
연결을 무조건 허용합니다. 이 방식은 PostgreSQL 데이터베이스 서버에 연결할 수있는 모든 사용자가 모든 PostgreSQL 사용자로 암호 및 기타 인증없이 로그인하는 것을 허
용합니다.
reject
연결을 무조건 거부합니다. 특정 호스트를 한 그룹에서 ' 제외 ' 하는 데 유용합니다. 예를 들어, 한 줄의 reject특정 호스트가 연결을 거부합니다. 한편, 뒤에 줄에서 특정 네트
워크의 나머지 호스트가 연결을 허용합니다.
scram-sha-256 SCRAM-SHA-256 인증을 수행하여 사용자의 암호를 확인합니다.
md5 SCRAM-SHA-256 또는 MD5 인증을 수행하여 사용자의 암호를 확인합니다.
password 클라이언트에 대한 인증시에 일반 텍스트 암호를 요구합니다. 암호는 네트워크를 통해 일반 텍스트 형식으로 전송되므로 신뢰할 수없는 네트워크에서는 사용하지 마십시오.
gss 사용자 인증에 GSSAPI를 사용합니다. 이것은 TCP / IP 연결을 사용하는 경우에만 사용할 수 있습니다.
sspi 사용자의 인증 SSPI를 사용합니다. 이것은 Windows를 사용하는 경우에만 사용할 수 있습니다.
ident
클라이언트 운영 체제에서 사용자 이름을 클라이언트상의 ident 서버에게 물어 아이디가 요구 된 데이터베이스 사용자 이름과 일치하는지 확인합니다. ident 인증은 TCP / IP
연결에서만 사용할 수 있습니다. 로컬 연결이 지정되어있는 경우는 peer 인증이 대신 사용됩니다.
peer 클라이언트 운영 체제에서 사용자 이름을 운영 체제에서 가져온 사용자 이름이 요청한 데이터베이스 사용자 이름과 일치하는지 확인합니다. 이것은 로컬 접속시에만 사용
ldap LDAP 서버를 사용하여 인증합니다.
radius RADIUS 서버를 사용하여 인증합니다.
cert SSL 클라이언트 인증서를 사용하여 인증합니다.
pam 운영 체제에서 제공하는 PAM (Pluggable Authentication Modules) 서비스를 사용한 인증입니다.
bsd 운영 체제에서 제공되는 BSD 인증 서비스를 사용하여 인증합니다.
GSSAPI or GSS-API
( Generic Security Services Application Program Interface )
GSSAPI == Keberos API
KRB5 API
PGDay.Seoul 2018 12
Keberos
• 커베로스(Kerberos)는 티켓(ticket)을 기반으로 동작
하는 컴퓨터 네트워크 인증 암호화 프로토콜로서 비
보안 네트워크에서 통신하는 노드가 보안 방식으로
다른 노드에 대해 식별할 수 있게 허용한다.
• 클라이언트-서버 모델을 목적으로 개발되었으며 사
용자와 서버가 서로 식별할 수 있는 상호 인증(양방
향 인증)을 제공한다.
• 커베로스 프로토콜의 메시지는 도청과 재전송 공격
으로부터 보호된다.
• 커베로스는 대칭 키 암호로 빌드되며 TTP(신뢰된 서
드 파티)를 요구한다. 또, 특정 인증 구간에서 비대칭
키 암호 방식을 이용함으로써 선택적으로 공개 키 암
호 방식을 사용할 수 있다.
PGDay.Seoul 2018 13
https://www.ibm.com/support/knowledgecenter/ko/SS7K4U_8.5.5/com.ibm.websphere.zseries.doc/ae/csec
_kerb_auth_explain.html#csec_kerb_auth_explain__kerbwhat
LDAP ( Lightweight Directory Access Protocol )
PGDay.Seoul 2018 14
LDAP ( Lightweight Directory Access Protocol )
https://dzone.com/articles/introduction-to-kerberos-for-managers
PGDay.Seoul 2018 15
Authentication Flow Authorization Flow
PAM ( Pluggable Authentication Modules )
PGDay.Seoul 2018 16
IBM’s RHEL’s IdM FreeIPA
PGDay.Seoul 2018 17
FreeIPA ( I + P + T or A )
PGDay.Seoul 2018 18
• Manage Linux users and client hosts in your realm from one central locatio
n with CLI, Web UI or RPC access. Enable Single Sign On authentication fo
r all your systems, services and applications.
Identify
• Define Kerberos authentication and authorization policies for your identities
. Control services like DNS, SUDO, SELinux or autofs.Policy
• Create mutual trust with other Identity Management systems like
Microsoft Active Directory.
• Audit : http://scribery.github.io
Trusts ?!
RHEL’s IdM or IPA ?!
PGDay.Seoul 2018 19
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/linux_domain_identity_authentication_and_policy_guide/index
FreeIPA
PGDay.Seoul 2018 20
Dogtag Cert
Keberos
BIND
NTP
LDAP
389
DS
SSSD
(pam,sshd,sudo)
FreeIPA
PGDay.Seoul 2018 21
FreeIPA Web UI
PGDay.Seoul 2018 22
OAuth2, SAML, …
PGDay.Seoul 2018 23
OpenStack
PGDay.Seoul 2018 24
SSO ( Single Sign-On )
PGDay.Seoul 2018 25
FreeIPA
DEMO
PGDay.Seoul 2018 26
PGDay.Seoul 2018 27
PGDay.Seoul 2018 28
PGDay.Seoul 2018 29
PGDay.Seoul 2018 30
PGDay.Seoul 2018 31
PGDay.Seoul 2018 32
PGDay.Seoul 2018 33
PostgreSQL
$ vim postgesql.conf
krb_server_keyfile = '/var/lib/pgsql/data/krb5.keytab'
krb_srvname = 'postgres’
$ vim pg_hba.conf
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 0.0.0.0/0 gss include_realm=0 krb_realm=EXAMPLE.COM
PGDay.Seoul 2018 34
PostgreSQL
ssh 1st change password
$ kinit myuser
$ createuser myuser
$ psql –U myuser
PGDay.Seoul 2018 35
R.I.P.
PGDay.Seoul 2018 36
Q?!A
PGDay.Seoul 2018 37

More Related Content

What's hot

Lag 없는 실시간 데이터 파이프라인을 위한 아키텍처 개선기
Lag 없는 실시간 데이터 파이프라인을 위한 아키텍처 개선기Lag 없는 실시간 데이터 파이프라인을 위한 아키텍처 개선기
Lag 없는 실시간 데이터 파이프라인을 위한 아키텍처 개선기
productab180
 
AWS CLOUD 2017 - Amazon Aurora를 통한 고성능 데이터베이스 운용하기 (박선용 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Aurora를 통한 고성능 데이터베이스 운용하기 (박선용 솔루션즈 아키텍트)AWS CLOUD 2017 - Amazon Aurora를 통한 고성능 데이터베이스 운용하기 (박선용 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Aurora를 통한 고성능 데이터베이스 운용하기 (박선용 솔루션즈 아키텍트)
Amazon Web Services Korea
 
기업 IT 인프라 환경 최적화를 위한 하이브리드 클라우드 적용 방안 - AWS Summit Seoul 2017
기업 IT 인프라 환경 최적화를 위한 하이브리드 클라우드 적용 방안 - AWS Summit Seoul 2017기업 IT 인프라 환경 최적화를 위한 하이브리드 클라우드 적용 방안 - AWS Summit Seoul 2017
기업 IT 인프라 환경 최적화를 위한 하이브리드 클라우드 적용 방안 - AWS Summit Seoul 2017
Amazon Web Services Korea
 

What's hot (20)

2012 07 28_cloud_reference_architecture_openplatform
2012 07 28_cloud_reference_architecture_openplatform2012 07 28_cloud_reference_architecture_openplatform
2012 07 28_cloud_reference_architecture_openplatform
 
게임을 위한 최적의 AWS DB 서비스 소개 Dynamo DB, Aurora - 이종립 / Principle Enterprise Evang...
게임을 위한 최적의 AWS DB 서비스 소개 Dynamo DB, Aurora - 이종립 / Principle Enterprise Evang...게임을 위한 최적의 AWS DB 서비스 소개 Dynamo DB, Aurora - 이종립 / Principle Enterprise Evang...
게임을 위한 최적의 AWS DB 서비스 소개 Dynamo DB, Aurora - 이종립 / Principle Enterprise Evang...
 
[웨비나] 다중 AWS 계정에서의 CI/CD 구축
[웨비나] 다중 AWS 계정에서의 CI/CD 구축[웨비나] 다중 AWS 계정에서의 CI/CD 구축
[웨비나] 다중 AWS 계정에서의 CI/CD 구축
 
AWS 활용한 Data Lake 구성하기
AWS 활용한 Data Lake 구성하기AWS 활용한 Data Lake 구성하기
AWS 활용한 Data Lake 구성하기
 
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기
 
Gruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigDataGruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigData
 
[VDI on Azure] DaaS 구축과 운영, 신화와 현실
[VDI on Azure] DaaS 구축과 운영, 신화와 현실[VDI on Azure] DaaS 구축과 운영, 신화와 현실
[VDI on Azure] DaaS 구축과 운영, 신화와 현실
 
람다아키텍처
람다아키텍처람다아키텍처
람다아키텍처
 
AWS Cloud 환경으로​ DB Migration 전략 수립하기
AWS Cloud 환경으로​ DB Migration 전략 수립하기AWS Cloud 환경으로​ DB Migration 전략 수립하기
AWS Cloud 환경으로​ DB Migration 전략 수립하기
 
Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기
 
머신러닝 도우미, Amazon SageMaker 따라하기: SageMaker 국내 적용 사례
머신러닝 도우미, Amazon SageMaker 따라하기: SageMaker 국내 적용 사례머신러닝 도우미, Amazon SageMaker 따라하기: SageMaker 국내 적용 사례
머신러닝 도우미, Amazon SageMaker 따라하기: SageMaker 국내 적용 사례
 
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
 
Lag 없는 실시간 데이터 파이프라인을 위한 아키텍처 개선기
Lag 없는 실시간 데이터 파이프라인을 위한 아키텍처 개선기Lag 없는 실시간 데이터 파이프라인을 위한 아키텍처 개선기
Lag 없는 실시간 데이터 파이프라인을 위한 아키텍처 개선기
 
OpsNow를 활용한 AWS Cloud 비용 최적화 전략
OpsNow를 활용한 AWS Cloud 비용 최적화 전략OpsNow를 활용한 AWS Cloud 비용 최적화 전략
OpsNow를 활용한 AWS Cloud 비용 최적화 전략
 
AWS CLOUD 2017 - Amazon Aurora를 통한 고성능 데이터베이스 운용하기 (박선용 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Aurora를 통한 고성능 데이터베이스 운용하기 (박선용 솔루션즈 아키텍트)AWS CLOUD 2017 - Amazon Aurora를 통한 고성능 데이터베이스 운용하기 (박선용 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Aurora를 통한 고성능 데이터베이스 운용하기 (박선용 솔루션즈 아키텍트)
 
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
 
기업 IT 인프라 환경 최적화를 위한 하이브리드 클라우드 적용 방안 - AWS Summit Seoul 2017
기업 IT 인프라 환경 최적화를 위한 하이브리드 클라우드 적용 방안 - AWS Summit Seoul 2017기업 IT 인프라 환경 최적화를 위한 하이브리드 클라우드 적용 방안 - AWS Summit Seoul 2017
기업 IT 인프라 환경 최적화를 위한 하이브리드 클라우드 적용 방안 - AWS Summit Seoul 2017
 
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
 
2017 AWS DB Day | 개발자가 알아야 할 Amazon DynamoDB 활용법
2017 AWS DB Day | 개발자가 알아야 할 Amazon DynamoDB 활용법 2017 AWS DB Day | 개발자가 알아야 할 Amazon DynamoDB 활용법
2017 AWS DB Day | 개발자가 알아야 할 Amazon DynamoDB 활용법
 

Similar to [Pgday.Seoul 2018] PostgreSQL Authentication with FreeIPA

Similar to [Pgday.Seoul 2018] PostgreSQL Authentication with FreeIPA (20)

Oracle Blockchain Cloud 소개 - 콘솔 화면 포함
Oracle Blockchain Cloud 소개 - 콘솔 화면 포함Oracle Blockchain Cloud 소개 - 콘솔 화면 포함
Oracle Blockchain Cloud 소개 - 콘솔 화면 포함
 
20180124 naver labs aws network and security
20180124 naver labs aws network and security20180124 naver labs aws network and security
20180124 naver labs aws network and security
 
Google Cloud Platform - Apigee
Google Cloud Platform - ApigeeGoogle Cloud Platform - Apigee
Google Cloud Platform - Apigee
 
HTTPS를 이용한 챗봇 웹 어플리케이션
HTTPS를 이용한 챗봇 웹 어플리케이션HTTPS를 이용한 챗봇 웹 어플리케이션
HTTPS를 이용한 챗봇 웹 어플리케이션
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
 
Cyberark (사이버아크) PAM IDENTITY 솔루션 : 접근제어, 인증관리, 권한제어, 자격관리
Cyberark (사이버아크) PAM IDENTITY 솔루션 : 접근제어, 인증관리, 권한제어, 자격관리Cyberark (사이버아크) PAM IDENTITY 솔루션 : 접근제어, 인증관리, 권한제어, 자격관리
Cyberark (사이버아크) PAM IDENTITY 솔루션 : 접근제어, 인증관리, 권한제어, 자격관리
 
API Management Reference Architecture
API Management Reference ArchitectureAPI Management Reference Architecture
API Management Reference Architecture
 
세션5_데보션테크데이_이상근.pdf
세션5_데보션테크데이_이상근.pdf세션5_데보션테크데이_이상근.pdf
세션5_데보션테크데이_이상근.pdf
 
게이트단의 보안
게이트단의 보안게이트단의 보안
게이트단의 보안
 
AManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with TerraformAManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with Terraform
 
Hyperconnect pycon 2019
Hyperconnect pycon 2019Hyperconnect pycon 2019
Hyperconnect pycon 2019
 
Oracle autonomous blockchain cloud service
Oracle autonomous blockchain cloud serviceOracle autonomous blockchain cloud service
Oracle autonomous blockchain cloud service
 
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
 
Flask, Redis, Retrofit을 이용한 Android 로그인 서비스 구현하기
Flask, Redis, Retrofit을 이용한 Android 로그인 서비스 구현하기Flask, Redis, Retrofit을 이용한 Android 로그인 서비스 구현하기
Flask, Redis, Retrofit을 이용한 Android 로그인 서비스 구현하기
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나- IBM Bluemix
 
REST API 설계
REST API 설계REST API 설계
REST API 설계
 
Provisioning Dedicated Game Server on Kubernetes Cluster
Provisioning Dedicated Game Server on Kubernetes ClusterProvisioning Dedicated Game Server on Kubernetes Cluster
Provisioning Dedicated Game Server on Kubernetes Cluster
 
[OpenInfra Days Korea 2018] (Track 4) Provisioning Dedicated Game Server on K...
[OpenInfra Days Korea 2018] (Track 4) Provisioning Dedicated Game Server on K...[OpenInfra Days Korea 2018] (Track 4) Provisioning Dedicated Game Server on K...
[OpenInfra Days Korea 2018] (Track 4) Provisioning Dedicated Game Server on K...
 
Google Cloud NEXT'17 정리
Google Cloud NEXT'17 정리Google Cloud NEXT'17 정리
Google Cloud NEXT'17 정리
 

More from PgDay.Seoul

More from PgDay.Seoul (20)

[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
 
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
 
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
 
[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud
 
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
 
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
 
[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기
[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기
[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기
 
[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL Tuning[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL Tuning
 
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
 
[Pgday.Seoul 2018] PostgreSQL 11 새 기능 소개
[Pgday.Seoul 2018]  PostgreSQL 11 새 기능 소개[Pgday.Seoul 2018]  PostgreSQL 11 새 기능 소개
[Pgday.Seoul 2018] PostgreSQL 11 새 기능 소개
 
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
[Pgday.Seoul 2018]  PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha[Pgday.Seoul 2018]  PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
 
[Pgday.Seoul 2018] 이기종 DB에서 PostgreSQL로의 Migration을 위한 DB2PG
[Pgday.Seoul 2018]  이기종 DB에서 PostgreSQL로의 Migration을 위한 DB2PG[Pgday.Seoul 2018]  이기종 DB에서 PostgreSQL로의 Migration을 위한 DB2PG
[Pgday.Seoul 2018] 이기종 DB에서 PostgreSQL로의 Migration을 위한 DB2PG
 
[Pgday.Seoul 2018] AWS Cloud 환경에서 PostgreSQL 구축하기
[Pgday.Seoul 2018]  AWS Cloud 환경에서 PostgreSQL 구축하기[Pgday.Seoul 2018]  AWS Cloud 환경에서 PostgreSQL 구축하기
[Pgday.Seoul 2018] AWS Cloud 환경에서 PostgreSQL 구축하기
 
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
 
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
 
[Pgday.Seoul 2017] 5. 테드폴허브(올챙이) PostgreSQL 확장하기 - 조현종
[Pgday.Seoul 2017] 5. 테드폴허브(올챙이) PostgreSQL 확장하기 - 조현종[Pgday.Seoul 2017] 5. 테드폴허브(올챙이) PostgreSQL 확장하기 - 조현종
[Pgday.Seoul 2017] 5. 테드폴허브(올챙이) PostgreSQL 확장하기 - 조현종
 
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
 
[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자
[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자
[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자
 
[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명
[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명
[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명
 
[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기
[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기
[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기
 

[Pgday.Seoul 2018] PostgreSQL Authentication with FreeIPA

  • 2. Agenda • About me • PostgreSQL Authentication • IBM’s RHEL’s IdM FreeIPA • DEMO PGDay.Seoul 2018 2
  • 3. About me PGDay.Seoul 2018 3 •이형채 (대명봇) • 게임허브 • Kosslab • Tibero • Altibase • Telcobase • Cubrid • Inervit
  • 6. HA – github’s Orchestrator PGDay.Seoul 2018 6
  • 7. Scale-out – TiDB, VitessDB PGDay.Seoul 2018 7 PingCap’s TiDB PingCap’s TiDB
  • 8. Auth & Security ?! PGDay.Seoul 2018 8 FreeIPA Tadpole DB Hub
  • 10. Authentication vs Authorization 인증 권한 PGDay.Seoul 2018 10
  • 11. Client Authentication PGDay.Seoul 2018 11 https://paquier.xyz/content/materials/20180531_pgcon_auth.pdf 인증 설명 trust 연결을 무조건 허용합니다. 이 방식은 PostgreSQL 데이터베이스 서버에 연결할 수있는 모든 사용자가 모든 PostgreSQL 사용자로 암호 및 기타 인증없이 로그인하는 것을 허 용합니다. reject 연결을 무조건 거부합니다. 특정 호스트를 한 그룹에서 ' 제외 ' 하는 데 유용합니다. 예를 들어, 한 줄의 reject특정 호스트가 연결을 거부합니다. 한편, 뒤에 줄에서 특정 네트 워크의 나머지 호스트가 연결을 허용합니다. scram-sha-256 SCRAM-SHA-256 인증을 수행하여 사용자의 암호를 확인합니다. md5 SCRAM-SHA-256 또는 MD5 인증을 수행하여 사용자의 암호를 확인합니다. password 클라이언트에 대한 인증시에 일반 텍스트 암호를 요구합니다. 암호는 네트워크를 통해 일반 텍스트 형식으로 전송되므로 신뢰할 수없는 네트워크에서는 사용하지 마십시오. gss 사용자 인증에 GSSAPI를 사용합니다. 이것은 TCP / IP 연결을 사용하는 경우에만 사용할 수 있습니다. sspi 사용자의 인증 SSPI를 사용합니다. 이것은 Windows를 사용하는 경우에만 사용할 수 있습니다. ident 클라이언트 운영 체제에서 사용자 이름을 클라이언트상의 ident 서버에게 물어 아이디가 요구 된 데이터베이스 사용자 이름과 일치하는지 확인합니다. ident 인증은 TCP / IP 연결에서만 사용할 수 있습니다. 로컬 연결이 지정되어있는 경우는 peer 인증이 대신 사용됩니다. peer 클라이언트 운영 체제에서 사용자 이름을 운영 체제에서 가져온 사용자 이름이 요청한 데이터베이스 사용자 이름과 일치하는지 확인합니다. 이것은 로컬 접속시에만 사용 ldap LDAP 서버를 사용하여 인증합니다. radius RADIUS 서버를 사용하여 인증합니다. cert SSL 클라이언트 인증서를 사용하여 인증합니다. pam 운영 체제에서 제공하는 PAM (Pluggable Authentication Modules) 서비스를 사용한 인증입니다. bsd 운영 체제에서 제공되는 BSD 인증 서비스를 사용하여 인증합니다.
  • 12. GSSAPI or GSS-API ( Generic Security Services Application Program Interface ) GSSAPI == Keberos API KRB5 API PGDay.Seoul 2018 12
  • 13. Keberos • 커베로스(Kerberos)는 티켓(ticket)을 기반으로 동작 하는 컴퓨터 네트워크 인증 암호화 프로토콜로서 비 보안 네트워크에서 통신하는 노드가 보안 방식으로 다른 노드에 대해 식별할 수 있게 허용한다. • 클라이언트-서버 모델을 목적으로 개발되었으며 사 용자와 서버가 서로 식별할 수 있는 상호 인증(양방 향 인증)을 제공한다. • 커베로스 프로토콜의 메시지는 도청과 재전송 공격 으로부터 보호된다. • 커베로스는 대칭 키 암호로 빌드되며 TTP(신뢰된 서 드 파티)를 요구한다. 또, 특정 인증 구간에서 비대칭 키 암호 방식을 이용함으로써 선택적으로 공개 키 암 호 방식을 사용할 수 있다. PGDay.Seoul 2018 13 https://www.ibm.com/support/knowledgecenter/ko/SS7K4U_8.5.5/com.ibm.websphere.zseries.doc/ae/csec _kerb_auth_explain.html#csec_kerb_auth_explain__kerbwhat
  • 14. LDAP ( Lightweight Directory Access Protocol ) PGDay.Seoul 2018 14
  • 15. LDAP ( Lightweight Directory Access Protocol ) https://dzone.com/articles/introduction-to-kerberos-for-managers PGDay.Seoul 2018 15 Authentication Flow Authorization Flow
  • 16. PAM ( Pluggable Authentication Modules ) PGDay.Seoul 2018 16
  • 17. IBM’s RHEL’s IdM FreeIPA PGDay.Seoul 2018 17
  • 18. FreeIPA ( I + P + T or A ) PGDay.Seoul 2018 18 • Manage Linux users and client hosts in your realm from one central locatio n with CLI, Web UI or RPC access. Enable Single Sign On authentication fo r all your systems, services and applications. Identify • Define Kerberos authentication and authorization policies for your identities . Control services like DNS, SUDO, SELinux or autofs.Policy • Create mutual trust with other Identity Management systems like Microsoft Active Directory. • Audit : http://scribery.github.io Trusts ?!
  • 19. RHEL’s IdM or IPA ?! PGDay.Seoul 2018 19 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/linux_domain_identity_authentication_and_policy_guide/index
  • 20. FreeIPA PGDay.Seoul 2018 20 Dogtag Cert Keberos BIND NTP LDAP 389 DS SSSD (pam,sshd,sudo)
  • 25. SSO ( Single Sign-On ) PGDay.Seoul 2018 25 FreeIPA
  • 34. PostgreSQL $ vim postgesql.conf krb_server_keyfile = '/var/lib/pgsql/data/krb5.keytab' krb_srvname = 'postgres’ $ vim pg_hba.conf # TYPE DATABASE USER CIDR-ADDRESS METHOD host all all 0.0.0.0/0 gss include_realm=0 krb_realm=EXAMPLE.COM PGDay.Seoul 2018 34
  • 35. PostgreSQL ssh 1st change password $ kinit myuser $ createuser myuser $ psql –U myuser PGDay.Seoul 2018 35