萬盛學電腦網

 萬盛學電腦網 >> 應用技巧 >> Webmaster網絡安全講座:4.賬號安全

Webmaster網絡安全講座:4.賬號安全

Webmaster網絡安全講座:第四講 賬號安全

作者:(webmaster網絡技術學院)

用戶帳號不適當的安全問題是攻擊侵入系統的主要手段之一。其實小心的帳號管理員可以避免很多潛在的問題,如選擇強固的密碼、有效的策略加強通知用戶的習慣,分配適當的權限等。所有這些要求一定要符合安全結構的尺度。介於整個過程實施的復雜性,需要多個用戶共同來完成,而當維護小的入侵時就不需要麻煩這些所有的用戶。

整體的安全策略中本地帳號的安全是非常重要的。這節課,我們將探討用不同的方法來保護本地帳號的安全。

本章要點:

· 描述帳號安全和密碼之間的關系

· 在Windows NT和UNIX系統的實現安全帳號的技術

· 在NT下實施密碼策略的步驟

· 描述UNIX密碼安全及密碼文件的格式

· 分析UNIX下的安全威脅,拒絕帳號訪問和監視帳號


密碼的重要性

密碼是UNIX和Windows NT安全基礎的核心。如果危及到密碼,那個基本的安全機制和模式將遭到嚴重影響。為了選擇強固的密碼,你需要在帳號策略裡設置更多相關的選項。你還要幫助用戶選擇強壯的密碼。

一個強固的密碼至於要有下列四方面內容的三種:

· 大寫字母

· 小寫字母

· 數字

· 非字母數字的字符,如標點符號

強固的密碼還要符合下列的規則

· 不使用普通的名字或昵稱

· 不使用普通的個人信息,如生日日期

· 密碼裡不含有重復的字母或數字

· 至少使用八個字符

從黑客的思想考慮,避免密碼容易被猜出或發現(比如不要寫到紙條上放到抽屜裡)。

NT下的密碼安全

在NT下為了強制使用強壯的密碼,你可以更改注冊表裡的LSA值來實現,叫passfilt.dll,這個文件可以在Windows NT的Service Pack2及以後的版本裡找到。在LSA鍵值下需要添加Notification Packages字串並把值為passfilt.dll加進去。這串值必須在公司所有的域控制器裡都加入。同時你還需要使用passprop.exe這個程序來使passfilt.dll生效。

UNIX下的密碼安全

在UNIX中加密後的密碼信息是存在一個文件裡,通常是/etc/passwd 。維護好這個文件的安全性是非常重要的。在UNIX系統裡它的屬主是具有最高權限的帳號,即root的。UNIX基本上有兩類用戶:普通用戶和系統特權用戶。有時特權用戶也被不確切地叫做超級用戶。實際上,一個超級用戶帳號的標識號是為零。當一個帳號建立的時候,會被分配一個唯一的標識數字(UID)。這個數字分配從0開始,最低的數字(也就是最高的權限)是分配給登陸帳號root的。Root可以執行任何程序,打開任何目錄,檢查任何文件,改變系統內任何對象的屬性及其它任意的功能。任何對於攻擊UNIX系統的黑客最終目的都是取得Root帳號。

Root掌管/etc/passwd文件。此文件可以被所有登陸的用戶讀取,它包含每一個用戶的認證信息。因此,在簡單的UNIX系統上任何人都可以復制這個文件的內容並分析哪個字段是包含加密後的密碼。然後利用不同的密碼一系列的嘗試和/etc/passwd加密後的字串進行比較。因此,密碼的選擇是UNIX系統安全級別中最重要的。

Windows NT帳號安全

首先,也是最困難的任務就是確保只有必需的帳戶被使用而且每個帳號僅有能滿足他們完成工作的最小權限。在一個大型的公司裡,通常是用一個或多個用戶域集中管理所有的用戶帳號。域是一個中央集權的帳號數據庫可以在分布於公司中間。因此有經驗的管理員盡量地把用戶放到較少的域裡面以便於管理。這種限制通常促進公司策略的粘附性。本地組創建本地資源並管理權限。本地資源的機器要被配置成信任集中帳號域。但有時這種設置也是不可行的,因為和遠程站點間沒有足夠的帶寬。

有幾種技術可以解決帳號安全的問題。其中一個主要關心的是確保不再有新的帳號建立或已存在的帳戶權限不作改動。另一個簡單的方法就是利用net user和net group命令把信息定向到一個文體文件裡後進行比照。有規律地運行這些命令並對輸出的文本文件中的帳號列表進行比較就能輕易地發現問題。一些內置的工具,比如系統任務進度表程序,可以自動的執行。也可以使用其它一些外部工具比如Perl或diff可以自動地對標准列表和當前的設置進行比照。

帳號重命名

另一個可靠的辦法就是對默認的帳號重命名。包括administrator、guest以及其它一些由安裝軟件時(如IIS)所自動建立的帳號。這些帳號必須好好保護因為它們易受攻擊。然而簡單地重命名帳號並不能很好地隱藏它們。因為Windows NT必須知道哪一個是管理員帳號,管理員帳號當前的名字是保存在注冊表裡的。

帳號策略

為了保持用戶數據庫不被侵犯,你必須強制用戶養成良好的習慣在帳號的設置上要能有效地防止黑客使用暴力破解的方法來攻擊。這些任務主要是通過Windows NT上的帳號策略上設置的。帳號策略的設置是通過域用戶管理器來實施的,從策略的菜單中選擇用戶權限,第一項是有關密碼的時效,第二項是有關密碼長度的限制,以及帳號鎖定等機制。

