BIOS安全
記著要在BIOS設(shè)置中設(shè)定一個(gè)BIOS密碼,不接收軟盤啟動(dòng)。這樣可以阻止不懷好意的人用專門的啟動(dòng)盤啟動(dòng)你的Linux系統(tǒng),并避免別人更改BIOS設(shè)置,如更改軟盤啟動(dòng)設(shè)置或不彈出密碼框直接啟動(dòng)服務(wù)器等。
LILO安全
在“/etc/lilo.conf”文件中添加3個(gè)參數(shù):time-out、restricted 和 password。這些選項(xiàng)會(huì)在啟動(dòng)時(shí)間(如“linux single”)轉(zhuǎn)到啟動(dòng)轉(zhuǎn)載程序過(guò)程中,要求提供密碼。
步驟1
編輯lilo.conf文件(/etc/lilo.conf),添加和更改這三個(gè)選項(xiàng):
QUOTE:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
time-out=00 #change this line to 00
prompt
Default=linux
restricted #add this line
password=<password> #add this line and put your password
image=/boot/vmlinuz-2.2.14-12
label=linux
initrd=/boot/initrd-2.2.14-12.img
root=/dev/hda6
read-only
步驟2
由于其中的密碼未加密,“/etc/lilo.conf”文件只對(duì)根用戶為可讀。
[root@kapil /]# chmod 600 /etc/lilo.conf (不再為全局可讀)
步驟3
作了上述修改后,更新配置文件“/etc/lilo.conf”。
[Root@kapil /]# /sbin/lilo -v (更新lilo.conf文件)
步驟4
還有一個(gè)方法使“/etc/lilo.conf”更安全,那就是用chattr命令將其設(shè)為不可改:
[root@kapil /]# chattr i /etc/lilo.conf
它將阻止任何對(duì)“lilo.conf”文件的更改,無(wú)論是否故意。
關(guān)于lilo安全的更多信息,請(qǐng)參考LILO。
禁用所有專門帳號(hào)
在lp, sync, shutdown, halt, news, uucp, operator, games, gopher等系統(tǒng)中,將你不使用的所有默認(rèn)用戶帳號(hào)和群組帳號(hào)刪除。
要?jiǎng)h除用戶帳號(hào):
[root@kapil /]# userdel LP
要?jiǎng)h除群組帳號(hào):
[root@kapil /]# groupdel LP
選擇恰當(dāng)?shù)拿艽a
選擇密碼時(shí)要遵循如下原則:
密碼長(zhǎng)度:安裝Linux系統(tǒng)時(shí)默認(rèn)的最短密碼長(zhǎng)度為5個(gè)字符。這個(gè)長(zhǎng)度還不夠,應(yīng)該增為8個(gè)。要改為8個(gè)字符,必須編輯 login.defs 文件(/etc/login.defs):
PASS_MIN_LEN 5
改為:
PASS_MIN_LEN 8
“login.defs”是登錄程序的配置文件。
啟用盲區(qū)密碼支持
請(qǐng)啟用盲區(qū)密碼功能。要實(shí)現(xiàn)這一點(diǎn),使用“/usr/sbin/authconfig”實(shí)用程序。如果想把系統(tǒng)中現(xiàn)有的密碼和群組改為盲區(qū)密碼和群組,則分別用 pwconv 和 grpconv 命令。根帳戶
在UNIX系統(tǒng)中,根帳戶具有最高權(quán)限。如果系統(tǒng)管理員在離開系統(tǒng)時(shí)忘了從根系統(tǒng)注銷,系統(tǒng)應(yīng)該能夠自動(dòng)從shell中注銷。那么,你就需要設(shè)置一個(gè)特殊的 Linux 變量“TMOUT”,用以設(shè)定時(shí)間。
編輯“/etc/profile”文件在
"HISTFILESIZE="
之后添加:
TMOUT=3600
為“TMOUT=”輸入的值代表1小時(shí)的妙數(shù)(60 * 60 = 3600妙)。
在“/etc/profile”文件中加了這一行后,任何用戶使用該系統(tǒng)時(shí)有1小時(shí)的休止?fàn)顟B(tài),將自動(dòng)執(zhí)行注銷操作。而如果用戶要對(duì)該變量進(jìn)行分別設(shè)定,可以在“.bashrc”文件中定義自動(dòng)注銷的時(shí)間。
修改了該參數(shù)后,必須退出并重新登錄(為根帳戶),更改才能生效。
禁止普通用戶對(duì)控制臺(tái)的所有訪問(wèn)
應(yīng)該禁止服務(wù)器上的普通用戶對(duì)關(guān)閉、重啟、掛起等控制臺(tái)級(jí)別程序的訪問(wèn)。運(yùn)行如下命令:
[root@kapil /]# rm -f /etc/security/console.apps其中<servicename>為禁止訪問(wèn)的程序名稱。
禁用 & 卸載所有不使用的服務(wù)
對(duì)所有不使用的服務(wù),應(yīng)該禁用并卸載,這樣可以少些麻煩。查看“/etc/inetd.conf”文件,在不需要的項(xiàng)目行前加“#”號(hào),即改為注釋語(yǔ)句,就可以禁用它們了。然后給 inetd 過(guò)程發(fā)送一個(gè) SIGHUP 命令,對(duì)“inetd.conf”文件進(jìn)行更新。步驟如下:
步驟1
將“/etc/inetd.conf”文件許可改為600,使其只對(duì)根用戶為可讀寫。
[Root@kapil /]# chmod 600 /etc/inetd.conf
步驟2
確保“/etc/inetd.conf”文件的所有者為根用戶。
步驟3
編輯 inetd.conf 文件(/etc/inetd.conf),禁用如下服務(wù):
ftp、telnet、shell、login、exec、talk、ntalk、imap、pop-2、pop-3、finger、auth,等等。
如果不打算用,禁用了這些服務(wù)可以減少風(fēng)險(xiǎn)。
步驟4
給 inetd 過(guò)程發(fā)送HUP信號(hào):
[root@kapil /]# killall -HUP inetd
步驟5
將“/etc/inetd.conf”文件設(shè)為不可更改,chattr 命令可以使任何人都無(wú)法對(duì)其進(jìn)行修改:
[root@kapil /]# chattr i /etc/inetd.conf
唯一可以設(shè)置或清除該屬性的用戶只有根用戶。要修改inetd.conf文件,必須去掉不可更改標(biāo)記:
[root@kapil /]# chattr -i /etc/inetd.confTCP_WRAPPERS
通過(guò) TCP_WRAPPERS,可以使服務(wù)器更好地抵制外部侵入。最好的辦法是拒絕所有主機(jī):在“/etc/hosts.deny”文件中加入“ALL: ALL@ALL, PARANOID”,然后在“/etc/hosts.allow”列出允許訪問(wèn)的主機(jī)。TCP_WRAPPERS 受控于兩個(gè)文件,搜索時(shí)停在第一個(gè)匹配的地方。
/etc/hosts.allow
/etc/hosts.deny
步驟1
編輯 hosts.deny 文件(/etc/hosts.deny),加入如下行:
# Deny access to everyone.
ALL: ALL@ALL, PARANOID
語(yǔ)句的意思是,除非在 allow 文件中說(shuō)明允許訪問(wèn),所有服務(wù)、所有主機(jī)都被拒絕。
步驟2
編輯 hosts.allow 文件(/etc/hosts.allow),例如在文件中添加如下行:
ftp: 202.54.15.99 foo.com
對(duì)于你的客戶機(jī)來(lái)說(shuō):202.54.15.99為IP地址,foo.com為允許使用ftp的一個(gè)客戶機(jī)。
步驟3
tcpdchk 程序是tcpd wrapper配置的檢查程序。它對(duì)tcpd wrapper的配置進(jìn)行檢查,并報(bào)告所發(fā)現(xiàn)的潛在的和實(shí)際存在的問(wèn)題。配置完成后,運(yùn)行tcpdchk 程序:
[Root@kapil /]# tcpdchk
不要顯示系統(tǒng)發(fā)行文件
當(dāng)別人遠(yuǎn)程登錄時(shí),不應(yīng)該顯示系統(tǒng)發(fā)行文件。做法是在“/etc/inetd.conf”文件中更改telnet選項(xiàng):
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
改為:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
在末尾加“-h”標(biāo)記使后臺(tái)程序不顯示任何系統(tǒng)信息,而只給用戶提供一個(gè) login: 提示符。
更改“/etc/host.conf”文件
“/etc/host.conf”文件用來(lái)指定如何解析名稱的方法。編輯 host.conf 文件(/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
第一個(gè)選項(xiàng)首先通過(guò)DNS解析主機(jī)名稱,然后解析主機(jī)文件。multi 選項(xiàng)用于確定“/etc/hosts”文件中的主機(jī)是否有多個(gè)IP地址(多接口以太網(wǎng))。
nospoof 選項(xiàng)指明該機(jī)器不允許假信息。
為“/etc/services”文件免疫
必須為“/etc/services”文件進(jìn)行磁盤免疫,以避免對(duì)文件未經(jīng)授權(quán)的刪除或添加。使用如下命令:
[root@kapil /]# chattr i /etc/services
不接受從不同控制臺(tái)的根用戶登錄
“/etc/securetty”文件可以指定“root”用戶允許從哪個(gè)TTY設(shè)備登錄。編輯“/etc/securetty”文件,在不需要的tty前面加“#”,禁用這些設(shè)備。禁止任何人使用su命令
su命令(Substitute User,替代用戶)可以使你成為系統(tǒng)的現(xiàn)有用戶。如果不希望別人使用su進(jìn)入根帳戶,或者對(duì)某些用戶限制使用“su”命令,則在“/etc/pam.d/”目錄的“su”配置文件頂部加上下文中給出的兩行代碼。
編輯su文件(/etc/pam.d/su),在文件頂部添加如下兩行:
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/Pam_wheel.so group=wheel
意思是,只有“wheel”組的成員可以用su命令;其中還包括了日志。你可以在wheel組中添加允許使用該命令的用戶。
shell日志
shell可存儲(chǔ)500個(gè)舊命令在“~/.bash_history”文件中(其中“~/”代表主目錄),這樣可以便于重復(fù)前面的長(zhǎng)命令。系統(tǒng)中的每個(gè)帳號(hào)用戶在各自的主目錄中都有這個(gè)“.bash_history”文件。為安全起見(jiàn),應(yīng)使shell存儲(chǔ)較少的命令,并在注銷用戶時(shí)將其刪除。
步驟1
“/etc/profile”文件中的 HISTFILESIZE 和 HISTSIZE 行決定了系統(tǒng)中所有用戶的“.bash_history”文件可容納的舊命令個(gè)數(shù)。建議將“/etc/profile”文件中的 HISTFILESIZE 和 HISTSIZE 設(shè)為比較小的數(shù),比如30。
編輯 profile 文件(/etc/profile),并更改:
HISTFILESIZE=30
HISTSIZE=30
步驟2
系統(tǒng)管理員還應(yīng)在“/etc/skel/.bash_logout”文件中加進(jìn)“rm -f $HOME/.bash_history”行,這樣就可以在每次用戶退出時(shí)刪除“.bash_history”文件。
編輯 .bash_logout 文件(/etc/skel/.bash_logout),并添加如下行:
rm -f $HOME/.bash_history
禁用 Control-Alt-Delete 鍵盤關(guān)機(jī)命令
只要在該行前面加“#”,改為注釋行。在“/etc/inittab”文件中找到:
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
改為:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
然后,為使更改生效,在提示符下輸入:
[root@kapil /]# /sbin/init q
修正腳本文件在“/etc/rc.d/init.d”目錄下的權(quán)限
對(duì)腳本文件的權(quán)限進(jìn)行修正,腳本文件用以決定啟動(dòng)時(shí)需要運(yùn)行的所有正常過(guò)程的開啟和停止。添加:
[root@kapil/]# chmod -R 700 /etc/rc.d/init.d/*
這句指的是,只有根用戶允許在該目錄下使用 Read、Write,和 Execute 腳本文件。
隱藏系統(tǒng)信息
默認(rèn)情況下,當(dāng)用戶登錄到 Linux 中時(shí),會(huì)顯示 Linux 發(fā)行名稱、版本、內(nèi)核版本,以及服務(wù)器名稱。這些已經(jīng)足夠讓黑客獲取服務(wù)器的信息了。正確的做法是只為用戶顯示“Login: ”提示符。
步驟1
編輯“/etc/rc.d/rc.local” 文件,并將“#”標(biāo)在下列行的前面:
QUOTE:
# 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
步驟2
然后在“/etc”目錄下刪除“issue.net”和“issue”文件:
[root@kapil /]# rm -f /etc/issue
[root@kapil /]# rm -f /etc/issue.net
禁用通常不用的 SUID/SGID 程序
如果設(shè)為 SUID 根用戶,普通用戶也可以作為根用戶運(yùn)行程序。系統(tǒng)管理員應(yīng)該減少 SUID/GUID 程序的使用,并禁用那些不需要的程序。
步驟1
要從根用戶的程序中搜索所有包含“s”字符的文件,使用命令:
[root@kapil]# find / -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg {} ;
要在搜索到的程序中禁用 suid 程序,鍵入如下命令:
[root@kapil /]# chmod a-s [program]
按照上述的一些安全指南,系統(tǒng)管理員就可以達(dá)到基本的系統(tǒng)安全要求。上述的一些操作是一個(gè)連續(xù)的過(guò)程。系統(tǒng)管理員必須保持它們的連續(xù)性,才能使系統(tǒng)真正安全。
億恩科技地址(ADD):鄭州市黃河路129號(hào)天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯(lián)系:億恩小凡
QQ:89317007
電話:0371-63322206 本文出自:億恩科技【www.allwellnessguide.com】
服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|