CentOS 系統安全配置

2021-08-31 15:38:58 字數 4711 閱讀 7315

centos 系統安全配置

1、注釋掉不需要的使用者和使用者組

2、給下面的檔案加上不可更改屬性,從而防止非授權使用者獲得許可權

3、遮蔽 ctrl+alt+del

4、限制su命令

5、防止攻擊

6、限制不同檔案的許可權

1、注釋掉不需要的使用者和使用者組

vi /etc/passwd

#adm

#lp#sync

#shutdown

#halt

#news

#uucp

#operator

#games

#gopher

#ftp

vi /etc/group

#adm

#lp#news

#uucp

#games

#dip

2、給下面的檔案加上不可更改屬性,從而防止非授權使用者獲得許可權

#chattr +i /etc/passwd

#chattr +i /etc/shadow

#chattr +i /etc/group

#chattr +i /etc/gshadow

許可權修改之後,就無法新增刪除使用者了。要取消之前的修改,

#lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow

lsattr 只是顯示檔案的屬性

#chattr -i /etc/passwd

#chattr -i /etc/shadow

#chattr -i /etc/group

#chattr -i /etc/gshadow

再次檢視

lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow

————- /etc/passwd

————- /etc/shadow

————- /etc/group

————- /etc/gshadow

修改完之後,再執行

chattr +i /etc/passwd

chattr +i/etc/shadow

chattr +i /etc/group

chattr +i/etc/gshadow

禁止ctrl+alt+delete重新啟動機器命令

3、修改/etc/inittab檔案,將」ca::ctrlaltdel:/sbin/shutdown-t3-rnow」一行注釋掉。

然後重新設定/etc/rc.d/init.d/目錄下所有檔案的許可許可權,執行如下命令:

# chmod -r 700 /etc/rc.d/init.d/*

這樣便僅有root可以讀、寫或執行上述所有指令碼檔案。

4、限制su命令

auth sufficient /lib/security/pam_rootok.so debug

auth required /lib/security/pam_wheel.so group=wheel

這時,僅wheel組(sid=10)的使用者可以su作為root。此後,如果希望使用者admin能夠su作為root,可以執行如下命令:

#usermod -g 10 admin

5、防止攻擊

1)阻止ping, 抵禦syn:

如果沒人能ping通系統,安全性自然增加了,為此,我們可以在/etc/rc.d/rc.local檔案中增加如下一行

echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all

syn攻擊是利用tcp/ip協議3次握手的原理,傳送大量的建立連線的網路包,但不實際建立連線,最終導致被攻擊伺服器的網路佇列被佔滿,無法被正常使用者訪問。

sysctl -a | grep syn

看到:net.ipv4.tcp_max_syn_backlog = 1024

net.ipv4.tcp_syncookies = 0

net.ipv4.tcp_synack_retries = 5

net.ipv4.tcp_syn_retries = 5

tcp_max_syn_backlog是syn佇列的長度,tcp_syncookies是乙個開關,是否開啟syn cookie功能,該功能可以防止部分syn攻擊。tcp_synack_retries和tcp_syn_retries定義syn的重試次數。

加大syn佇列長度可以容納更多等待連線的網路連線數,開啟syn cookie功能可以阻止部分syn攻擊,降低重試次數也有一定效果。

調整上述設定的方法是:

vi /etc/rc.d/rc.local ,將下面的命令法新增進去

sysctl -w net.ipv4.tcp_max_syn_backlog=2048 #增加syn佇列長度到2048

sysctl -w net.ipv4.tcp_syncookies=1 #開啟syn cookie功能

sysctl -w net.ipv4.tcp_synack_retries=3 #降低重試次數

sysctl -w net.ipv4.tcp_syn_retries=3

2)防止ip欺騙

編輯host.conf檔案並增加如下幾行來防止ip欺騙攻擊。

order hosts,bind #名稱解釋順序

multi on #允許主機擁有多個ip位址

nospoof on #禁止ip位址欺騙

3)防止dos攻擊

