企業安全擁抱開源之FREEOTP部署實戰。 安全建設過程中,總體預算、投入產出比均是首先需要考慮的問題,缺少具備開發能力的人員、缺少資金預算的情況下,開源產品就成了必然的選擇。
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 ESTA BLISHED,RELATED -j ACCEPT">> /etc/sysconfig/iptables echo "-A INPUT -p icmp -j ACCEPT" >> /etc/sysconfig/iptab les echo "-A INPUT -i lo -j ACCEPT" >> /etc/sysconfig/iptables echo "-A INPUT -m state --state NEW -m tcp -p tcp --d port 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" &g t;> /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