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