備注: 本文選自ChinaITLab網校課程《CIW網絡安全工程師V3.0》,點擊這裡了解更多!
本小節的要點包括: ●常用網絡服務安全 ■DNS ■WWW ■WEB ■FTP ●Linux帳戶安全 ■LINUX系統帳戶文件 ■LINUX系統帳戶安全 ●LINUX文件系統安全 ■文件權限分類 ■文件和目錄的訪問對象 ■UMASK值 ■不可改變位 ■SUID/SGID文件 ■文件完整性 ■文件加密 ■備份策略
1 常用網絡服務安全 1.1 域名(dns)服務 1.1.1 DNS基本原理 1、DNS術語、特性: ●互連網上主機信息的分布式數據庫 ●域名服務器 ●解析器即客戶機 ●域名查詢采用UDP協議,而區域傳輸采用TCP協議 ●域名解析過程分為兩種方式:遞歸模式和交互模式
2、域名解析過程 典型的域名解析過程如圖1所示。 圖1 域名解析過程
3、BIND主要配置文件 BIND的主要配置文件包括: ●named配置文件:/etc/named.boot、etc/named.conf ●DNS數據文件 ●反向解析順序文件/etc/resolv.conf 1.1.2 DNS服務器的常見攻擊方法 DNS服務器的常見攻擊方法包括: ●地址欺騙 ●遠程漏洞入侵 ●拒絕服務 1、地址欺騙 如圖2所示。 圖2 地址欺騙 2、緩沖區溢出漏洞 解決辦法: ●安裝最新BIND ■http://www.isc.org/prodUCts/BIND/bind9.Html 3、DNS服務器的拒絕服務攻擊 ●針對DNS服務器軟件本身 ●利用DNS服務器作為中間的"攻擊放大器",去攻擊其它intetnet上的主機 1.1.3 Bind服務器安全配置 ●基本安全配置 ■隱藏版本信息 ■named進程啟動選項: -r:關閉域名服務器的遞歸查詢功能(缺省為打開)。 -u 和-g :定義域名服務器運行時所使用的UID和GID。 -t :指定當服務器進程處理完命令行參數後所要chroot()的目錄。 ●Bind服務器的訪問控制 ■限制查詢 ■限制區域傳輸 ■關閉遞歸查詢 ■Bind服務器安全配置 /etc/named.conf options { Directory "/var/named"; allow-query 202.96.44.0/24; allow-transfer { 192.168.100.1; 202.96.44.0/24; recursion no; }; }; ●設置chroot運行環境 ■chroot 是 "change root" 的縮寫 ■chroot重定義了一個程序的運行環境。重定義了一個程序的"ROOT"目錄或"/"。也就是說,對於chroot了的程序或shell來說,chroot環境之外的目錄是不存在的。 ■Chroot方法步驟: 建立"監獄式"目錄 拷貝本身服務軟件和其他要求的文件 拷貝所需要系統庫文件 變換啟動腳本,使系統啟動正確環境 ●及時更新安裝bind的最新版本 1.2 WWW服務 1.2.1 常見安全威脅 對於WWW服務,常見安全威脅包括: ■HTTP拒絕服務:攻擊者通過某些手段使服務器拒絕對HTTP應答 ■緩沖區溢出 1.2.2 Web服務器(apache)配置文件 控制著服務器各個方面的特性的三個配置文件: ■httpd.conf主配置文件,是對守護程序httpd如何運行的技術描述 ■srm.conf是服務器的資源映射文件,告訴服務器各種文件的MIME類型,以及如何支持這些文件 ■Access.conf用於配置服務器的訪問權限,控制不同用戶和計算機的訪問限制 1、Apache的基本安全配置 ■及時更新安裝Apache的最新版本 ■設置chroot運行環境 ■隱藏版本信息 2、Apache服務器訪問控制 ■文件的訪問控制 ■目錄的訪問控制 ■主機的訪問控制 ■access.conf文件包含一些指令控制允許某個用戶、某個域、IP地址或者IP段的訪問訪問Apache目錄。 ■order deny,allow ■deny from all ■allow from sans.org ■使用.htaccess文件,可以把某個目錄的訪問權限賦予某個用戶 1.3 mail服務 1.3.1 Sendmail的主要安全問題 ■郵件轉發與垃圾郵件 ■避免未授權的用戶濫用noeXPn,novrfy ■限制可以審核郵件隊列內容的人員 ■(/etc/sendmail.cf: PrivacyOptions=authwarnings,noexpn,novrfy,restrictmailq) ■關閉relay選項 ■及時更新安裝最新版本的Sendmail ■文件系統安全 ■拒絕服務攻擊 1、關閉relay選項 sendmail提供了許多在編譯期間選擇的功能特性 在/etc/sendmail.mc中與安全相關的特性有: ■FEATURE(*) ■promiscuous_relay ■accept_unqualified_senders ■loose_relay_check ■accept_unresolvable_domains ■blacklist_recipients ■relay_entire_domain 2、郵件轉發與垃圾郵件 設置smtp身份驗證。 3、文件系統安全 重要的文件設置不可更改位 ■[root@deep]# chattr +i /etc/sendmail.cf ■[root@deep]# chattr +i /etc/sendmail.cw ■[root@deep]# chattr +i /etc/sendmail.mc ■[root@deep]# chattr +i /etc/aliases ■[root@deep]# chattr +i /etc/mail/access 4、Sendmail配置抵御DOS ■/etc/sendmail.cf üMinFreeBlocks--配置最少的自由塊數 ■MaxMessageSize--最大郵件大小 ■AutoRebuildAliases--自動重建別名 ■QueueLA--隊列平均負荷 ■RefuseLA--平均負荷拒絕臨界點 ■MaxDaemonChildren--最大的守護進程的子進程數 ■MaxHeadersLength --最大的報頭長度 ■MaxMimeHeaderLength --最大MIME編碼報文長度 ■MaxRecipientsPerMessage --每封郵件的最多接收者 1.4 FTP 了解那些FTP有安全問題: ■wu-ftpd -(wu-ftpd 2.6.0 輸入驗證漏洞、site newer 內存耗盡問題) ■proftpd 1.4.1 Ftp安全要點 ■使用最新版本 -http://www.wu-ftpd.org/ 2.6.2 -http://www.proftpd.org/ 1.2.9 ■使用ftpuser限制ftp用戶 ■使用ftpaccess控制用戶行為,流量等等 ■設置chroot運行環境 o使用ssh或sftp代替ftp
2 UNIX系統帳號安全 2.1 UNIX系統帳號文件 2.1.1 Passwd文件剖析 ■name:coded-passwd:UID:GID:user-info:home-directory:shell passwd文件字段含義: ■7個域中的每一個由冒號隔開。 ■name-給用戶分配的用戶名。 ■Coded-passwd-經過加密的用戶口令。如果一個系統管理員需要阻止一個用戶登錄,則經常用一個星號( : * :)代替。該域通常不手工編輯。 ■UID-用戶的唯一標識號。習慣上,小於100的UID是為系統帳號保留的。 ■UNIX系統帳號安全 ■GID-用戶所屬的基本分組。通常它將決定用戶創建文件的分組擁有權。 ■User_info-習慣上它包括用戶的全名。郵件系統和finger這樣的工具習慣使用該域中的信息。 ■home-directory-該域指明用戶的起始目錄,它是用戶登錄進入後的初始工作目錄。 ■shell-該域指明用戶登錄進入後執行的命令解釋器所在的路徑。注意可以為用戶在該域中賦一個/bin/false值,這將阻止用戶登錄。 2.1.2 shadow文件 shadow文件內容如圖3所示。 圖3 shadow文件 其內容中各字段含義: ■上一次修改口令的日期,以從1970年1月1日開始的天數表示。 ■口令在兩次修改間的最小天數。口令在建立後必須更改的天數。 ■口令更改之前向用戶發出警告的天數。 ■口令終止後帳號被禁用的天數。 ■自從1970年1月1日起帳號被禁用的天數。 ■保留域。 2.2 UNIX系統帳號安全 2.2.1 禁用的口令 ■不要選擇簡單字母序列組成的口令(例如"qwerty"或"abcdef")。 ■不要選擇任何指明個人信息的口令(例如生日、姓名、配偶姓名、孩子姓名、電話號碼、社會保障號碼、汽車牌號、汽車執照號、居住的街道名稱等)。 ■不要選擇一個與要替換的口令相似的新口令。 ■不要選擇一個包含用戶名或相似內容的口令。 ■不要選擇一個短於6個字符或僅包含字母或數字的口令。 ■不要選擇一個所有字母都是小寫或大寫字母的口令。 ■不要選擇一個被作為口令范例公布的口令。 2.2.2 好的口令 ■選擇一個至少有10個字符長度的口令