1,刪除所有的特殊賬戶
你應(yīng)該刪除所有不用的缺省用戶和組賬戶(比如lp, sync, shutdown, halt, news, uucp, operator, games, gopher等)。
刪除用戶:
[root@kapil /]# userdel LP
刪除組:
[root@kapil /]# groupdel LP
刪除系統(tǒng)臃腫多余的賬號:
userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
userdel ftp 如果你不允許匿名FTP,就刪掉這個用戶帳號
groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip
groupdel pppusers
第二步是刪除/etc/passwd文件中許多缺省的系統(tǒng)帳號。Linux提供這些帳號主要是用于許多其實(shí)極少需要的系統(tǒng)操作。如果不需要這些帳號,刪除它們。帳號越多,系統(tǒng)被入侵的可能性就越大。例如"news"帳號,如果不運(yùn)行nntp新聞組服務(wù)器,就不需要該帳號(注意要更新 /etc/cron.hourly文件,因?yàn)槟_本中涉及到了"news"用戶)。另外,一定要刪除"ftp"帳號,因?yàn)樵搸ぬ杻H用于匿名FTP訪問。
我們還要修改/etc/ftpusers文件。任何被列入該文件的帳號將不能ftp到本系統(tǒng)。通常用于限制系統(tǒng)帳號,例如root和bin等,禁止這些帳號的FTP會話。缺省時Linux已創(chuàng)建了該文件。一定要確保root根用戶被包含在該文件中,以禁止root與系統(tǒng)的ftp會話。檢查并確認(rèn)需要FTP到該防火墻的所有帳號**不**在/etc/ftpusers文件中。
另外,確保根用戶root不能telnet到系統(tǒng)。這強(qiáng)迫用戶用其普通帳號登錄到系統(tǒng),然后再su成為root。/etc/securetty文件列出了root所能連接的tty終端。將tty1、tty2等列入該文件中,使root用戶只能從本地登錄到系統(tǒng)中。ttyp1、ttyp2等是pseudo(虛擬)終端,它們允許root遠(yuǎn)程telnet到系統(tǒng)中。
最后,創(chuàng)建/etc/issue文件。該ASCII文本文件用于在所有telnet登錄時顯示的信息。當(dāng)試圖登錄到系統(tǒng)中時,該文件中的警告信息將被顯示。在Linux系統(tǒng)中要修改/etc/rc.d/init.d/S99local腳本文件,以生成固定的/etc/issue文件。
因?yàn)槿笔rLinux在每次啟動時都生成新的/etc/issue文件。
2,選擇正確的密碼
在選擇正確密碼之前還應(yīng)作以下修改:
修改密碼長度:在你安裝linux時默認(rèn)的密碼長度是5個字節(jié)。但這并不夠,要把它設(shè)為8。修改最短密碼長度需要編輯login.defs文件(vi /etc/login.defs),把下面這行
PASS_MIN_LEN 5
改為
PASS_MIN_LEN 8
login.defs文件是login程序的配置文件。
3、root賬戶自動注銷
在unix 系統(tǒng)中root賬戶是具有最高特權(quán)的。如果系統(tǒng)管理員在離開系統(tǒng)之前忘記注銷root賬戶,系統(tǒng)會自動注銷。通過修改賬戶中"TMOUT"參數(shù),可以實(shí)現(xiàn)此功能。TMOUT按秒計(jì)算。編輯你的profile文件(vi /etc/profile),在"HISTFILESIZE="后面加入下面這行:
TMOUT=3600
3600,表示60*60=3600秒,也就是1小時。這樣,如果系統(tǒng)中登陸的用戶在一個小時內(nèi)都沒有動作,那么系統(tǒng)會自動注銷這個賬戶。你可以在個別用戶的".bashrc"文件中添加該值,以便系統(tǒng)對該用戶實(shí)行特殊的自動注銷時間。
改變這項(xiàng)設(shè)置后,必須先注銷用戶,再用該用戶登陸才能激活這個功能。
4、取消普通用戶的控制臺訪問權(quán)限
你應(yīng)該取消普通用戶的控制臺訪問權(quán)限,比如shutdown、reboot、halt等命令。
[root@kapil /]# rm -f /etc/security/console.apps/
是你要注銷的程序名。
5、禁止系統(tǒng)信息暴露
當(dāng)有人遠(yuǎn)程登陸時,禁止顯示系統(tǒng)歡迎信息。你可以通過修改"/etc/inetd.conf"文件來達(dá)到這個目的。
把/etc/inetd.conf文件下面這行:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
修改為:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
在最后加"-h"可以使當(dāng)有人登陸時只顯示一個login:提示,而不顯示系統(tǒng)歡迎信息。
6、修改"/etc/host.conf"文件
"/etc/host.conf"說明了如何解析地址。編輯"/etc/host.conf"文件(vi /etc/host.conf),加入下面這行:
# Lookup names via DNS first then fall back to /etc/hosts.
order bind,hosts
# We have machines with multiple IP addresses.
multi on
# Check for IP address spoofing.
nospoof on
第一項(xiàng)設(shè)置首先通過DNS解析IP地址,然后通過hosts文件解析。第二項(xiàng)設(shè)置檢測是否"/etc/hosts"文件中的主機(jī)是否擁有多個IP地址(比如有多個以太口網(wǎng)卡)。第三項(xiàng)設(shè)置說明要注意對本機(jī)未經(jīng)許可的電子欺騙。
7、使"/etc/services"文件免疫
使"/etc/services"文件免疫,防止未經(jīng)許可的刪除或添加服務(wù):
[root@kapil /]# chattr +i /etc/services
8、不允許從不同的控制臺進(jìn)行root登陸
"/etc/securetty"文件允許你定義root用戶可以從那個TTY設(shè)備登陸。你可以編輯"/etc/securetty"文件,再不需要登陸的TTY設(shè)備前添加"#"標(biāo)志,來禁止從該TTY設(shè)備進(jìn)行root登陸。
9、禁止任何人通過su命令改變?yōu)閞oot用戶
su(Substitute User替代用戶)命令允許你成為系統(tǒng)中其他已存在的用戶。如果你不希望任何人通過su命令改變?yōu)閞oot用戶或?qū)δ承┯脩粝拗剖褂胹u命令,你可以在su配置文件(在"/etc/pam.d/"目錄下)的開頭添加下面兩行:
編輯su文件(vi /etc/pam.d/su),在開頭添加下面兩行:
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/Pam_wheel.so group=wheel
這表明只有"wheel"組的成員可以使用su命令成為root用戶。你可以把用戶添加到"wheel"組,以使它可以使用su命令成為root用戶。
10、Shell logging
Bash shell在"~/.bash_history"("~/"表示用戶目錄)文件中保存了500條使用過的命令,這樣可以使你輸入使用過的長命令變得容易。每個在系統(tǒng)中擁有賬號的用戶在他的目錄下都有一個".bash_history"文件。bash shell應(yīng)該保存少量的命令,并且在每次用戶注銷時都把這些歷史命令刪除。
第一步:
"/etc/profile"文件中的"HISTFILESIZE"和"HISTSIZE"行確定所有用戶的".bash_history"文件中可以保存的舊命令條數(shù)。強(qiáng)烈建議把把"/etc/profile"文件中的 "HISTFILESIZE"和"HISTSIZE"行的值設(shè)為一個較小的數(shù),比如 30。編輯profile文件(vi /etc/profile),把下面這行改為:
HISTFILESIZE=30
HISTSIZE=30
這表示每個用戶的".bash_history"文件只可以保存30條舊命令。
第二步:
網(wǎng)管還應(yīng)該在"/etc/skel/.bash_logout" 文件中添加下面這行"rm -f $HOME/.bash_history" 。這樣,當(dāng)用戶每次注銷時,".bash_history"文件都會被刪除。
編輯.bash_logout文件(vi /etc/skel/.bash_logout) ,添加下面這行:
rm -f $HOME/.bash_history
11、禁止Control-Alt-Delete 鍵盤關(guān)閉命令
在"/etc/inittab" 文件中注釋掉下面這行(使用#):
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
改為:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
為了使這項(xiàng)改動起作用,輸入下面這個命令:
[root@kapil /]# /sbin/init q
12、給"/etc/rc.d/init.d" 下script文件設(shè)置權(quán)限
給執(zhí)行或關(guān)閉啟動時執(zhí)行的程序的script文件設(shè)置權(quán)限。
[root@kapil/]# chmod -R 700 /etc/rc.d/init.d/*
這表示只有root才允許讀、寫、執(zhí)行該目錄下的script文件。
13、隱藏系統(tǒng)信息
在缺省情況下,當(dāng)你登陸到linux系統(tǒng),它會告訴你該linux發(fā)行版的名稱、版本、內(nèi)核版本、服務(wù)器的名稱。對于黑客來說這些信息足夠它入侵你的系統(tǒng)了。你應(yīng)該只給它顯示一個"login:"提示符。
第一步:
編輯"/etc/rc.d/rc.local" 文件,在下面顯示的這些行前加一個"#",把輸出信息的命令注釋掉。
# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
#echo "" > /etc/issue
#echo "$R" >> /etc/issue
#echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue
#
#cp -f /etc/issue /etc/issue.net
#echo >> /etc/issue
第二步:
刪除"/etc"目錄下的"isue.net"和"issue"文件:
[root@kapil /]# rm -f /etc/issue
[root@kapil /]# rm -f /etc/issue.net
14、更改下列文件權(quán)限,使任何人沒有更改賬戶權(quán)限:
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯(lián)系:億恩小凡
QQ:89317007
電話:0371-63322206 本文出自:億恩科技【1tcdy.com】
服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|