安全路透社
当前位置:安全路透社 > 网络转载 > 正文

企业安全拥抱开源之FREEOTP部署实战

*本文原创作者:agui 

安全建设过程中,总体预算、投入产出比均是首先需要考虑的问题,缺少具备开发能力的人员、缺少资金预算的情况下,开源产品就成了必然的选择。

1.jpg

0×01 前言

虎符是古代皇帝调兵遣将用的兵符,用青铜或者黄金做成伏虎形状的令牌,劈为两半,其中一半交给将帅,另一半由皇帝保存,只有两个虎符同时合并使用,持符者即获得调兵遣将权。虎符也大致可看做是双因素身份认证的早期应用了。

0×02 2FA&OTP

2FA,双因素认证。一是你知道什么,一是你有什么或者你是什么,比如说,你需要提供密码,同时你还需提供动态口令,又或者采用虹膜、指纹等生物特征作为第二因素进行身份认证,当然,指纹因容易被伪造,很多安全专家并不推荐使用。

企业安全管理中,综合成本、部署维护难易程度等原因,OTP是一个不错的选择。OTP全称为One-Time-Password,也称动态口令,在需要强身份认证的场合比较常用,常见的应用有网银硬件令牌、手机令牌等。具备动态口令功能的商业产品比较多,有实力的企业可以自行选择。本文中我们选择Freeotp作为OTP解决方案。

Freeotp是一款来自Red Hat的开源的软令牌解决方案,支持HTOP和TOTP,同时提供了IOS和Android客户端。Freeotp已集成在Freeipa中,这里我们从部署Freeipa开始。

0×03 Freeipa安装 

测试环境

os:centos7 

ipa_hostname:ipatest 

ipa_domain:example.com 

ipa_address 1.1.1.1 

IPA NetBIOS:IPATEST 

ad_hostname:it-dc01 

ad_domain:it.local 

ad_address:2.2.2.2

部署过程

1、更新系统 

yum update -y 

2、安装freeipa相关组件 

yum install -y "*ipa-server""*ipa-server-trust-ad" bind bind-dyndb-ldap ipa-server-dns 

3、系统配置 

echo "1.1.1.1 ipatest.example.com ipatest" >>/etc/hosts 

hostname ipatest.example.com 

4、ipa服务配置 

ipa-server-install -a mypassword1 -p mypassword2 --domain=example.com--realm=EXAMPLE.COM --setup-dns --no-forwarders -U 

5、获取ipa管理员权限 

kinit admin 

6、防火墙iptables安装配置 

chkconfig firewalld off 

service firewalld stop 

yum install -y iptables-services 

chkconfig iptables on 

echo "*filter" > /etc/sysconfig/iptables 

echo ":INPUT ACCEPT [0:0]" >> /etc/sysconfig/iptables 

echo ":FORWARD ACCEPT [0:0]" >> /etc/sysconfig/iptables 

echo ":OUTPUT ACCEPT [0:0]" >> /etc/sysconfig/iptables 

echo "-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT">> /etc/sysconfig/iptables 

echo "-A INPUT -p icmp -j ACCEPT" >> /etc/sysconfig/iptables 

echo "-A INPUT -i lo -j ACCEPT" >> /etc/sysconfig/iptables 

echo "-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -jACCEPT" >> /etc/sysconfig/iptables 

echo "# -A INPUT -s ad_ip_address -p tcp -m multiport --dports 389,636 -mstate --state NEW,ESTABLISHED -j REJECT" >> /etc/sysconfig/iptables 

echo "-A INPUT -p tcp -m multiport --dports80,88,443,389,636,88,464,53,138,139,445 -m state --state NEW,ESTABLISHED -jACCEPT" >> /etc/sysconfig/iptables 

echo "-A INPUT -p udp -m multiport --dports 88,464,53,123,138,139,389,445-m state --state NEW,ESTABLISHED -j ACCEPT" >>/etc/sysconfig/iptables 

echo "-A INPUT -p udp -j REJECT" >> /etc/sysconfig/iptables 

echo "-A INPUT -p tcp -j REJECT" >> /etc/sysconfig/iptables 

echo "-A FORWARD -j REJECT --reject-with icmp-host-prohibited">> /etc/sysconfig/iptables 

echo "COMMIT" >> /etc/sysconfig/iptables 

service iptables restart 

至此Freeipa安装完毕。

Dns服务器配置域名解析ipatest.example.com后即可通过 https:// ipatest.example.com管理ipa服务器。如需与已经部署的MS AD 系统进行集成,还需要进行账户密码等的同步设置,具体配置请参考:

http://gatwards.org/techblog/ipaactive-directory-sync-configuration

http://directory.fedoraproject.org/docs/389ds/download.html

0×04 FREEOTP配置

首先登陆freeipa服务器。用户名admin,密码是上一节安装过程中配置的mypassword1。

1、启用OTP

服务端启用OTP有两种方式。

一是在全局配置中,为所有用户启用OTP:依次找到【IPA Server】-【Configuration】-【Default user authentication types】,勾选【Two factorauthentication (password + OTP)】

2.png

二是为每一个用户分别启用OTP:

3.png

2、添加、删除、禁用、启用令牌

依次进入【Authentication】-【OTP tokens】,根据需要选择添加、删除或禁用、启用令牌

4.png

令牌配置:

5.png

3、客户端导入令牌:

在应用市场搜索freeotp,下载并安装客户端。

客户端可以通过扫描服务端添加令牌配置后生成的二维码添加令牌。

6.png

0×05 应用场景和配置实例

应用场景:WEB应用认证、VPN用户登录认证等

应用的接入可以直接采用LDAP协议,这里不再详述。

配置实例:ITOP配置实例 

'authent-ldap' => array ( 

'host' => '1.1.1.1', 

'port' => 389, 

'default_user'=>'uid=test123,CN=users,CN=accounts,DC=example,DC=com', 

'default_pwd'=> 'testpass!!', 

'base_dn' => 'CN=users,CN=accounts,DC=example,DC=com', 

'user_query' => '(&(uid=%1$s))', 

'options' => array ( 

17 => 3, 

8 => 0, 

), 

同时,在ITOP中添加对应的用户test123后即可进行登录测试,经过验证,OTP系统运行正常,原有的密码被替换成了密码+OTP。

7.png

0×06 后续工作

至此,资金和技术问题已经解决,接下来的工作就是如何推动业务部门接入OTP系统了。

0×07 参考内容

Multi-factor authentication

https://en.wikipedia.org/wiki/Multi-factor_authentication

FreeIPA

http://www.freeipa.org/page/Main_Page

ACIs Manually

https://www.centos.org/docs/5/html/CDS/ag/8.0/Managing_Access_Control-Creating_ACIs_Manually.html

*本文原创作者:agui

未经允许不得转载:安全路透社 » 企业安全拥抱开源之FREEOTP部署实战

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册