欧美激情网,国产欧美亚洲高清,欧美屁股xxxxx,欧美群妇大交群,欧美人与物ⅴideos另类,区二区三区在线 | 欧洲

知識學(xué)堂
  • ·聯(lián)系電話:+86.023-75585550
  • ·聯(lián)系傳真:+86.023-75585550
  • ·24小時手機:13896886023
  • ·QQ 咨 詢:361652718 513960520
當(dāng)前位置 > 首頁 > 知識學(xué)堂 > 網(wǎng)站建設(shè)知識
CentOS 5.5 系統(tǒng)安全配置
更新時間:2011-11-21 | 發(fā)布人:本站 | 點擊率:763

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

  1. vi /etc/passwd
  1. #adm
  2. #lp
  3. #sync
  4. #shutdown
  5. #halt
  6. #news
  7. #uucp
  8. #operator
  9. #games
  10. #gopher
  11. #ftp
  1. vi /etc/group
  1. #adm
  2. #lp
  3. #news
  4. #uucp
  5. #games
  6. #dip

2、給下面的文件加上不可更改屬性,從而防止非授權(quán)用戶獲得權(quán)限

  1. #chattr +i /etc/passwd
  2. #chattr +i /etc/shadow
  3. #chattr +i /etc/group
  4. #chattr +i /etc/gshadow

權(quán)限修改之后,就無法添加刪除用戶了。要取消之前的修改,

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

lsattr 只是顯示文件的屬性

  1. #chattr -i /etc/passwd
  2. #chattr -i /etc/shadow
  3. #chattr -i /etc/group
  4. #chattr -i /etc/gshadow

再次查看
lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow
————- /etc/passwd
————- /etc/shadow
————- /etc/group
————- /etc/gshadow
修改完之后,再執(zhí)行

  1. chattr +i /etc/passwd
  2. chattr +i/etc/shadow
  3. chattr +i /etc/group
  4. chattr +i/etc/gshadow

禁止Ctrl+Alt+Delete重新啟動機器命令

3、修改/etc/inittab文件,將”ca::ctrlaltdel:/sbin/shutdown-t3-rnow”一行注釋掉。

然后重新設(shè)置/etc/rc.d/init.d/目錄下所有文件的許可權(quán)限,運行如下命令:

  1. # chmod -R 700 /etc/rc.d/init.d/*

這樣便僅有root可以讀、寫或執(zhí)行上述所有腳本文件。

4、限制su命令

當(dāng)不想任何人能夠su作為root,可以編輯/etc/pam.d/su文件,增加如下兩行:

  1. auth sufficient /lib/security/pam_rootok.sodebug
  2. auth required /lib/security/pam_wheel.sogroup=isd

這時,僅isd組的用戶可以su作為root。此后,如果希望用戶admin能夠su作為root,可以運行如下命令:

  1. #usermod -G 10 admin

5、防止攻擊

1)阻止ping, 抵御SYN:
如果沒人能ping通系統(tǒng),安全性自然增加了,為此,我們可以在/etc/rc.d/rc.local文件中增加如下一行

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

SYN攻擊是利用TCP/IP協(xié)議3次握手的原理,發(fā)送大量的建立連接的網(wǎng)絡(luò)包,但不實際建立連接,最終導(dǎo)致被攻擊服務(wù)器的網(wǎng)絡(luò)隊列被占滿,無法被正常用戶訪問。
Linux內(nèi)核提供了若干SYN相關(guān)的配置,用命令:

  1. 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是一個開關(guān),是否打開SYN Cookie功能,該功能可以防止部分SYN攻擊。tcp_synack_retries和tcp_syn_retries定義SYN的重試次數(shù)。
加大SYN隊列長度可以容納更多等待連接的網(wǎng)絡(luò)連接數(shù),打開SYN Cookie功能可以阻止部分SYN攻擊,降低重試次數(shù)也有一定效果。
調(diào)整上述設(shè)置的方法是:
vi /etc/rc.d/rc.local ,將下面的命令法添加進去

  1. sysctl -w net.ipv4.tcp_max_syn_backlog=2048 #增加SYN隊列長度到2048
  2. sysctl -w net.ipv4.tcp_syncookies=1 #打開SYN COOKIE功能
  3. sysctl -w net.ipv4.tcp_synack_retries=3 #降低重試次數(shù)
  4. sysctl -w net.ipv4.tcp_syn_retries=3

