論Unix環境下程序和業務數據安全性探析

學識都 人氣:2.43W
銀行、保險等重要的金融行業,加強關鍵程序和生產數據的安全建設對於保障業務的正常開展具有十分重要的現實意義。本文立足於業務操作、程序維護和進庫處理這三個主要的安全隱患環節,利用Unix Shell語言工具和Informix Audit技術,在程序文件和業務數據的風險防範方面進行了一些有益的探索,建立了一套比較完善的安全保障機制,並提供了具體的實現途徑,具有較強的實用性。
一、業務操作的安全對策
採用控制Unix系統提示符的進入,設立一個封閉的應用系統環境的方法。在正式的生產環境中,各種應用系統的直接用戶,如業務終端用戶和業務管理用戶對計算機知識一般不是很瞭解,他們的工作職責是在程序的控制下,用合法的系統用戶和口令字註冊並受限於程序畫面,執行規定的業務操作,而不能讓其接觸到Shell提示符,從而對生產環境中的程序和業務數據形成第一級保護屏障。具體做法是:編制Shell語言程序文件,並在系統註冊用戶的ile文件最後加入一行exec 。
的源程序範例清單如下:
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
文件放在系統用戶的註冊目錄下,ile和文件權限建議設置爲500,並在系統管理員的監控之下。該Shell程序可封鎖進入提示符的任何企圖,把用戶與文件系統、數據庫隔離開來;另外,在實際應用中爲減少數據庫用戶線索數等應用開銷,同一應用系統常被分爲不同模塊供不同權限的操作員使用。該Shell程序可以實現對一個系統註冊用戶提供多個操作分支,且每個操作分支都能設置自己的安全口令,同時還可將相關的應用列在同一個Shell菜單中,提供一個系統註冊名供用戶選擇使用,以減少增加註冊用戶的系統開銷。
二、程序維護的.風險防範
採用歸檔在提示符下操作的方法,形成有力的監督機制。因爲工作需要,一般在生產環境中單獨爲程序維護人員建立一個系統帳戶,由於工作性質特殊,程序維護人員仍難免要直接到提示符下操作,如何如實記錄程序維護人員在提示符下的操作軌跡,以供事後稽覈和備查,是程序和業務數據安全性方面第二層需要考慮的問題。
在Unix系統中,每個註冊用戶都有一個記錄其Shell軌跡的_history文件,但卻不能區分是何時從局域網上哪臺機器用何身份發出的Shell命令,因而缺乏針對性起不到監督作用。在局域網中,程序維護人員一般每人配有一臺PC機,每臺PC機的IP地址確定了用機人的身份。對某一臺業務主機來講,可以生成一個文件de,該文件包含了局域網中每個IP地址與該業務主機每個系統註冊用戶的組合和局域網中每臺其它主機與該業務主機每個系統註冊用戶的組合。通過環境變量Histfile對de文件中每個組合設置各自相應的Shell軌跡文件,爲每個具體的用機者建立一份詳詳細細的Shell檔案,使在Shell提示符下發生的每筆操作行爲有證可查。具體做法是,在每個系統註冊用戶的ile文件中加入如下Shell語句段:
NETTERM=‘tty|cut -c 6-’
NETIP=‘finger|grep $NETTERM “ ”|cut -c 60-’
NETTTY=‘cat /var/adm/shhist/de |grep $LOGNAME“|”$NETIP|cut -f1 -d “|” ’
HISTFILE=/var/adm/shhist/st.$NETTTY