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/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重新啟動機器命令
然後重新設定/etc/rc.d/init.d/目錄下所有檔案的許可許可權,執行如下命令:
# chmod -r 700 /etc/rc.d/init.d/*
這樣便僅有root可以讀、寫或執行上述所有指令碼檔案。
auth sufficient /lib/security/pam_rootok.sodebug
auth required /lib/security/pam_wheel.sogroup=isd
這時,僅isd組的使用者可以su作為root。此後,如果希望使用者admin能夠su作為root,可以執行如下命令:
#usermod -g 10 admin
1)阻止ping, 抵禦syn:
如果沒人能ping通系統,安全性自然增加了,為此,我們可以在/etc/rc.d/rc.local檔案中增加如下一行
echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all
syn攻擊是利用tcp/ip協議3次握手的原理,傳送大量的建立連線的網路包,但不實際建立連線,最終導致被攻擊伺服器的網路佇列被佔滿,無法被正常使用者訪問。
linux核心提供了若干syn相關的配置,用命令:
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
port 22
port 50000
然後儲存退出
執行/etc/init.d/sshd restart
這樣ssh埠將同時工作與22和50000上。
現在編輯防火牆配置:vi /etc/sysconfig/iptables
啟用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被公認為是不安全的遠端訪問協議,因此必須得禁用掉。
[root@localhost ~]# chmod 700 /usr/bin/
[root@localhost ~]# chmod 750 /usr/bin/*++*
[root@localhost ~]# chmod 750 /usr/bin/c++*
[root@localhost ~]# chmod 750 /usr/bin/ld
[root@localhost ~]# chmod 750 /usr/bin/as
[root@localhost ~]# locate sqlaccess
/opt/lampp/bin/mysqlaccess
[root@localhost ~]# chmod 755 /opt/lampp/bin/mysqlaccess
[root@localhost ~]# chattr +a .bash_history
[root@localhost ~]# chattr +i .bash_history
[root@localhost ~]# chmod 700 /bin/ping
[root@localhost ~]# chmod 700 /usr/bin/finger
[root@localhost ~]# chmod 700 /usr/bin/who
[root@localhost ~]# chmod 700 /usr/bin/w
[root@localhost ~]# chmod 700 /usr/bin/locate
[root@localhost ~]# chmod 700 /usr/bin/whereis
[root@localhost ~]# chmod 700 /usr/bin/vim
[root@localhost ~]# chmod 700 /usr/bin/make
[root@localhost ~]# chmod 700 /bin/netstat
[root@localhost ~]# chmod 700 /usr/bin/tail
[root@localhost ~]# chmod 700 /usr/bin/less
[root@localhost ~]# chmod 700 /usr/bin/head
[root@localhost ~]# chmod 700 /bin/cat
[root@localhost ~]# chmod 700 /bin/uname
[root@localhost ~]# chmod 500 /bin/ps
[root@localhost ~]# chmod 500 /usr/sbin/lsof
0==表示盡可能利用swap交換區,100==表示盡可能利用記憶體,一般值60即可
CentOS5 5系統安裝
最近一段時間在折騰linux,今天搞了一天終於搭建成功,其中遇到不少的問題,現在記錄下來方便查詢。先從裝系統開始 0 首先要設定計算機的bios啟動順序為光碟機啟動,儲存設定後將安裝光碟放入光碟機,重新啟動計算機。1 出現centos安裝介面 2 選擇skip跳過不測試光碟 3 選擇next下一步 ...
Centos5 5系統備份
使用root使用者切換到根目錄 然後,使用下面的命令備份完整的系統 tar cvpzf backup.tgz exclude proc exclude lost found exclude backup.tgz exclude mnt exclude sys 說明 tar 部分就是我們將要使用的軟體...
CentOS 系統安全配置
centos 系統安全配置 1 注釋掉不需要的使用者和使用者組 2 給下面的檔案加上不可更改屬性,從而防止非授權使用者獲得許可權 3 遮蔽 ctrl alt del 4 限制su命令 5 防止攻擊 6 限制不同檔案的許可權 1 注釋掉不需要的使用者和使用者組 vi etc passwd adm lp...