2)防止IP欺騙
編輯host.conf文件并增加如下幾行來防止IP欺騙攻擊。

  1. order hosts,bind #名稱解釋順序
  2. multi on #允許主機擁有多個IP地址
  3. nospoof on #禁止IP地址欺騙

3)防止DoS攻擊
對系統(tǒng)所有的用戶設(shè)置資源限制可以防止DoS類型攻擊,如最大進程數(shù)和內(nèi)存使用數(shù)量等。
例如,可以在/etc/security/limits.conf中添加如下幾行:

  1. * hard core 0
  2. * hard rss 5000
  3. * hard nproc 20

然后必須編輯/etc/pam.d/login文件檢查下面一行是否存在。
session required /lib/security/pam_limits.so
4)修改sshd_config文件
首先修改配置文件 vi /etc/ssh/sshd_config
a 修改SSH端口
找到#Port 22一段,這里是標(biāo)識默認使用22端口,修改為如下:

  1. Port 22
  2. Port 50000

然后保存退出
執(zhí)行/etc/init.d/sshd restart
這樣SSH端口將同時工作與22和50000上。
現(xiàn)在編輯防火墻配置:vi /etc/sysconfig/iptables
啟用50000端口。
執(zhí)行/etc/init.d/iptables restart
現(xiàn)在請使用ssh工具連接50000端口,來測試是否成功。
如果連接成功了,則再次編輯sshd_config的設(shè)置,將里邊的Port22刪除,即可。
b 只使用SSH v2
將#Protocol 2,1改為 Protocol 2
c 限制用戶的SSH訪問
假設(shè)我們只要root,vivek和jerry用戶能通過SSH使用系統(tǒng),向sshd_config配置文件中添加:

  1. AllowUsers root vivek jerry

d 配置空閑超時退出時間間隔
用戶可以通過ssh登錄到服務(wù)器,你可以設(shè)置一個空閑超時時間間隔避免出現(xiàn)孤兒ssh會話,打開sshd_config配置文件,確保有如下的配置項:

  1. ClientAliveInterval 300
  2. ClientAliveCountMax 0

上面的例子設(shè)置的空閑超時時間間隔是300秒,即5分鐘,過了這個時間后,空閑用戶將被自動踢出出去(可以理解為退出登錄/注銷)。
e 禁用.rhosts文件
不要讀取用戶的~/.rhosts和~/.shosts文件,使用下面的設(shè)置更新sshd_config配置文件:
IgnoreRhosts yes
SSH可以模擬過時的rsh命令的行為,rsh被公認為是不安全的遠程訪問協(xié)議,因此必須得禁用掉。

6、限制不同文件的權(quán)限

  1. [root@localhost ~]# chmod 700 /usr/bin/
  2. [root@localhost ~]# chmod 750 /usr/bin/*++*
  3. [root@localhost ~]# chmod 750 /usr/bin/c++*
  4. [root@localhost ~]# chmod 750 /usr/bin/ld
  5. [root@localhost ~]# chmod 750 /usr/bin/as
  6. [root@localhost ~]# locate sqlaccess
  7. /opt/lampp/bin/mysqlaccess
  8. [root@localhost ~]# chmod 755 /opt/lampp/bin/mysqlaccess
  9. [root@localhost ~]# chattr +a .bash_history
  10. [root@localhost ~]# chattr +i .bash_history
  11. [root@localhost ~]# chmod 700 /bin/ping
  12. [root@localhost ~]# chmod 700 /usr/bin/finger
  13. [root@localhost ~]# chmod 700 /usr/bin/who
  14. [root@localhost ~]# chmod 700 /usr/bin/w
  15. [root@localhost ~]# chmod 700 /usr/bin/locate
  16. [root@localhost ~]# chmod 700 /usr/bin/whereis
  17. [root@localhost ~]# chmod 700 /usr/bin/vim
  18. [root@localhost ~]# chmod 700 /usr/bin/make
  19. [root@localhost ~]# chmod 700 /bin/netstat
  20. [root@localhost ~]# chmod 700 /usr/bin/tail
  21. [root@localhost ~]# chmod 700 /usr/bin/less
  22. [root@localhost ~]# chmod 700 /usr/bin/head
  23. [root@localhost ~]# chmod 700 /bin/cat
  24. [root@localhost ~]# chmod 700 /bin/uname
  25. [root@localhost ~]# chmod 500 /bin/ps
  26. [root@localhost ~]# chmod 500 /usr/sbin/lsof