首页 > 安全 > 企业安全 >

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

2016-12-10

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

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

\

0×01 前言

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

0×02 2FA&OTP

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

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

Freeotp是一款来自Red Hat的开源的软令牌解决方案,支持HTOP和TOTP,同时提供了IOSAndroid客户端。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#windows-password-synchronization

0×04 FREEOTP配置

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

1、启用OTP

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

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

\

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

\

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

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

\

令牌配置:

\

3、客户端导入令牌:

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

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

\

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。

\

0×06 后续工作

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

相关文章
最新文章
热点推荐