MongoDB LDAP and Kerberos Authentication with Cent
By Alex Komyagin at MongoDB with the help of Felderi Santiago at Centrify and Robertson Pimentel at Centrify Overview Centrify provides unified identity management solutions that result in single sign-on (SSO) for users and a simplified id
By Alex Komyagin at MongoDB with the help of Felderi Santiago at Centrify and Robertson Pimentel at Centrify
Overview
Centrify provides unified identity management solutions that result in single sign-on (SSO) for users and a simplified identity infrastructure for IT. Centrify’s Server Suite integrates Linux systems into Active Directory domains to enable centralized authentication, access control, privilege user management and auditing access for compliance needs.
Since version 2.4, MongoDB Enterprise allows authentication with Microsoft Active Directory Services using LDAP and Kerberos protocols. On Linux systems it is now possible to leverage Centrify’s Server Suite solution for integrating MongoDB with Active Directory.
The use of Centrify’s Active Directory integration with MongoDB greatly simplifies setup process and allows MongoDB to seamlessly integrate into the most complex Active Directory environments found at enterprise customer sites with hundreds or thousands of employees.
Requirements
- Existing Active Directory domain
- MongoDB Enterprise 2.4 or greater
- Centrify Suite
All further MongoDB commands in this paper are given for the current latest stable release, MongoDB 2.6.5. The Linux OS used is RHEL6.4. The Centrify Server Suite version is 2014.1.
Setup procedure
Preparing a new MongoDB Linux server
In existing Enterprise environments that are already using Centrify and MongoDB there are usually specific guidelines on setting up Linux systems. Here we will cover the most basic steps needed, that can be used as a quick reference:
1. Configure hostname and DNS resolution
For Centrify and MongoDB to function properly you must set a hostname on the system and make sure it’s configured to use the proper Active Directory-aware DNS server instance IP address. You can update the hostname using commands that resemble the following:
<b>$ nano /etc/sysconfig/network</b> HOSTNAME=lin-client.mongotest.com <b>$ reboot</b> <b>$ hostname -f</b> lin-client.mongotest.com
Next, verify the DNS settings and add additional servers, if needed:
<b>$ nano /etc/resolv.conf</b> search mongotest.com nameserver 10.10.42.250
2. Install MongoDB Enterprise
The installation process is well outlined in our Documentation. It’s recommended to turn SELinux off for this exercise:
<b>$ nano /etc/selinux/config</b> SELINUX=disabled
Since MongoDB grants user privileges through role-based authorization, there should be an LDAP and a Kerberos user created in mongodb:
<b>$ service mongod start $ mongo > db.getSiblingDB("$external").createUser( { user : "alex", roles: [ { role: "root" , db : "admin"} ] } ) > db.getSiblingDB("$external").createUser( { user: "alex@MONGOTEST.COM", roles: [ { role: "root", db: "admin" } ] } )</b>
“alex” is a user listed in AD and who is a member of the “Domain Users” group and has “support” set as its Organizational Unit.
3. Install Centrify agent
Unpack the Centrify suite archive and install the centrify-dc package. Then join the server to your domain as a workstation:
<b>$ rpm -ihv centrifydc-5.2.0-rhel3-x86_64.rpm</b> <b>$ adjoin -V -w -u ldap_admin mongotest.com</b> ldap_admin@MONGOTEST.COM's password:
Here “ldap_admin” is user who is a member of the “Domain Admins” group in AD.
Setting up MongoDB with LDAP authentication using Centrify
Centrify agent manages all communications with Active Directory, and MongoDB can use the Centrify PAM module to authenticate LDAP users.
1. Configure saslauthd, which is used by MongoDB as an interface between the database and the Linux PAM system.
a. Verify that “MECH=pam” is set in /etc/sysconfig/saslauthd:
<b>$ grep ^MECH /etc/sysconfig/saslauthd</b> MECH=pam
b. Turn on the saslauthd service and ensure it is started upon reboot:
<b>$ service saslauthd start</b> Starting saslauthd: [ OK ] <b>$ chkconfig saslauthd on</b> <b>$ chkconfig --list saslauthd</b> saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2. Configure PAM to recognize the mongodb service by creating an appropriate PAM service file. We will use the sshd service file as a template, since it should’ve already been preconfigured to work with Centrify:
<b>$ cp -v /etc/pam.d/{sshd,mongodb}</b> `/etc/pam.d/sshd' -> `/etc/pam.d/mongodb'
3. Start MongoDB with LDAP authentication enabled, by adjusting the config file:
<b>$ nano /etc/mongod.conf</b> auth=true setParameter=saslauthdPath=/var/run/saslauthd/mux setParameter=authenticationMechanisms=PLAIN <b>$ service mongod restart</b>
4. Try to authenticate as the user “alex” in MongoDB:
<b>$ mongo > db.getSiblingDB("$external").auth( { mechanism: "PLAIN", user: "alex", pwd: "xxx", digestPassword: false } )</b> 1 <b>></b>
Returning a value of “1” means the authentication was successful.
Setting up MongoDB with Kerberos authentication using Centrify
Centrify agent automatically updates system Kerberos configuration (the /etc/krb5.conf file), so no manual configuration is necessary. Additionally, Centrify provides means to create Active Directory service user, service principal name and keyfile directly from the Linux server, thus making automation easier.
1. Create the “lin-client-svc” user in Active Directory with SPN and UPN for the server, and export its keytab to the “mongod_lin.keytab” file:
<b>$ adkeytab -n -P mongodb/lin-client.mongotest.com@MONGOTEST.COM -U mongodb/lin-client.mongotest.com@MONGOTEST.COM -K /home/ec2-user/mongod_lin.keytab -c "OU=support" -V --user ldap_admin lin-client-svc</b> ldap_admin@MONGOTEST.COM's password: <b>$ adquery user lin-client-svc -PS</b> userPrincipalName:mongodb/lin-client.mongotest.com@MONGOTEST.COM servicePrincipalName:mongodb/lin-client.mongotest.com
Again, the “ldap_admin” is user who is a member of the “Domain Admins” group in AD. An OU “support” will be used to create the “lin-client-svc” service user.
2. Start MongoDB with Kerberos authentication enabled, by adjusting the config file. You also need to make sure that mongod listens on the interface associated with the FQDN. For this exercise, you can just configure mongod to listen on all interfaces:
<b>$ nano /etc/mongod.conf</b> # Listen to local interface only. Comment out to listen on all interfaces. #bind_ip=127.0.0.1 auth=true setParameter=authenticationMechanisms=GSSAPI <b>$ service mongod stop</b> <b>$ env KRB5_KTNAME=/home/ec2-user/mongod_lin.keytab mongod -f /etc/mongod.conf</b>
3. Try to authenticate as the user “alex@MONGOTEST.COM” in MongoDB:
<b>$ kinit alex@MONGOTEST.COM</b> Password for alex@MONGOTEST.COM: <b>$ mongo --host lin-client.mongotest.com > db.getSiblingDB("$external").auth( { mechanism: "GSSAPI", user: "alex@MONGOTEST.COM", } )</b> 1 <b>></b>
The return value of “1” indicates success.
Summary and more information
MongoDB supports different options for authentication, including Kerberos and LDAP external authentication. With MongoDB and Centrify integration, it is now possible to speed up enterprise deployments of MongoDB into your existing security and Active Directory infrastructure and ensure quick day-one productivity without expending days and weeks of labor dealing with open-source tools.
About Centrify
Centrify is a leading provider of unified identity management solutions that result in single sign-on (SSO) for users and a simplified identity infrastructure for IT. Centrify’s Server Suite software integrates Linux systems into Active Directory domains to enable centralized authentication, access control, privilege user management and auditing access for compliance needs. Over the last 10 years, more than 5,000 customers around the world, including nearly half of the Fortune 50, have deployed and trusted Centrify solutions across millions of servers, workstations, and applications, and have regularly reduced their identity management and compliance costs by 50% or more.
Video tutorials
Video on how to use Centrify to integrate MongoDB with Active Directory:
Video on how to enforce PAM access rights as an additional security layer for MongoDB with Centrify:
Centrify Community post and videos showcasing Active Directory integration for MongoDB: http://community.centrify.com/t5/Standard-Edition-DirectControl/MongoDB-AD-Integration-made-easy-with-Centrify/td-p/18779
MongoDB security documentation is available here: http://docs.mongodb.org/manual/security/ MongoDB user and role management tutorials: http://docs.mongodb.org/manual/administration/security-user-role-management/
原文地址:MongoDB LDAP and Kerberos Authentication with Cent, 感谢原作者分享。

