- 相關(guān)推薦
論Unix環(huán)境下程序和業(yè)務(wù)數據安全性探析
在銀行、保險等重要的金融行業(yè),加強關(guān)鍵程序和生產(chǎn)數據的安全建設對于保障業(yè)務(wù)的正常開(kāi)展具有十分重要的現實(shí)意義。本文立足于業(yè)務(wù)操作、程序維護和進(jìn)庫處理這三個(gè)主要的安全隱患環(huán)節,利用Unix Shell語(yǔ)言工具和Informix Audit技術(shù),在程序文件和業(yè)務(wù)數據的風(fēng)險防范方面進(jìn)行了一些有益的探索,建立了一套比較完善的安全保障機制,并提供了具體的實(shí)現途徑,具有較強的實(shí)用性。一、業(yè)務(wù)操作的安全對策
采用控制Unix系統提示符的進(jìn)入,設立一個(gè)封閉的應用系統環(huán)境的方法。在正式的生產(chǎn)環(huán)境中,各種應用系統的直接用戶(hù),如業(yè)務(wù)終端用戶(hù)和業(yè)務(wù)管理用戶(hù)對計算機知識一般不是很了解,他們的工作職責是在程序的控制下,用合法的系統用戶(hù)和口令字注冊并受限于程序畫(huà)面,執行規定的業(yè)務(wù)操作,而不能讓其接觸到Shell提示符,從而對生產(chǎn)環(huán)境中的程序和業(yè)務(wù)數據形成第一級保護屏障。具體做法是:編制Shell語(yǔ)言程序.safe文件,并在系統注冊用戶(hù)的.profile文件最后加入一行exec .safe。
.safe的源程序范例清單如下:
cond=true
while [ $cond ]
do
clear
echo “”
echo “業(yè)務(wù)處理系統菜單”
echo “”
echo “ ( $HOST )”
echo “?????????????”
echo “? 1)…… ?”
echo “? 2)…… ?”
echo “? q)…… ?”
echo “?????????????”
echo “請選擇:\c ”
read choice
case $choice in
1) echo “請輸入口令:”
stty -echo
read passwd
stty echo
if test $passwd = one
then
…
fi
;;
2) echo “請輸入口令:”
stty -echo
read passwd
stty echo
if test $passwd = two
then
…
fi
;;
q) exit
;;
esac
done
.safe文件放在系統用戶(hù)的注冊目錄下,.profile和.safe文件權限建議設置為500,并在系統管理員的監控之下。該Shell程序可封鎖進(jìn)入提示符的任何企圖,把用戶(hù)與文件系統、數據庫隔離開(kāi)來(lái);另外,在實(shí)際應用中為減少數據庫用戶(hù)線(xiàn)索數等應用開(kāi)銷(xiāo),同一應用系統常被分為不同模塊供不同權限的操作員使用。該Shell程序可以實(shí)現對一個(gè)系統注冊用戶(hù)提供多個(gè)操作分支,且每個(gè)操作分支都能設置自己的安全口令,同時(shí)還可將相關(guān)的應用列在同一個(gè)Shell菜單中,提供一個(gè)系統注冊名供用戶(hù)選擇使用,以減少增加注冊用戶(hù)的系統開(kāi)銷(xiāo)。
二、程序維護的風(fēng)險防范
采用歸檔在提示符下操作的方法,形成有力的監督機制。因為工作需要,一般在生產(chǎn)環(huán)境中單獨為程序維護人員建立一個(gè)系統帳戶(hù),由于工作性質(zhì)特殊,程序維護人員仍難免要直接到提示符下操作,如何如實(shí)記錄程序維護人員在提示符下的操作軌跡,以供事后稽核和備查,是程序和業(yè)務(wù)數據安全性方面第二層需要考慮的問(wèn)題。
在Unix系統中,每個(gè)注冊用戶(hù)都有一個(gè)記錄其Shell軌跡的.sh_history文件,但卻不能區分是何時(shí)從局域網(wǎng)上哪臺機器用何身份發(fā)出的Shell命令,因而缺乏針對性起不到監督作用。在局域網(wǎng)中,程序維護人員一般每人配有一臺PC機,每臺PC機的IP地址確定了用機人的身份。對某一臺業(yè)務(wù)主機來(lái)講,可以生成一個(gè)文件.ipcode,該文件包含了局域網(wǎng)中每個(gè)IP地址與該業(yè)務(wù)主機每個(gè)系統注冊用戶(hù)的組合和局域網(wǎng)中每臺其它主機與該業(yè)務(wù)主機每個(gè)系統注冊用戶(hù)的組合。通過(guò)環(huán)境變量Histfile對.ipcode文件中每個(gè)組合設置各自相應的Shell軌跡文件,為每個(gè)具體的用機者建立一份詳詳細細的Shell檔案,使在Shell提示符下發(fā)生的每筆操作行為有證可查。具體做法是,在每個(gè)系統注冊用戶(hù)的.profile文件中加入如下Shell語(yǔ)句段:
NETTERM=‘tty|cut -c 6-’
NETIP=‘finger|grep $NETTERM “ ”|cut -c 60-’
NETTTY=‘cat /var/adm/shhist/.ipcode |grep $LOGNAME“|”$NETIP|cut -f1 -d “|” ’
HISTFILE=/var/adm/shhist/.shhist.$NETTTY
export HISTFILE
ksh -o vi
相應地,在類(lèi)似上述.safe的文件中增加一個(gè)菜單選項,提供程序維護人員進(jìn)入系統提示符的口令:
echo “請輸入口令:”
stty -echo
read passwd
stty echo
if test $passwd = shell
then
sh
fi
;;
.ipcode文件每行用管道線(xiàn)“|”作域間分隔符,格式為:
序號|注冊名|IP地址(或主機名)
初次啟動(dòng)該機制時(shí),一次性地在/var/adm/shhist目錄下建立.ipcode文件以及與其相對應的.shhist.1、.shhist.2等空Shell歸檔文件(/var/adm/shhist只是本文推薦目錄)。
在每天主機開(kāi)啟時(shí)用Unix系統命令at運行/var/adm/shhist/.timer文件,給所有的Shell軌跡歸檔文件每隔一段時(shí)間加上時(shí)間標簽。本文中該程序設置為每晚11時(shí)前不間斷運行,.timer程序清單如下:
time= “‘date|cut -c 12-13’”
cond = true
if test $time -le 23
then
while [ $cond ]
do
for i in ‘ls /var/adm/shhist/.shhist?’
do
echo ‘date’
【論Unix環(huán)境下程序和業(yè)務(wù)數據安全性探析】相關(guān)文章:
探析網(wǎng)絡(luò )環(huán)境下的學(xué)習策略研究03-16
微機UNIX直接視頻圖形程序設計03-19
局域網(wǎng)數據庫環(huán)境下數據采集及處理12-24
論特定環(huán)境下戲劇的開(kāi)場(chǎng)方式03-18
UNIX網(wǎng)絡(luò )的服務(wù)器程序設計方法03-20
探析網(wǎng)絡(luò )環(huán)境下的英語(yǔ)語(yǔ)法模塊教學(xué)03-19