Linux下常用安全策略設置方法有哪些
Linux繼承了Unix以網(wǎng)絡為核心的設計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡操作系統(tǒng)。其中安全問題也是一大關鍵,那么Linux下常用安全策略設置方法有哪些呢?如何設置Linux下常用安全策略?需要的朋友可以參考下
方法步驟
1. 禁止系統(tǒng)響應任何從外部/內部來的ping請求攻擊者一般首先通過ping命令檢測此主機或者IP是否處于活動狀態(tài),如果能夠ping通 某個主機或者IP,那么攻擊者就認為此系統(tǒng)處于活動狀態(tài),繼而進行攻擊或破壞。如果沒有人能ping通機器并收到響應,那么就可以大大增強服務器的安全性,linux下可以執(zhí)行如下設置,禁止ping請求:
[root@localhost ~]#echo “1”> /proc/sys/net/ipv4/icmp_echo_ignore_all默認情況下“icmp_echo_ignore_all”的值為“0”,表示響應ping操作。
可以加上面的一行命令到/etc/rc.d/rc.local文件中,以使每次系統(tǒng)重啟后自動運行。
2.禁止Control-Alt-Delete組合鍵重啟系統(tǒng)
在linux的默認設置下,同時按下Control-Alt-Delete鍵,系統(tǒng)將自動重啟,這是很不安全的,因此要禁止Control-Alt-Delete組合鍵重啟系統(tǒng),只需修改/etc/inittab文件:
復制代碼代碼如下:
[root@localhost ~]#vi /etc/inittab
找到此行:ca::ctrlaltdel:/sbin/shutdown -t3 -r now在之前加上“#”
然后執(zhí)行:
復制代碼代碼如下:
[root@localhost ~]#telinit q
3.限制Shell記錄歷史命令大小
默認情況下,bash shell會在文件$HOME/.bash_history中存放多達1000條命令記錄(根據(jù)系統(tǒng)不同,默認記錄條數(shù)不同)。系統(tǒng)中每個用戶的主目錄下都有一個這樣的文件。
這么多的歷史命令記錄,肯定是不安全的,因此必須限制該文件的大小。
可以編輯/etc/profile文件,修改其中的選項如下:
HISTSIZE=30
表示在文件$HOME/.bash_history中記錄最近的30條歷史命令。如果將“HISTSIZE”設置為0,則表示不記錄歷史命令,那么也就不能用鍵盤的上下鍵查找歷史命令了。
4.刪除系統(tǒng)默認的不必要用戶和組
Linux提供了各種系統(tǒng)賬戶,在系統(tǒng)安裝完畢,如果不需要某些用戶或者組,就要立即刪除它,因為賬戶越多,系統(tǒng)就越不安全,越容易受到攻擊。
刪除系統(tǒng)不必要的用戶用下面命令
復制代碼代碼如下:
[root@localhost ~]# userdel username
刪除系統(tǒng)不必要的組用如下命令:
復制代碼代碼如下:
[root@localhost ~]# groupdel groupname
Linux系統(tǒng)中可以刪除的默認用戶和組有:
刪除的用戶,如adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher等。
刪除的組,如adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers等。
5. 關閉selinux
SELinux是 Security-Enhanced Linux的簡稱,是一種內核強制訪問控制安全系統(tǒng),目前SELinux已經(jīng)集成到Linux 2.6內核的主線和大多數(shù)Linux發(fā)行版上,由于SELinux與現(xiàn)有Linux應用程序和Linux內核模塊兼容性還存在一些問題,因此建議初學者先關閉selinux,等到對linux有了深入的認識后,再對selinux深入研究不遲!
查看linux系統(tǒng)selinux是否啟用,可以使用getenforce命令:
復制代碼代碼如下:
[root@localhost ~]# getenforce
Disabled
關閉selinux,在redhat系列發(fā)行版中,可以直接修改如下文件:
復制代碼代碼如下:
[root@localhost ~]#vi /etc/sysconfig/selinux# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
將SELINUX=enforcing修改為SELINUX=disabled, 重啟系統(tǒng)后將會停止SElinux。
6.設定tcp_wrappers防火墻
Tcp_Wrappers是一個用來分析TCP/IP封包的軟件,類似的IP封包軟件還有iptables,linux默認都安裝了此軟件,作為一個安全的系統(tǒng),Linux本身有兩層安全防火墻,通過IP過濾機制的iptables實現(xiàn)第一層防護,iptables防火墻通過直觀地監(jiān)視系統(tǒng)的運行狀況,阻擋網(wǎng)絡中的一些惡意攻擊,保護整個系統(tǒng)正常運行,免遭攻擊和破壞。關于iptables的實現(xiàn),將在下個章節(jié)詳細講述。如果通過了第一層防護,那么下一層防護就是tcp_wrappers了,通過Tcp_Wrappers可以實現(xiàn)對系統(tǒng)中提供的某些服務的開放與關閉、允許和禁止,從而更有效地保證系統(tǒng)安全運行。
Tcp_Wrappers的使用很簡單,僅僅兩個配置文件:/etc/hosts.allow和/etc/hosts.deny(1) 查看系統(tǒng)是否安裝了Tcp_Wrappers
[root@localhost ~]#rpm -q tcp_wrappers 或者[root@localhost ~]#rpm -qa | grep tcp
tcp_wrappers-7.6-37.2
tcpdump-3.8.2-10.RHEL4
如果有上面的類似輸出,表示系統(tǒng)已經(jīng)安裝了tcp_wrappers模塊。如果沒有顯示,可能是沒有安裝,可以從linux系統(tǒng)安裝盤找到對應RPM包進行安裝。
(2)tcp_wrappers防火墻的局限性
系統(tǒng)中的某個服務是否可以使用tcp_wrappers防火墻,取決于該服務是否應用了libwrapped庫文件,如果應用了就可以使用tcp_wrappers防火墻,系統(tǒng)中默認的一些服務如:sshd、portmap、sendmail、xinetd、vsftpd、tcpd等都可以使用tcp_wrappers防火墻。
(3) tcp_wrappers設定的規(guī)則
tcp_wrappers防火墻的實現(xiàn)是通過/etc/hosts.allow和/etc/hosts.deny兩個文件來完成的,首先看一下設定的格式:
service:host(s) [:action]
l service:代表服務名,例如sshd、vsftpd、sendmail等。
l host(s):主機名或者IP地址,可以有多個,例如192.168.60.0 action:動作, 符合條件后所采取的動作。
幾個關鍵字:
l ALL:所有服務或者所有IP。
l ALL EXCEPT:所有的服務或者所有IP除去指定的。
例如:ALL:ALL EXCEPT 192.168.60.132
表示除了192.168.60.132這臺機器,任何機器執(zhí)行所有服務時或被允許或被拒絕。
了解了設定語法后,下面就可以對服務進行訪問限定。
例如互聯(lián)網(wǎng)上一臺linux服務器,實現(xiàn)的目標是:僅僅允許222.90.66.4、61.185.224.66以及域名softpark.com通過SSH服務遠程登錄到系統(tǒng),設置如下:
首先設定允許登錄的計算機,即配置/etc/hosts.allow文件,設置很簡單,只要修改/etc/hosts.allow(如果沒有此文件,請自行建立)這個文件即可。
只需將下面規(guī)則加入/etc/hosts.allow即可。
sshd: 222.90.66.4 61.185.224.66 softpark.com接著設置不允許登錄的機器,也就是配置/etc/hosts.deny文件了。
一般情況下,linux會首先判斷/etc/hosts.allow這個文件,如果遠程登錄的計算機滿足文件/etc/hosts.allow設定的話,就不會去使用/etc/hosts.deny文件了,相反,如果不滿足hosts.allow文件設定的規(guī)則的話,就會去使用hosts.deny文件了,如果滿足hosts.deny的規(guī)則,此主機就被限制為不可訪問linux服務器,如果也不滿足hosts.deny的設定,此主機默認是可以訪問linux服務器的,因此,當設定好/etc/hosts.allow文件訪問規(guī)則之后,只需設置/etc/hosts.deny為“所有計算機都不能登錄狀態(tài)”即可。
sshd:ALL
這樣,一個簡單的tcp_wrappers防火墻就設置完畢了。
補充:Linux基本命令
1.ls命令:
格式::ls [選項] [目錄或文件]
功能:對于目錄,列出該目錄下的所有子目錄與文件;對于文件,列出文件名以及其他信息。
常用選項:
-a :列出目錄下的所有文件,包括以 . 開頭的隱含文件。
-d :將目錄像文件一樣顯示,而不是顯示其他文件。
-i :輸出文件的i節(jié)點的索引信息。
-k :以k字節(jié)的形式表示文件的大小。
-l :列出文件的詳細信息。
-n :用數(shù)字的UID,GID代替名稱。
-F : 在每個文件名后面附上一個字符以說明該文件的類型,“*”表示可執(zhí)行的普通文 件;“/”表示目錄;“@”表示符號鏈接;“l”表示FIFOS;“=”表示套接字。
2.cd命令
格式:cd [目錄名稱]
常用選項:
cd .. 返回上一級目錄。
cd ../.. 將當前目錄向上移動兩級。
cd - 返回最近訪問目錄。
3.pwd命令
格式: pwd
功能:顯示出當前工作目錄的絕對路徑。
相關閱讀:Linux主要特性
完全兼容POSIX1.0標準
這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。
多用戶、多任務
Linux支持多用戶,各個用戶對于自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現(xiàn)在電腦最主要的一個特點,Linux可以使多個程序同時并獨立地運行。
良好的界面
Linux同時具有字符界面和圖形界面。在字符界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統(tǒng),用戶可以使用鼠標對其進行操作。在X-Window環(huán)境中就和在Windows中相似,可以說是一個Linux版的Windows。
支持多種平臺
Linux可以運行在多種硬件平臺上,如具有x86、680x0、SPARC、Alpha等處理器的平臺。此外Linux還是一種嵌入式操作系統(tǒng),可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發(fā)布的Linux 2.4版內核已經(jīng)能夠完全支持Intel 64位芯片架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統(tǒng)性能大大提高。
Linux下常用安全策略設置相關文章: