备注:
本文选自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个字符长度的口令