第八章 系統安全及應用
前言:雖然說linux系統安全,高效,穩定,但如果平時不注意安全優化,也不會安全。本章將介紹賬戶安全,系統引導和登錄的安全,以及弱口令檢測,網絡掃描工具的使用+綜合實戰!
一、賬號安全控制
1、系統賬號清理
1)以下常見的非登錄用戶要確保不被人爲改動:
2) 各種非登錄賬戶中,還有一部分是很少用到的,如news,uucp,games,gopher,這些用戶可視爲冗餘賬號,直接刪除即可
3) 若不確定能否被刪除,可以暫時鎖定
4) 如果服務器中的賬戶已經固定,不再進行更改,還可以採用鎖定賬號配置文件的方法。
使用chattr命令,分別結合+i,-i來鎖定、解鎖。使用lsattr查看文件鎖定情況。
2、 密碼安全控制
1) 設置密碼有效期爲30天
修改配置文件,適合新建立的用戶,vi /etc/login.defs
使用命令:Chage -M 30 zhangsan,適用於已有的張三用戶
2) 設置用戶下次登錄時重設密碼
然後使用張三登錄終端
先輸入原密碼,然後再輸入兩次新密碼,注意複雜性。
3、 命令歷史,自動註銷
1) 修改配置文件,設置最多紀錄200條歷史命令,如果紀錄太多,容易泄露信息。
Vi /etc/profile,適用於新登錄的用戶
重啓系統或者執行source /etc/profile使之生效。
執行export HISTSIZE=10適用於當前的賬戶
2) 當用戶退出已登錄的bash環境後,清空歷史紀錄
vi ~/.bash_history
刪除一些不想讓別人看到的命令,保存並退出
執行history -c:清空本次留在緩存中的歷史命令
history -w :強制刷新緩存中的命令記錄到.bash_history 文件中
然後重啓之後重新登錄系統,執行history發現沒有歷史紀錄
3) 設置超時時間,指定時間沒有任何輸入就自動註銷。
Vi /etc/profile,適用於新登錄的用戶。
執行export TMOUT=10用於當前用戶(爲了測試方便,時間調10秒),10秒之內沒有任何輸入就退出系統。也可以使用unset TMOUT取消設置
二、 用戶切換與提權
1、 su命令:用來切換用戶,具有該用戶的所有權限。
1)su切換用戶
上圖的命令只切換用戶身份,不切換用戶環境,如果想切換身份的同時切換環境,需要在su後面加“-”,如下圖:
2) 允許個別用戶使用su命令進行切換,需要將授權使用su命令的用戶zhangsan添加到wheel組,
修改/etc/pam.d/su認證配置
Vi /etc/pam.d/su,去掉下圖中圈中的auth前面的#號。
重啓系統之後使用zhangsan登錄,執行su - root 可以正常切換,但是使用其他用戶提示密碼不正確,登錄失敗。
2、 sudo命令,提升執行權限,可以讓普通用戶擁有一部分管理權限,又不需要將root用戶的密碼告訴對方。
1) 在配置文件/etc/sudoers中添加授權
例如:授權用戶lisi能夠執行ifconfig命令修改ip地址,而wheel組的用戶不需要驗證密碼即可執行任何命令,可以執行以下操作。
執行命令:Visudo
2) 通過sudo命令測試特權命令
使用lisi登錄系統,執行/sbin/ifconfig eth0:0 192.168.1.1,提示失敗,權限不夠。
如果在命令前面加上sudo,執行成功
三、 系統引導和登錄控制
1、 開關機安全控制
1) 調整biso引導控制
將第一引導設備設置爲當前系統所在磁盤
禁止從光盤,u盤,網絡等引導系統(Disabled)
將bios設置好管理密碼。
2) 禁止ctrl+alt+del重啓系統系統
Vi /etc/init/control-alt-delete.conf
重啓系統之後,按ctrl+alt+del無法重啓系統(在終端中測試)
3) 限制更改grub引導參數
首先使用grub-md5-mcypt生成加密的密碼
然後修改配置文件,把密文添加到第一個title之前,如下圖:
重啓系統進入grub菜單,如果想修改引導參數,必須先按p輸入密碼,然後按e才能編輯引導參數
2、 終端及登錄控制
1) 減少開放的tty終端個數,禁用tty1,tty2,tty3
Vi /etc/init/start-ttys.conf
Vi /etc/sysconfig/init
注意兩個文件都需要更改
2)禁止root用戶從tty5和tty6終端登錄
Vi /etc/securetty
3)禁止普通用戶登錄,只需要建立/etc/nologin文件即可,如果恢復普通用戶登錄,刪除這個文件即可
Touch /etc/nologin
然後使用普通用戶登錄測試
四、 弱口令檢測和端口掃描
1、 弱口令探測(john the ripper)
1)下載並安裝
查看是否安裝成功
2) 檢測弱口令
查看密碼破解出的賬戶列表:
3) 使用密碼字典文件破解,默認的字典文件爲password.lst
首先清空破解出的賬戶列表
然後爲xiaoming用戶設置強密碼Pwd@123
把密碼寫在字典文件中:vi password.lst,也可以使用密碼字典生成工具生成密碼,然後再導入到password.lst文件中。
執行破解(破解之前需要重新拷貝shadow文件
2、網絡掃描(NMAP)
1)安裝NAMP軟件包
2) 針對本機進行掃描,檢查開放了哪些常用的tcp端口,udp端口
Filtered表示可能被防火牆過濾
3) 檢查哪些主機提供了ftp服務
4) 檢測192.168.0.0網段中有哪些存活主機(能ping通)
5) 檢測192.168.0.1-254主機是否開啓文件共享服務
綜合實戰演練:
實驗環境:
某公司新增了一臺企業級服務器,已安裝運行RHEL 6操作系統,由系統運維部、軟件開發部、技術服務部共同使用。由於用戶數量衆多,且使用時間不固定,要求針對賬號和登錄過程採取基本的安全措施。
需求描述:
1、允許radmin使用su命令進行切換,其他用戶一律禁止切換身份
2、授權zhangsan管理員工的賬號,但禁止其修改root用戶的信息
3、授權lisi能夠執行/sbin/,/usr/sbin目錄下的所有特權命令,不需要密碼驗證
4、所有的su、sudo操作,必須在系統日誌文件中進行記錄
5、禁止使用ctrl+alt+del快捷鍵,只開放tty3,tty5終端,爲grub引導菜單設置密碼
A、設置使用su命令
(1)修改認證文件/etc/pam.d/su,啓用pam_wheel.so認證模塊。
(2)將radmin用戶加入到wheel組。
(3)驗證除了root、radmin以外,其他用戶均不能使用su進行切換。
B、設置sudo授權
(1)授權用戶zhangsan使用useradd、userdel、passwd、usermod命令,但禁止其執行“passwd root”、“usermod * root”操作。(2)授權lisi用戶使用/sbin/*、/usr/sbin/*命令,添加NOPASSWD:以取消驗證。(3)添加“Defaults logfile”配置行,以啓用sudo日誌。
(4)分別以zhangsan、lisi用戶登錄,驗證授權的sudo操作,並查看日誌。
C、限制引導及登錄過程
(1)禁用Ctrl+Alt+Del熱鍵,禁用tty1、tty2、tty4、tty6這四個終端。
(2)在grub.conf文件中的第一個title行之前添加密碼配置。
(3)重啓後進入到GRUB菜單界面,驗證直接按e鍵已無法編輯引導參數