對系統所有的使用者設定資源限制可以防止dos型別攻擊,如最大程序數和記憶體使用數量等。

例如,可以在/etc/security/limits.conf中新增如下幾行:

* hard core 0

* hard rss 5000

* hard nproc 20

session required /lib/security/pam_limits.so

4)修改sshd_config檔案

首先修改配置檔案 vi /etc/ssh/sshd_config

a 修改ssh埠

找到#port 22一段,這裡是標識預設使用22埠,修改為如下:

port 22

port 50000

然後儲存退出

執行/etc/init.d/sshd restart

這樣ssh埠將同時工作與22和50000上。

啟用50000埠。

執行/etc/init.d/iptables restart

現在請使用ssh工具連線50000埠,來測試是否成功。

如果連線成功了,則再次編輯sshd_config的設定,將裡邊的port22刪除,即可。

b 只使用ssh v2

將#protocol 2,1改為 protocol 2

c 限制使用者的ssh訪問

假設我們只要root,vivek和jerry使用者能通過ssh使用系統,向sshd_config配置檔案中新增:

allowusers root vivek jerry

d 配置空閒超時退出時間間隔

使用者可以通過ssh登入到伺服器,你可以設定乙個空閒超時時間間隔避免出現孤兒ssh會話,開啟sshd_config配置檔案,確保有如下的配置項:

clientaliveinterval 300

clientalivecountmax 0

上面的例子設定的空閒超時時間間隔是300秒,即5分鐘,過了這個時間後,空閒使用者將被自動踢出出去(可以理解為退出登入/登出)。

e 禁用.rhosts檔案

不要讀取使用者的~/.rhosts和~/.shosts檔案,使用下面的設定更新sshd_config配置檔案:

ignorerhosts yes

ssh可以模擬過時的rsh命令的行為,rsh被公認為是不安全的遠端訪問協議,因此必須得禁用掉。

6、限制不同檔案的許可權

# chmod 700 /usr/bin/

# chmod 750 /usr/bin/*++*

# chmod 750 /usr/bin/c++*

# chmod 750 /usr/bin/ld

# chmod 750 /usr/bin/as

# locate sqlaccess

/opt/lampp/bin/mysqlaccess

# chmod 755 /opt/lampp/bin/mysqlaccess

# chattr +a .bash_history

# chattr +i .bash_history

# chmod 700 /bin/ping

# chmod 700 /usr/bin/finger

# chmod 700 /usr/bin/who

# chmod 700 /usr/bin/w

# chmod 700 /usr/bin/locate

# chmod 700 /usr/bin/whereis

# chmod 700 /usr/bin/vim

# chmod 700 /usr/bin/make

# chmod 700 /bin/netstat

# chmod 700 /usr/bin/tail

# chmod 700 /usr/bin/less

# chmod 700 /usr/bin/head

# chmod 700 /bin/cat

# chmod 700 /bin/uname

# chmod 500 /bin/ps

# chmod 500 /usr/sbin/lsof

**:

CentOS 5 5 系統安全配置

vi etc passwd adm lp sync shutdown halt news uucp operator games gopher ftp vi etc group adm lp news uucp games dip chattr i etc passwd chattr i etc s...

CentOS 7系統安全之賬號安全

在 linux 系統中,除了超級使用者 root 之外,還有其他大量賬號只是用來維護系統運作 啟動或保持服務程序,一般是不允許登入的,因此也稱為非登入使用者賬號。為了確保系統的安全,這些使用者賬號的登入 shell 通常被設為 sbin nologin,表示禁止終端登入。對於 linux 伺服器中長...

iptables配置 Linux系統安全防火牆

iptables是用來設定 維護和檢查linux核心的ip分組過濾規則的。作為linux下的一款防火牆,它的功能十分強大,它有3個表,每個表內有規則鏈。iptables是用來設定 維護和檢查linux核心的ip分組過濾規則的。作為linux下的一款防火牆,它的功能十分強大,它有3個表,每個表內有規則...