備注: 本小節的要點包括: ●常用網絡服務安全
■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個字符長度的口令