實現強壯的密碼

大多數情況下,僅養成使用好密碼的習慣是不夠的;你還需要使用更強壯的密碼來有效阻止類似於字典攻擊和暴力破解攻擊。我們前面已經討論,一個強壯的密碼至少需要六個字符,不能包括用戶名的任何一部分,並且至少要有大小寫字母、數字和通配符等。為了實施強壯的密碼你需要在注冊表裡LSA項加入本課已提過的其它的密碼過濾器。在主域控制器或在任一可能會升級為主域控制器的備份域控制器上,你都需要在注冊表HKLM\System\CurrentControlSet\Control\LSA中加入PASSFILT的字串。


Windows2000帳號大漏洞

在Windows2000啟動之後,按照屏幕提示按下ALT+CTRL+DEL進行登錄,在登錄界面將光標移至用戶名輸入框,按鍵盤上的Ctrl+Shift鍵進行輸入法的切換,屏幕上出現輸入法狀態條,在出現的“全拼”輸入法中將鼠標移至輸入法狀態條點擊鼠標右鍵,出現的選單中選擇“幫助”,然後繼續選擇“輸入法入門”,在窗口頂部會出現幾個按鈕,奧妙就在“選項按鈕”上。如果系統是未安裝Windows2000 ServicePack1或IE5.5的系統,用鼠標左鍵點擊選項按鈕,在出現的選單中選擇“主頁”,這時在已出現的幫助窗口的右側會出現IE浏覽器界面中的“此頁不可顯示”頁面,其中有個“檢測網絡設置”的鏈接,點擊它就會出現網絡設置選項,這樣任何人都可以對網絡設置甚至控制面板做任何修改。或者之前用鼠標左鍵點擊“選項”按鈕時,在出現的選單選擇“Internet選項”中,就可以對主頁、連結,安全、高級選項等做任何修改。最為嚴重的是用鼠標右鍵點擊先前提到的“選項”按鈕會出現一個選單,選擇“跳至URL”,這時出現一個對話框,其中有一個跳至該URL輸入框,輸入你想看到的路徑,比如c:,那麼這時在已出現的幫助窗口的右側會出現資源管理器c盤的界面顯示,這時已經是系統管理員權限對C盤進行操作了。操作者可以對看到的數據做任何的操作,這樣他就完全繞過了Windows2000的登錄驗證機制。

如果系統是安裝了Windows2000 ServicePack1或IE5.5的系統,上面所用的“網絡設置選項”就不能執行了,但“Internet選項”仍可執行。資源管理器界面仍可出現,通過路徑輸入,所有的文件夾中的文件和根目錄下的文件都可看到,但已不能直接對文件夾和文件進行操作,然而仍可以用鼠標右鍵點擊文件夾和文件選擇進行刪除、重命名和發送到軟盤等操作,而且更為嚴重的是操作者可以對文件夾進行共享操作,在單個文件出現的對話框中選擇屬性,就可以任意添加共享權限,如任何人都能完全控制的權限,這樣網絡中的所有人都可以通過網絡遠程登錄完全控制所有數據資料!

 

UNIX帳號安全

在討論UNIX帳號安全,你首先要理解UNIX密碼的安全。這種理解需要檢查密碼文件的格式。你可以利用下面的命令來得到幾種特殊密碼的格式

$ man 5 password

密碼文件包括幾個字段,在表2-1作了詳細解釋

 

字 段 用 處
登陸名字
用戶登陸時所真正使用的名字

加密後的密碼
在UNIX中,密碼是用高強度的DES算法來進行加密並保存結果

UID
用戶唯一的標識號

GID
用戶組的標識號

用戶名
用戶真正的名字

HOME
默認的主目錄

SHELL
默認的程序SHELL接口




密碼文件在顯示的時候是加密的;這種顯示叫做Shadow密碼,通常創建在/etc/shadow,並屬於root且只有root有權訪問。

密碼時效

按目前的形勢,已有更強大的硬件大大地縮短了利用自動運行的程序來猜測密碼的時間。因此在UNIX系統中防止密碼被攻擊的別一方法就是要經常地改變密碼。很多時候,用戶卻不改變密碼。因此一種機制用來強制規律性的更改密碼是合乎要求的。這種技術稱做密碼時效並在很多UNIX系統上有效。

密碼時效:LINUX

在LINUX系統上,密碼時效是通過chage命令來管理的。

 

參 數 意 思

-m 密碼可更改的最小天數。如果是零代表任何時候都可以更改密碼
-M 密碼更改的最大天數
-W 用戶密碼到期前,提前收到警告信息的天數。
-e 帳號到期的日期。過了這天,此帳號將不可用。
-d 上一次更改的日期
-i 停滯時期。如果一個密碼已過期這些天,那麼此帳號將不可用。
-l 例出當前的設置。由非特權用戶來確定他們的密碼或帳號何時過期。

舉個例子

% chage ?m 2 ?M 30 ?W 5 steven

此命令要求用戶steven兩天內不能更改密碼,並且密碼最長的存活期為30天,並在密碼過期前5天通知他。

記錄不成功的登陸企圖

所有的UNIX系統都能夠記錄非成功的登陸企圖。在LINUX中,登陸的失敗是由syslog守護進程記錄在/var/log/messages文件裡。可以用下列
copyright © 萬盛學電腦網 all rights reserved