mysql'sblobissuilableforstoringbinarydatawithinareldatabase, whilenosqloptionslikemongodb, redis, and cassandraofferflexible, scalablesolutionsforunstuctureddata.blobissimplerbutcanslowwownperformance를 사용하는 것들보업 betterscal randaysand

TOADDAUSERINMYSQL, 사용 : CreateUser'UserName '@'host'IdentifiedBy'Password '; 여기서'showTodoitseciRely : 1) ChoosetheHostCareLyTocon trolaccess.2) setResourcelimitswithOptionslikemax_queries_per_hour.3) Usestrong, iriquepasswords.4) enforcessl/tlsconnectionswith

toavoidcommonmistakeswithstringdatatypesinmysql, stroundStringTypenuances, chooseTherightType, andManageEncodingAndCollationSettingSefectively.1) usecharforfixed-lengthstrings, varcharvariable-length, andtext/blobforlargerdata.2) setcarcatter

mysqloffersechar, varchar, text, anddenumforstringdata.usecharforfixed-lengthstrings, varcharerforvariable 길이, 텍스트 forlarger 텍스트, andenumforenforcingdataantegritystofvalues.

mysqlblob 요청 최적화는 다음 전략을 통해 수행 할 수 있습니다. 1. Blob 쿼리의 빈도를 줄이거나 독립적 인 요청을 사용하거나 지연로드를 사용하십시오. 2. 적절한 Blob 유형 (예 : TinyBlob)을 선택하십시오. 3. Blob 데이터를 별도의 테이블로 분리하십시오. 4. 응용 프로그램 계층에서 블로브 데이터를 압축합니다. 5. Blob Metadata를 색인하십시오. 이러한 방법은 실제 애플리케이션에서 모니터링, 캐싱 및 데이터 샤딩을 결합하여 성능을 효과적으로 향상시킬 수 있습니다.

