• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Unix下的文件系統安全

    發表于:2007-07-02來源:作者:點擊數: 標簽:
    在商業的工作環境中文件的系統 安全 是至關重要的,在信息戰中,商業間諜可以利用OS的漏洞拿到機密文件進行倒賣獲取暴利,我利用一點點的可憐的OS知識,說下 UNIX 下的文件系統安全希望對大家有點幫助,也希望高手指導,轉載請保存文章信息 目錄: 數據泄露 未
    在商業的工作環境中文件的系統安全是至關重要的,在信息戰中,商業間諜可以利用OS的漏洞拿到機密文件進行倒賣獲取暴利,我利用一點點的可憐的OS知識,說下UNIX下的文件系統安全希望對大家有點幫助,也希望高手指導,轉載請保存文章信息

    目錄:
    數據泄露
    未經授權的數據修改/刪除
    資源消耗
    具有可預測名的臨時文件
    任意用戶可讀寫的命名管道
    文件競爭

    1. 數據泄露: 一般有以下幾個危險> 配置數據的泄露,敏感應用程序的信息泄露,數據庫架構與連接詳悉信息的泄露,未授權的訪問與網絡竊聽。用戶和程序在/tmp建文件,如果用戶沒有指定的用戶權限,一般也就應用了默認中umask,值為022,這時這個文件被賦予了所有人都可讀的許可權。在一個多用戶系統中,很容易在/tmp中找到一些包含數據庫的口令,機密的商業數據,敏感的登入信息和包含加密口令的內核文件等腳本的副本。目錄與共享區域同樣有類似的問題也很容易滲透。

    如果是將tmpdir環境變量設置為私人的,單用戶臨時目錄。保證在系統腳本啟動時系統范圍內umask是027,可以在(~user/.profile文件)中指定umask 值。再增加cron作業,檢查啟動腳本中不合適的umask設置。在看下服務器上的/tmp和其他的目錄,對/tmp執行spot檢查。更好的就是用一個軟件(tmpwatch)來監視/tmp目錄下的可預測文件名。調用 umask(2) 來強制將文件設置為受限的值,只需要調用庫函數 mkstemp(3),就可以打開文件。要注意的是, mkstemp(3) 不直接支持 TMP 或 TMPDIR 環境變量

    2. 未經授權的數據修改/刪除:這種風險分2種(1)由于用戶的疏忽,將文件的的寫權限對所有用戶開放(2)目錄的寫權限對所有用戶開放。如果在一個寫權限對所有用戶都開放的目錄中創建了一個文件,那么任意用戶都可以修改。刪除該文件。在通過NFS共享的文件系統中在存在這樣的問題,這種情況中的唯一例外是目錄設置有粘代(sticky)位。如果文件的許可權限是被鎖住的,那只有文件的擁有者可以對文件進行操作。這種情況一般不明顯,因為可寫的目錄可能是當前目錄的父目錄,也可能是父目錄的父目錄的父目錄。一個很極端的可能就是,如果根目錄(/)是任何人可寫的,這樣攻擊者就可以替換文件系統中的任何文件。任何直接屬于根目錄(/)下的目錄都會發生這樣的情況

    只要是禁用系統內核中通過ulimit命令創建文件的方式(不要同內核的crash dumps命令弄混)。目前的UNIX系統內核在set-uid程序出現問題時會拒絕轉儲內核,這是因為有可能回泄露敏感信息。但是,特權守護程序中和應用程序進程也會轉儲內核,從而將大量的敏感信息寫入所有用戶可讀的內核文件。想驗證是不是有這樣的漏洞可以同過發一個QUIT信號來檢查無法工作的網絡服務,查看是否在當前的工作目錄中轉儲存了內核(/proc或者lsof)

    PS:AIX set-uid set-gid 中的安全漏洞[來自綠盟]

    setuid root 程序:
    /usr/bin/setsenv *
    [ x=$s ]
    /usr/lib/lpd/digest *
    [ $s x ]
    /usr/sbin/portmir *
    [ -t $s -d x ]
    /usr/bin/enq
    [ -M $s ]
    /usr/bin/setclock
    [ $s ]
    /usr/lib/lpd/pio/etc/pioout
    [ PIO{DEVNAME,PTRTYPE}=$s ]

    setgid printq 程序:
    /usr/lib/lpd/piobe *
    [ PIOSTATUSFILE=x PIO{TITLE,VARDIR}=$s ]
    /usr/lib/lpd/pio/etc/piomkapqd *
    [ -p $s ]
    /usr/bin/splp
    [ $s ]

    后面標*號的程序表明已經被證實確實可以被用來攻擊的程序。

    在內核配置文件中設置chown_restricted變量為真來預防文件權限的移交,但是許多的UNIX版本不允許文件giveaways。也可以考慮通過getfacl與setfacl命令(也就是sloaris)使用擴展ACL(在被支持的部分),這樣可以擴展在inode中存放的訪問信息 [ 有關set-uid程序中的編程錯誤,是UNIX一個重要的安全威脅 ]

    3. 資源消耗:每個文件系統都有固定的文件節點。不論系統是不是還有剩余空間,當所有的節點被分配時,系統就無法創建任何新文件,有寫系統中不可寫涉及到/tmp文件時,就會使整個系統崩潰。除非在系統內核中已經將文件giveaways(非ROOT用戶修改文件所有權的能力)設置為無效,否則惡意用戶為了嫁禍于其他用戶而通過運行chown命令將自己創建的文件修改成被攻擊用戶的所有權,占用系統中的所有的剩余空間。這個問題就好解決了關閉一些起不常用卻存在安全隱患的應用、對一些保存有用戶信息及其口令的關鍵文件(如/.rhost、etc/host、passwd、shadow、group)等,再就是把系統升級

    4. 具有可預測文件名的臨時文件:如果一個程序在other用戶具有寫權限的目錄中(一般是/tmp)創建的是可以預測名字的文件,那么該程序就可以利用來改寫或者刪除文件。其他用戶可以提前猜測文件的名字并創建一個到系統文件的符號連接。當該程序運行時,就會向系統文件中寫入數據,造成系統崩潰。如果這是一個用戶口令文件,用戶就會遭到拒絕服務攻擊。不要信任可以被黑客設置的文件名。Linux 和 Unix 允許用任意的字符序列來作為文件名,所以,如果正在使用一個來自攻擊者的目錄或者接受他的一個文件名,一定要有所準備。黑客可以創建以"-"開頭的文件名,或者含有"&"等特殊字符的文件名。

    檢查下自己的shell腳本,將所有公共可寫的目錄引用更改成自己的/tmp目錄。在創建文件時不要依據時間,日期或者進程ID,或者一個功能很小的偽隨機數產生器起名。還有要注意的就是umask 命令是一個內置的shell 命令,可以從shell 提示符下直接運行( umask 027 )

    [1]     

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>