前言
因為想幫Fortinet新增MFA(身分驗證)的機制,雖然原廠Fortinet有提供相對應的設備進行安全性防護驗證,但無奈真的沒經費可以使用,但又想用該怎麼辦呢?
於是就自己做一個吧 (ゝ∀・)
使用者自己連到專用網頁輸入帳號密碼取得OTP驗證QRcode,一切自動化管理
這樣的好處是,我不用一個一個加,省得我還要花時間處理,未來要人員離職要處理的部分也單純簡單,一整個好棒棒 (・∀・)
因為整個作業內容比較麻煩,所以我拆開來來寫比較不會混亂,也方便彼此在確認的時候比較好看,不用一次看個落落長。我信你個鬼
我使用的系統是Centos 7
,首先我們要先把Centos 7加入AD,讓AD控管是方便處理帳號跟後續的規則設定。
進入正題 – 將系統加入 AD –
. 安裝需求套件:
1 | yum install -y samba samba-common samba-client samba-winbind* krb5-workstation ntp |
. 設定開機啟動:
1 | systemctl enable smb |
. 設定/etc/hosts:
1 | 123.123.123.123 myhost myhost.mydomain.com.tw |
. 執行 setup 比較方便,但 CentOS 7 預設沒裝,如果可以裝會比較好設定:
(如果不能裝,後面有詳細設定)
1 | yum install -y setuptool ntsysv system-config-network-tui system-config-firewall-tui authconfig |
. 修改 /etc/samba/smb.conf ,增加下列設定:
1 | encrypt passwords = yes |
. 修改 /etc/nsswitch.conf 設定,將 winbind 的順位放到 sss 前面:
1 | passwd: files winbind sss |
. 修改 /etc/pam.d/system-auth、/etc/pam.d/password-auth,增加下列設定:
1 | session required pam_mkhomedir.so |
※ 如果不能安裝setup 的設定如下:
vim /etc/samba.smb.conf
1 | [global] |
/etc/krb5.conf
1 | [libdefaults] |
. 修改 /etc/security/pam_winbind.conf,增加下列設定:
1 | require_membership_of = S-1-5-21-1111111111-1111111111-1111111111-111 |
. 增加 sudo 權限:# visudo(加入下列設定)
1 | %MYDOMAIN\\domain\ admins ALL=(ALL) NOPASSWD: ALL |
. 與AD校時,然後重新開機:
1 | ntpdate dc.mydomain.com.tw |
. 加入網域:
1 | net ads join -U ADMINS_USER_ID |
. 重啟主機
1 | reboot |
. 確認是否加入網域:
1 | net ads info (會看到 AD 的相關資訊) |
後言
裡面有些小東西需要配合當時環境做調整,完全照用應該是會有問題的,不過如果可以運到 UserID應該就沒甚麼問題了。
附註,因為這台跟有加入AD做關聯,所以該阻擋的防火牆 deny.host 要記得設定上去,不要發生漏洞了 (`・ω・´)