基于openldap+Kerberos+google authenticator动态口令实现的运维跳板机

出于安全考虑,大多数公司的办公环境和业务环境在网络层面基本上是隔离开的,在办公环境是无法直接连到业务生产环境的,只有做过特定白名单同性的情况下才会允许这么做。这样做了,开发人员需要访问生产环境服务器排查问题或者运维人员通过办公网络对生产环境进行维护就不太方便,但是网络一旦开通又会出现安全风险。

在这种情况下,就需要一种可以控制网络入口,能够统一授权,认证的系统,这样运维跳板机,也就是比较严格意义上的AAAA认证系统就出现了。

所谓的4A认证系统其实是指:

统一用户账号(Account)

统一认证(Authentication)

统一授权(Authorization)

统一安全审计(Audit)

我们公司使用的是openldap(管理用户信息,同时实现资源访问控制),Kerberos(网络鉴权),google authenticator(二次认证的动态口令),bash (修改源码,实现账户远程登录操作

日志记录)

系统环境: 64位 CentOS linux 6.3

openldap+bdb+phpldapadmin

openldap:

master端:yum 安装

openldap

openldap-clients

openldap-servers

nss_ldap

客户端:yum方式

openldap

nss_ldap

slapd.conf配置文件修改:

databasebdbsuffix”dc=dianping,dc=com”rootdn”cn=ldapadmin,dc=dianping,dc=com”#Cleartextpasswords,especiallyfortherootdn,should#beavoid.Seeslappasswd(8)andslapd.conf(5)fordetails.#Useofstrongauthenticationencouraged.rootpw!@qwaszx#ThedatabasedirectoryMUSTexistpriortorunningslapdAND#shouldonlybeaccessiblebytheslapdandslaptools.#Mode700recommended.directory/usr/local/openldap/var/openldap-data#IndicestomaintainindexobjectClasseq#indexuidNumbereqserverid3ldap://server1serverid5ldap://server2cachesize50000checkpoint10245idletimeout20syncreplrid=005provider=ldap://server2binddn=”cn=ldapadmin,dc=dianping,dc=com”bindmethod=simplecredentials=hehehehhe,qunying.liusearchbase=”dc=dianping,dc=com”type=refreshAndPersistinterval=00:00:00:10retry=”553005″timeout=1mirrormodetrueoverlaysyncprovsyncprov-checkpoint10010syncprov-sessionlog100sizelimit700timelimit20databasemonitor

系统加入ldap认证:

vi/etc/nsswitch.confpasswd:filesldapshadow:filesldapgroup:filesldap

打开ldap服务日志:

syslog中加入ldap日志文件

vi/etc/syslog.conf#saveOpenLDAPloglocal4.*/var/log/ldap.log

客户端修改 /etc/ldap.conf

hostserver1#Thedistinguishednameofthesearchbase.baseou=ldap,ou=auth,dc=dianping,dc=com

Openldapadmin配置

Tarzxvfopenldapadmin-1.2.3.tar.gzCdopenldapadmin-1.2.3mvphpldapadmin-1.2.3/var/www/localhost/htdocs/phpldapadmin–rcd/var/www/localhost/htdocs/phpldapadmincpconfig/config.php.exampleconfig/config.php修改config.php文件

登录phpldapadmin,设置的登录密码(hehehehhe,qunying.liu)登录

Kerberos:

Kerberos认证协议

Kerberos是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。

使用Kerberos时,一个客户端需要经过三个步骤来获取服务:

认证:客户端向认证服务器发送一条报文,并获取一个含时间戳的Ticket-Granting Ticket(TGT)。

授权:客户端使用TGT向Ticket-Granting Server(TGS)请求一个服务Ticket。

服务请求:客户端向服务器出示服务Ticket,以证实自己的合法性。该服务器提供客户端所需服务,在Hadoop应用中,服务器可以是namenode或jobtracker。

为此,Kerberos需要The Key Distribution Centers(KDC)来进行认证。KDC只有一个Master,可以带多个slaves机器。slaves机器仅进行普通验证。Mater上做的修改需要自动同步到slaves。

另外,KDC需要一个admin,来进行日常的管理操作。这个admin可以通过远程或者本地方式登录。

搭建Kerberos

1.安装:通过yum安装即可,组成KDC。

yuminstall-ykrb5-serverkrb5-libkrb5-workstation

2.配置:Kerberos的配置文件只有两个。在server1中创建以下两个文件,并同步/etc/krb5.conf到所有机器。

可是,我却迈不开步伐,怎么也走不出那个圈……

基于openldap+Kerberos+google authenticator动态口令实现的运维跳板机

相关文章:

你感兴趣的文章:

标签云: