- 論壇徽章:
- 1
|
作者:金一長(zhǎng) 出處:Unix愛(ài)好者家園unix-cd.com
近一段時(shí)間,某銀行地市級(jí)分行計(jì)算機(jī)中心的某些服務(wù)器,如儲(chǔ)蓄服務(wù)器、本地服務(wù)器多次出現(xiàn)了相同的奇怪現(xiàn)象:正常運(yùn)行的計(jì)算機(jī)被意外關(guān)掉。經(jīng)檢查機(jī)器的各方面資源都沒(méi)有明顯的故障,而且相同配置的服務(wù)器也只是個(gè)別機(jī)器被關(guān)掉,最關(guān)鍵的是被關(guān)的機(jī)器上除了關(guān)機(jī)信息外沒(méi)有其他報(bào)錯(cuò)信息。綜合種種跡象確定,是市分行下屬的某縣支行機(jī)房中有人用telnet登錄到市分行的服務(wù)器,進(jìn)入一個(gè)菜單用戶后,執(zhí)行了菜單中的關(guān)機(jī)選項(xiàng)而關(guān)掉了正在運(yùn)行的機(jī)器。通過(guò)這件事例,使人警覺(jué)到利用遠(yuǎn)程計(jì)算機(jī)進(jìn)行高科技作案的潛在危險(xiǎn)。
目前銀行系統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò)發(fā)展迅猛,由于全省乃至全國(guó)通存通兌的需要,地市級(jí)分行的計(jì)算機(jī)系統(tǒng)對(duì)上要與省分行的計(jì)算機(jī)網(wǎng)絡(luò)相連,對(duì)下連通了全市所轄的數(shù)十家縣市工行或辦事處的計(jì)算機(jī);又由于代理業(yè)務(wù)和電子商務(wù)的需要,銀行內(nèi)部網(wǎng)絡(luò)必須與越來(lái)越多的被代理企事業(yè)單位的計(jì)算機(jī)相連。這樣一個(gè)龐大的網(wǎng)絡(luò),要防范“黑客”的偷襲確實(shí)有一定的困難。為了使Unix服務(wù)器或前置機(jī)能安全正常地運(yùn)行,必須及時(shí)地根據(jù)業(yè)務(wù)的不同應(yīng)用和需求,有針對(duì)性地構(gòu)筑Unix系統(tǒng)內(nèi)的防火墻體系,對(duì)遠(yuǎn)程登錄和遠(yuǎn)程數(shù)據(jù)傳輸進(jìn)行過(guò)濾,從而實(shí)現(xiàn)Unix防火墻的作用, 同時(shí)能保障合法計(jì)算機(jī)遠(yuǎn)程業(yè)務(wù)操作的正常進(jìn)行。下面把多種防火墻體系的具體實(shí)現(xiàn)方案介紹給讀者。
方案一 禁止其他任何計(jì)算機(jī)向本機(jī)的遠(yuǎn)程登錄和遠(yuǎn)程數(shù)據(jù)傳輸。
設(shè)置方法 進(jìn)入超級(jí)用戶,用vi打開(kāi)/etc/inetd.conf文件,用"#"字封閉ftp、telnet、login、exec打頭的四行,然后執(zhí)行/etc/inetd命令,即可生效。
特點(diǎn) 網(wǎng)絡(luò)中其他計(jì)算機(jī)都無(wú)法遠(yuǎn)程登錄和傳輸數(shù)據(jù)到本機(jī),但本機(jī)卻可以登錄到其他計(jì)算機(jī),也可向其他計(jì)算機(jī)收發(fā)數(shù)據(jù)。對(duì)本機(jī)來(lái)說(shuō),遠(yuǎn)程登錄和數(shù)據(jù)傳輸變?yōu)閱蜗虿僮?雖然其設(shè)置非常簡(jiǎn)單,但它的應(yīng)用范圍極為有限。
方案二 禁止其他任何計(jì)算機(jī)向本機(jī)的遠(yuǎn)程登錄,允許其他計(jì)算機(jī)向本機(jī)部分用戶的遠(yuǎn)程傳輸數(shù)據(jù)。
設(shè)置方法 以允許用ftp到本機(jī)的普通用戶而禁止用ftp到超級(jí)用戶為例。
(1)進(jìn)入超級(jí)用戶,用vi打開(kāi)/etc/inetd.conf文件,用“!弊址忾]telnet、login、 exec打頭的三行,并放開(kāi)ftp,然后執(zhí)行/etc/inetd命令。
(2)用vi修改/etc/passwd文件,把第一行
root:x:0:1:Superuser:/:
改為 root:x:0:1:Superuser:/:/bin/shcheck
(3)用vi創(chuàng)建/etc/shcheck文件,內(nèi)容如下
/bin/sh /etc/profile
/bin/sh /.profile
/bin/sh -sh
(4)修改/etc/profile文件,把其中的一行
-sh | -rsh | -ksh | -rksh)
改為 -sh | -rsh | -ksh | -rksh | /etc/profile)
(5)執(zhí)行命令
chmod a-w /etc/shcheck
chmod u+x /etc/shcheck
特點(diǎn) 仍禁止其他任何計(jì)算機(jī)向本機(jī)的telnet、login的登錄, 有條件地放開(kāi)用ftp進(jìn)行雙向傳輸數(shù)據(jù)。需要特別注意的是:必須按以上方法禁止其他機(jī)器用ftp進(jìn)入到本機(jī)的超級(jí)用戶,否則其他機(jī)器就可以用ftp接收本機(jī)的inetd.conf文件,經(jīng)修改后再用ftp傳回本機(jī),以達(dá)到放開(kāi)本機(jī)telnet、login等遠(yuǎn)程服務(wù)的目的。
方案三 以IP地址為對(duì)象,允許部分計(jì)算機(jī)向本機(jī)的遠(yuǎn)程登錄,允許其他計(jì)算機(jī)向本機(jī)普通用戶的遠(yuǎn)程傳輸數(shù)據(jù)。
設(shè)置方法 設(shè)置步驟如下:
(1)進(jìn)入超級(jí)用戶,用vi打開(kāi)/etc/inetd.conf文件,放開(kāi)telnet、login、ftp的功能,然后執(zhí)行/etc/inetd命令。
(2)參照方案二中的(2)、(3)兩步的做法進(jìn)行設(shè)置。
(3)把/etc/profile文件修改成以下內(nèi)容
trap “”1 2 3
umask 022
fhq=‘netstat -n|grep ESTABLISHED|awk‘{print $5}’|cut -f1-4 -d. |head -1’
fhq=“(“$fhq”)”
fhqchk=‘grep $fhq /etc/.safe’
if [“$fhq”=“$fhqchk”]
then
echo
else
echo “警告:你的地址為$fhq禁止非法登錄!”
exit
fi
case “$0” in
-sh | -rsh | -ksh | -rksh | /etc/profile)
[“X$HUSHLOGIN” !=“XTRUE”] && [ -s /etc/motd ] && {
trap : 1 2 3
echo “”# skip a line
cat /etc/motd
trap “”1 2 3
}
if [“X$HUSHLOGIN”!=“XTRUE”]
then
[ -x /usr/bin/mail ] && { # if the program is installed
[ -s “$MAIL”] && echo “\you have mail”
}
if [“$LOGNAME”!=“root”-a -x /usr/bin/news ] # be sure it’s there
then news -n
fi
fi
;;
-su)
:
;;
esac
trap 1 2 3
(4)創(chuàng)建/etc/.safe文件,加入允許登錄的計(jì)算機(jī)的IP地址,一個(gè)地址占一行,格式如下所示
(195.1.2.3)
(194.10.2.4)
(5)執(zhí)行下列命令
chmod a-w /etc/shcheck /etc/.safe
chmod u+x /etc/shcheck
chmod 0100 /bin/su
特點(diǎn) 允許經(jīng)過(guò)定義的部分計(jì)算機(jī)用telnet、login登錄,允許其他計(jì)算機(jī)用ftp進(jìn)入本機(jī)的普通用戶進(jìn)行數(shù)據(jù)傳輸,未經(jīng)定義的計(jì)算機(jī)將被禁止登錄到本機(jī)。本方案的應(yīng)用范圍比較廣,可使經(jīng)過(guò)定義的多臺(tái)計(jì)算機(jī)形成一個(gè)內(nèi)部寬松而對(duì)外嚴(yán)防的安全系統(tǒng)。
方案四 以IP地址為對(duì)象,允許部分計(jì)算機(jī)向本機(jī)的部分用戶的遠(yuǎn)程登錄,允許其他計(jì)算機(jī)向本機(jī)普通用戶的遠(yuǎn)程傳輸數(shù)據(jù)。
設(shè)置方法 設(shè)置步驟如下:
(1)參照方案三中的(1)、(2)兩步的做法進(jìn)行設(shè)置。
(2)對(duì)只允許部分計(jì)算機(jī)登錄本機(jī)的某一用戶的宿主目錄下的.profile文件進(jìn)行修改,加入以下內(nèi)容
fhq=‘netstat -n|grep ESTABLISHED|awk‘{print $5}’|cut -f1-4 -d. |head -1’
fhq=“(“$fhq”)”
fhqchk=‘grep $fhq /etc/.safe’
if [“$fhq”=“$fhqchk”]
then
echo
else
echo “警告:你的地址為$fhq禁止非法登錄!”
exit
fi
(3)對(duì)禁止其他任何計(jì)算機(jī)登錄本機(jī)的某一用戶的宿主目錄下的.profile文件進(jìn)行修改,加入以下內(nèi)容
ttychk=‘tty|grep ttyp’
if [“$ttychk” !=“”]
then
echo “警告:禁止非法登錄!"
exit
fi
(4)參照方案三中的(4)、(5)兩步的做法進(jìn)行設(shè)置。
特點(diǎn) 對(duì)計(jì)算機(jī)的IP地址和用戶同時(shí)進(jìn)行過(guò)濾處理,應(yīng)用范圍更為廣泛,可滿足各種業(yè)務(wù)運(yùn)行的需要,并具有較高的安全性。
方案五 以以太網(wǎng)地址為對(duì)象,允許部分計(jì)算機(jī)向本機(jī)的遠(yuǎn)程登錄,允許其他計(jì)算機(jī)向本機(jī)普通用戶的遠(yuǎn)程傳輸數(shù)據(jù)。
設(shè)置方法 設(shè)置步驟如下:
(1)參照方案三中的(1)、(2)兩步的做法進(jìn)行設(shè)置。
(2)把/etc/profile文件修改成以下內(nèi)容
trap “”1 2 3
umask 022
fhq=‘netstat -n|grep ESTABLISHED|awk ‘{print $5}’|cut -f1-4 -d. |head -1’
fhq=“(“$fhq”)”
ether=‘a(chǎn)rp -a |grep $fhq |head -1|awk‘{print $4}’’
ether=“(“$ether”)”
fhqchk=‘grep $ether /etc/.safe’
if [“$ether”=“$fhqchk”]
then
echo
else
echo “警告:你的以太網(wǎng)地址為$ether禁止非法登錄!”
exit
fi
case “$0” in
-sh | -rsh | -ksh | -rksh | /etc/profile)
[“X$HUSHLOGIN”!=“XTRUE”] && [ -s /etc/motd ] && {
trap : 1 2 3
echo“”# skip a line
cat /etc/motd
trap“”1 2 3
}
if [“X$HUSHLOGIN” !=“XTRUE”]
then
[ -x /usr/bin/mail ] && { # if the program is installed
[ -s “$MAIL” ] && echo “\nyou have mail”
}
if [“$LOGNAME”!=“root” -a -x /usr/bin/news ] # be sure it's there
then news -n
fi
fi
;;
-su)
:
;;
esac
trap 1 2 3
(3)創(chuàng)建/etc/.safe文件,加入允許登錄的計(jì)算機(jī)的以太網(wǎng)地址,一個(gè)地址占一行,格式如下所示
(0:90:27:d3:b3:21)
(0:80:c8:e0:43:8e)
(4)執(zhí)行下列命令
chmod a-w /etc/shcheck /etc/.safe
chmod u+x /etc/shcheck
chmod 0100 /bin/su
特點(diǎn) 以太網(wǎng)地址是計(jì)算機(jī)硬件地址,是每臺(tái)計(jì)算機(jī)唯一確定的,而IP地址在一臺(tái)計(jì)算機(jī)中可以有兩個(gè)或更多,所以以以太網(wǎng)地址為對(duì)象對(duì)遠(yuǎn)程登錄和遠(yuǎn)程傳輸數(shù)據(jù)進(jìn)行過(guò)濾比用IP地址為對(duì)象要安全得多。
以上五種方案都已在Unix3.2/4.2和SCO Open Server5.0.4中測(cè)試通過(guò),Unix系統(tǒng)管理者可以根據(jù)自己機(jī)器的實(shí)際情況從中任選一種建立Unix防火墻體系。以上方案中第三種和第四種應(yīng)用較廣,需要注意的是:如果選擇了第三、第四和第五種方案,那么最好在多臺(tái)相互間需要用telnet、login、ftp方式登錄而又不允許其他計(jì)算機(jī)登錄的機(jī)器上同時(shí)設(shè)置,從而組成一個(gè)局部的防火墻內(nèi)控系統(tǒng),以防止其他計(jì)算機(jī)非法間接登錄,即先登錄到已定義的計(jì)算機(jī),再通過(guò)已定義的計(jì)算機(jī)最終登錄到目標(biāo)計(jì)算機(jī)。
本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/31/showart_520137.html |
|