Linux基本防護措施

1.Linux基本防護措施
問題
本案例要求練習Linux系統的基本防護措施,完成以下任務:
1)禁止普通用戶使用reboot、halt、poweroff程序
2)修改用戶zhangsan的賬號屬性,設置爲2015-12-31日失效(禁止登錄)
3)鎖定用戶lisi的賬戶,使其無法登錄,驗證效果後解除鎖定
4)鎖定文件/etc/resolv.conf、/etc/hosts,以防止其內容被無意中修改
5)修改tty終端提示,使得登錄前看到的第一行文本爲“Windows Server 2012 Enterprise R2”,第二行文本爲“NT 6.2 Hybrid”
步驟
實現此案例需要按照如下步驟進行。
步驟一:禁止普通用戶使用reboot、halt、poweroff程序
1)測試默認的控制檯程序權限
Linux系統的ConsoleHelper機制允許普通用戶執行一部分特權程序,以方便用戶使用Linux主機。比方說,普通用戶(如zengye)登錄後,可以執行reboot來重啓Linux系統,也可以執行poweroff來關閉系統。
默認情況下,這些控制檯程序的配置放在/etc/security/console.apps/目錄下:
[root@svr5 ~]# ls /etc/security/console.apps/
authconfig halt subscription-manager system-config-keyboard
authconfig-gtk poweroff subscription-manager-gui system-config-network
authconfig-tui reboot system-config-authentication system-config-network-cmd
config-util rhn_register system-config-date system-config-users
eject setup system-config-kdump xserver
2)禁止個別高風險的控制檯程序
只要從/etc/security/console.apps/目錄下移除reboot、halt、power命令配置,普通用戶就會失去對這些程序的執行權限。
使用tar命令將這些文件歸檔備份,結合–remove選項可以在完成打包後將被歸檔的文件刪除:
[root@svr5 ~]# cd /etc/security/console.apps/
[root@svr5 console.apps]# tar zcpvf pw-app.tgz reboot halt poweroff --remove
reboot
halt
poweroff
確認移除結果:
[root@svr5 console.apps]# ls reboot halt poweroff
ls: 無法訪問reboot: 沒有那個文件或目錄
ls: 無法訪問halt: 沒有那個文件或目錄
ls: 無法訪問poweroff: 沒有那個文件或目錄
3)測試調整結果
再次以普通用戶執行reboot等程序時,將不起作用:
[zengye@localhost ~]$ which reboot
/usr/bin/reboot
[zengye@localhost ~]$ reboot
[zengye@localhost ~]$
步驟二:修改用戶zhangsan的賬戶屬性,設置爲2015-12-31日失效(禁止登錄)
1)未過期的用戶賬號可以正常登錄
以用戶zhangsan登錄測試。
2)失效的用戶將無法登錄
使用chage命令將用戶zhangsan的賬戶設爲當前已失效(比如前一天):
[root@svr5 ~]# date
2015年 05月 16日 星期六 14:16:25 CST
[root@svr5 ~]# chage -E 2015-05-15 zhangsan //設爲當日的前一天
嘗試以用戶zhangsan重新登錄,輸入正確的用戶名、密碼後直接閃退,返回登錄頁,說明此帳號已失效。
3)重設用戶zhangsan的屬性,將失效時間設爲2015-12-31
[root@svr5 ~]# chage -E 2015-12-31 zhangsan //修改失效日期
[root@svr5 ~]# chage -l zhangsan //查看賬戶年齡信息
Last password change : May 15, 2015
Password expires : never
Password inactive : never
Account expires : Dec 31, 2015
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
步驟三:鎖定用戶lisi的賬戶,使其無法登錄,驗證效果後解除鎖定
1)未鎖定的用戶賬號可以正常登錄
以用戶lisi登錄測試。
2)鎖定用戶賬號
使用passwd或usermod命令將用戶lisi的賬戶鎖定。
[root@svr5 ~]# passwd -l lisi //鎖定用戶賬號
鎖定用戶 lisi 的密碼 。
passwd: 操作成功

[root@svr5 ~]# passwd -S lisi //查看狀態
lisi LK 2013-08-14 0 99999 7 -1 (密碼已被鎖定。)
3)驗證用戶lisi已無法登錄,說明鎖定生效
輸入正確的用戶名、密碼,始終提示“Login incorrect”,無法登錄。
4)解除對用戶lisi的鎖定
[root@svr5 ~]# passwd -u lisi //解鎖用戶賬號
解鎖用戶 lisi 的密碼 。
passwd: 操作成功

[root@svr5 ~]# passwd -S lisi //查看狀態
lisi PS 2013-08-14 0 99999 7 -1 (密碼已設置,使用 SHA512 加密。)
步驟四:鎖定文件/etc/resolv.conf、/etc/hosts
1)使用chattr鎖定文件,lsattr確認結果
[root@svr5 ~]# chattr +i /etc/resolv.conf /etc/hosts
[root@svr5 ~]# lsattr /etc/resolv.conf /etc/hosts
----i--------e- /etc/resolv.conf
----i--------e- /etc/hosts
2)測試文件鎖定效果
[root@svr5 ~]# rm -rf /etc/resolv.conf
rm: 無法刪除"/etc/resolv.conf": 不允許的操作
[root@svr5 ~]# echo “192.168.4.1 gateway.tarena.com” >> /etc/hosts
bash: /etc/hosts: 權限不夠
3)恢復這兩個文件原有的屬性(避免對後續實驗造成影響)
[root@svr5 ~]# chattr -i /etc/resolv.conf /etc/hosts
[root@svr5 ~]# lsattr /etc/resolv.conf /etc/hosts
-------------e- /etc/resolv.conf
-------------e- /etc/hosts
注意:使用passwd鎖定用戶賬號時,會在/etc/shadow文件中的密碼字段上增加兩個感嘆號,而usermod鎖定只增加一個歎號。因此,對於使用passwd鎖定的賬號,如果用usermod去解鎖的話,得解除兩次。
步驟五:修改tty登錄的提示信息,隱藏系統版本
1)備份原有的/etc/issue配置文件,然後按照要求改寫內容
[root@svr5 ~]# cat /etc/issue //確認原始文件
Red Hat Enterprise Linux Server release 6.5 (Santiago)
Kernel \r on an \m

[root@svr5 ~]# cp /etc/issue /etc/issue.origin //備份文件

[root@svr5 ~]# vim /etc/issue //修改文件內容
Windows Server 2012 Enterprise R2
NT 6.2 Hybrid
2)測試版本僞裝效果
退出已登錄的tty終端,或者重啓Linux系統,刷新後的終端提示信息會變成自定義的文本內容,如圖-1所示。
在這裏插入圖片描述
圖-1

發佈了225 篇原創文章 · 獲贊 196 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章