Linux下常用安全策略設定方法
1. 禁止系統響應任何從外部/內部來的ping請求
攻擊者一般首先通過ping命令檢測此主機或者IP是否處於活動狀態,如果能夠ping通 某個主機或者IP,那麼攻擊者就認為此係統處於活動狀態,繼而進行攻擊或破壞。如果沒有人能ping通機器並收到響應,那麼就可以大大增強伺服器的安全性,linux下可以執行如下設定,禁止ping請求:
[root@localhost ~]#echo “1”> /proc/sys/net/ipv4/icmp_echo_ignore_all
預設情況下“icmp_echo_ignore_all”的值為“0”,表示響應ping操作。
可以加上面的一行命令到/etc/rc.d/rc.local檔案中,以使每次系統重啟後自動執行。
2.禁止Control-Alt-Delete組合鍵重啟系統
在linux的預設設定下,同時按下Control-Alt-Delete鍵,系統將自動重啟,這是很不安全的,因此要禁止Control-Alt-Delete組合鍵重啟系統,只需修改/etc/inittab檔案:
[root@localhost ~]#vi /etc/inittab
找到此行:ca::ctrlaltdel:/sbin/shutdown -t3 -r now
在之前加上“#”
然後執行:
[root@localhost ~]#telinit q
3.限制Shell記錄歷史命令大小
預設情況下,bash shell會在檔案$HOME/.bash_history中存放多達1000條命令記錄(根據系統不同,預設記錄條數不同)。系統中每個使用者的主目錄下都有一個這樣的檔案。
這麼多的歷史命令記錄,肯定是不安全的,因此必須限制該檔案的大小。
可以編輯/etc/profile檔案,修改其中的選項如下:
HISTSIZE=30
表示在檔案$HOME/.bash_history中記錄最近的30條歷史命令。如果將“HISTSIZE”設定為0,則表示不記錄歷史命令,那麼也就不能用鍵盤的上下鍵查詢歷史命令了。
4.刪除系統預設的不必要使用者和組
Linux提供了各種系統賬戶,在系統安裝完畢,如果不需要某些使用者或者組,就要立即刪除它,因為賬戶越多,系統就越不安全,越容易受到攻擊。
刪除系統不必要的使用者用下面命令
[root@localhost ~]# userdel username
刪除系統不必要的組用如下命令:
[root@localhost ~]# groupdel groupname
Linux系統中可以刪除的預設使用者和組有:
刪除的使用者,如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的簡稱,是一種核心強制訪問控制安全系統,目前SELinux已經整合到Linux 2.6核心的主線和大多數Linux發行版上,由於SELinux與現有Linux應用程式和Linux核心模組相容性還存在一些問題,因此建議初學者先關閉selinux,等到對linux有了深入的認識後,再對selinux深入研究不遲!
檢視linux系統selinux是否啟用,可以使用getenforce命令:
[root@localhost ~]# getenforce
Disabled
關閉selinux,在redhat系列發行版中,可以直接修改如下檔案:
[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, 重啟系統後將會停止SElinux。
6.設定tcp_wrappers防火牆
Tcp_Wrappers是一個用來分析TCP/IP封包的軟體,類似的IP封包軟體還有iptables,linux預設都安裝了此軟體,作為一個安全的系統,Linux本身有兩層安全防火牆,通過IP過濾機制的iptables實現第一層防護,iptables防火牆通過直觀地監視系統的執行狀況,阻擋網路中的一些惡意攻擊,保護整個系統正常執行,免遭攻擊和破壞。關於iptables的實現,將在下個章節詳細講述。如果通過了第一層防護,那麼下一層防護就是tcp_wrappers了,通過Tcp_Wrappers可以實現對系統中提供的某些服務的開放與關閉、允許和禁止,從而更有效地保證系統安全執行。
Tcp_Wrappers的使用很簡單,僅僅兩個配置檔案:/etc/hosts.allow和/etc/hosts.deny
(1) 檢視系統是否安裝了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
如果有上面的類似輸出,表示系統已經安裝了tcp_wrappers模組。如果沒有顯示,可能是沒有安裝,可以從linux系統安裝盤找到對應RPM包進行安裝。
(2)tcp_wrappers防火牆的侷限性
系統中的某個服務是否可以使用tcp_wrappers防火牆,取決於該服務是否應用了libwrapped庫檔案,如果應用了就可以使用tcp_wrappers防火牆,系統中預設的一些服務如:sshd、portmap、sendmail、xinetd、vsftpd、tcpd等都可以使用tcp_wrappers防火牆。
(3) tcp_wrappers設定的規則
tcp_wrappers防火牆的實現是通過/etc/hosts.allow和/etc/hosts.deny兩個檔案來完成的,首先看一下設定的格式:
service:host(s) [:action]
service:代表服務名,例如sshd、vsftpd、sendmail等。
host(s):主機名或者IP地址,可以有多個,例如192.168.60.0、www.ixdba.net
action:動作, 符合條件後所採取的動作。
幾個關鍵字:
ALL:所有服務或者所有IP。
ALL EXCEPT:所有的服務或者所有IP除去指定的。
例如:ALL:ALL EXCEPT 192.168.60.132
表示除了192.168.60.132這臺機器,任何機器執行所有服務時或被允許或被拒絕。
瞭解了設定語法後,下面就可以對服務進行訪問限定。
例如網際網路上一臺linux伺服器,實現的目標是:僅僅允許222.90.66.4、61.185.224.66以及域名softpark.com通過SSH服務遠端登入到系統,設定如下:
首先設定允許登入的計算機,即配置/etc/hosts.allow檔案,設定很簡單,只要修改/etc/hosts.allow(如果沒有此檔案,請自行建立)這個檔案即可。
只需將下面規則加入/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檔案設定的規則的話,就會去使用hosts.deny檔案了,如果滿足hosts.deny的規則,此主機就被限制為不可訪問linux伺服器,如果也不滿足hosts.deny的設定,此主機預設是可以訪問linux伺服器的,因此,當設定好/etc/hosts.allow檔案訪問規則之後,只需設定/etc/hosts.deny為“所有計算機都不能登入狀態”即可。
sshd:ALL
這樣,一個簡單的tcp_wrappers防火牆就設定完畢了。
本文轉自南非螞蟻51CTO部落格,原文連結: http://blog.51cto.com/ixdba/526443,如需轉載請自行聯絡原作者
相關文章
- Linux下常用安全策略設定方法薦Linux
- MongoDB在Linux下常用優化設定MongoDBLinux優化
- IP安全策略設定(收藏)
- Linux賬戶密碼過期安全策略設定Linux密碼
- 如何讓win10安全策略恢復系統預設設定_win10安全策略重置的方法Win10
- Linux 下用 aMule 上 VeryCD 的設定方法(轉)Linux
- 常用PowerPoint動畫效果及設定方法動畫
- 行為驗證碼安全策略設定
- linux下設定telnetLinux
- linux下的PPPOE設定Linux
- linux下thunderbird字型設定Linux
- Linux下chrony對時設定Linux
- VMware下Linux如何設定ip?Linux
- 在linux下設定WWWServer(轉)LinuxServer
- Linux下的定時任務crontab設定Linux
- openGauss 設定檔案許可權安全策略
- PLSQL常用設定SQL
- linux系統設定IP的方法Linux
- Linux下設定靜態IP和獲取動態IP的方法Linux
- linux下的dns設定詳解LinuxDNS
- Linux下設定Oracle自啟動LinuxOracle
- linux下core檔案設定(轉)Linux
- Linux下設定靜態IP地址Linux
- linux下MySQL初始環境設定LinuxMySql
- ubuntu下crontab編輯方法的設定Ubuntu
- LINUX下安裝ORACLE的常用設定引數及環境變數說明LinuxOracle變數
- PL/SQL常用設定SQL
- Linux:設定時間與同步的方法Linux
- Linux系統的字型設定方法(轉)Linux
- Linux下設定redis訪問密碼LinuxRedis密碼
- linux下tomcat自啟動設定LinuxTomcat
- linux下core file size設定筆記Linux筆記
- linux下oracle設定環境變數LinuxOracle變數
- Ubuntu Linux下設定IP的配置命令UbuntuLinux
- Linux下fs.file-max 的設定Linux
- Linux下的閘道器設定(轉)Linux
- Linux網路安全策略Linux
- linux下常用軟體!Linux