在linux服務器隨處可見的網絡環境中,網絡運維人員保障Linux安全就成了必要條件。當然現在有很多的硬件防火墻以及WAF,但是那不是小資企業可以hold住的,本文從軟件以及服務配置方面簡單總結Linux安全防護。
SELinux是用來對Linux進行安全加固的,它可以讓你指定誰可以增加文件,誰只可以刪除文件,或者誰還可以移動文件,從文件的層次上來說,它相當于一個ACL;
配置文件:/etc/selinux/config (centos7系統)
狀態:getenforce 與 setenforce命令可以修改
查看文件標簽:ls -Z
在文件所屬組的后面就是我們文件的標簽,它表示SELinux對這個文件的策略
修改策略:chcon與semanage
恢復文件標簽:restorecon
常見場景分析:
當我們需要配置一個Web目錄時,如果Web目錄不是默認的目錄,訪問可能出現403
這個時候,我們需要將我們的Web目錄的標簽修改為httpd_sys_content_t
Iptables是一個應用框架,它允許用戶為自己系統建立一個強大的防火墻。它是用來設置、維護和檢查Linux內核中IP包過濾規則的。
配置文件:/etc/sysconfig/iptables-config (centos7系統)
這里貼出一個在博客園的關于iptables的使用:
http://www.cnblogs.com/JemBai/archive/2009/03/19/1416364.html
在centos7中,防火墻具備很強的軟件防護功能,在默認程度上:
默認開啟了dhcpv6客戶端以及ssh防火墻功能;
防火墻具備很多功能,同時他具備圖形界面與命令行界面兩種模式,對于基本的防火墻配置,個人推薦使用命令行模式,當我們需要配置一些負責的規則策略時,就可以使用我們的圖形界面:
IDS:入侵檢測系統,在linux中有針對它的開源的入侵檢測系統:Snort;
盡可能的取消telnet登錄,采用ssh進行登錄;
ssh配置文件:/etc/ssh/sshd_config
在我們的Linux系統中有很多用戶不需要的服務和應用,然而這些服務還是會運行,這樣會導致攻擊者利用這些服務的漏洞來進行攻擊,最好的辦法就是停止這些服務。
比如我們的Linux服務器只是一臺Web服務器,那么就不需要ftp、smtp等服務我們就可以關閉;當然我們也可以讓服務不允許通過防火墻,這樣通過防火墻來保護我們的服務器也可以。
任務 | 舊指令 | 新指令 |
---|---|---|
使某服務自動啟動 | chkconfig --level 3 httpd on | systemctl enable httpd.service |
使某服務不自動啟動 | chkconfig --level 3 httpd off | systemctl disable httpd.service |
檢查服務狀態 | service httpd status | systemctl status?httpd.service(服務詳細信息)?systemctl is-active httpd.service(僅顯示是否 Active) |
顯示所有已啟動的服務 | chkconfig --list | systemctl list-units --type=service |
啟動某服務 | service httpd start | systemctl start httpd.service |
停止某服務 | service httpd stop | systemctl stop httpd.service |
重啟某服務 | service httpd restart | systemctl restart httpd.service |
在linux系統中,系統運行所必須的服務
服務名稱 | 說明 |
---|---|
acpid | 用于電源管理,對于筆記本和臺式電腦很重要 |
apmd | 高級電源能源管理服務,可用于監控電腦 |
kudzu | 檢測硬件是否變化的服務 |
crond | 為Linux下自動安排的進程提供運行服務 |
iptables/firewall | Linux內置的防火墻 |
xinetd | 支持多種網絡服務的核心守護進程 |
syslog | 記錄系統的日志服務 |
network | 網絡服務,要用網必須啟動這個服務 |
同時,一臺新的Linux操作系統中有很多我們用不到的角色用戶,我們同樣可以刪除這些用戶,或者將這些用戶設置為不能登錄系統;
可被刪除的用戶:adm、lp、sync、shutdown、halt、operator、games
可被刪除的用戶組:adm、lp、games、dip等;
當然具體的需要還是要根據用戶的選擇,同時我們也可以修改用戶的bash文件禁止用戶登錄系統也是防護方式的一種。
#!bash
usermod -s /sbin/nologin username
加密的數據更難被竊取,在安裝Linux系統的時候我們可以對整個系統進行加密,采用這種方式,即使有人進入了我們的系統,也不能得到我們的數據;
提供Web服務時,需要更新我們組件的補丁,防止利用已知漏洞來進行攻擊;
嚴格限制權限,防止得到Web Shell以后直接得到系統權限;
限制Web用戶只能訪問Web目錄,不能訪問其他目錄;
嚴格控制提供上傳點的文件類型
等等
使用su 與 sudo命令時:
這里是指定可以使用su命令的用戶
注意紅色圈起來的一行,就是啟用pam_shell
認證,這個時候沒有加入wheel的用戶就不能使用su命令了!
對于sudo的一些配置vim /etc/sudoers
在centos7中,如果你不想修改原來的配置文件,你可以將這一行includedir /etc/sudoers.d
的注釋去掉,然后在/etc/sudoers.d/
目錄下寫我們的配置文件
刪除提示信息
在linux的4個文件中存在提示系統的一些信息:
未完待續~~~