MySQL 사용자를 추가하는 방법을 마스터하는 것은 데이터베이스 관리자 및 개발자가 데이터베이스의 보안 및 액세스 제어를 보장하기 때문에 데이터베이스 관리자 및 개발자에게 중요합니다. 1) CreateUser 명령을 사용하여 새 사용자를 만듭니다. 2) 보조금 명령을 통해 권한 할당, 3) FlushPrivileges를 사용하여 권한이 적용되도록하십시오.

ChooseCharfixed-lengthdata, varcharforvariable-lengthdata, andtextforlargetextfields.1) charisefficientsconsentent-lengthdatalikecodes.2) varcharsuitsvariable-lengthdatalikeNames, 밸런싱 플렉스 및 성능

MySQL에서 문자열 데이터 유형 및 인덱스를 처리하기위한 모범 사례는 다음과 같습니다. 1) 고정 길이의 Char, 가변 길이의 Varchar 및 큰 텍스트의 텍스트와 같은 적절한 문자열 유형 선택; 2) 인덱싱에 신중하고, 과도한 인덱싱을 피하고, 공통 쿼리에 대한 인덱스를 만듭니다. 3) 접두사 인덱스 및 전체 텍스트 인덱스를 사용하여 긴 문자열 검색을 최적화합니다. 4) 인덱스를 작고 효율적으로 유지하기 위해 인덱스를 정기적으로 모니터링하고 최적화합니다. 이러한 방법을 통해 읽기 및 쓰기 성능의 균형을 맞추고 데이터베이스 효율성을 향상시킬 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

드림위버 CS6
시각적 웹 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기