原文地址:http://netsecurity.51cto.com/art/200512/15131.htm
本文选自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、域名解析过程
典型的域名解析过程。
3、BIND主要配置文件
BIND的主要配置文件包括:
●named配置文件:/etc/named.boot、etc/named.conf
●DNS数据文件
●反向解析顺序文件/etc/resolv.conf
1.1.2 DNS服务器的常见攻击方法
DNS服务器的常见攻击方法包括:
●地址欺骗
●远程漏洞入侵
●拒绝服务
1、地址欺骗
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-query202.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文件
其内容中各字段含义:
■上一次修改口令的日期,以从1970年1月1日开始的天数表示。
■口令在两次修改间的最小天数。口令在建立后必须更改的天数。
■口令更改之前向用户发出警告的天数。
■口令终止后帐号被禁用的天数。
■自从1970年1月1日起帐号被禁用的天数。
■保留域。
2.2 UNIX系统帐号安全
2.2.1 禁用的口令
■不要选择简单字母序列组成的口令(例如"qwerty"或"abcdef")。
■不要选择任何指明个人信息的口令(例如生日、姓名、配偶姓名、孩子姓名、电话号码、社会保障号码、汽车牌号、汽车执照号、居住的街道名称等)。
■不要选择一个与要替换的口令相似的新口令。
■不要选择一个包含用户名或相似内容的口令。
■不要选择一个短于6个字符或仅包含字母或数字的口令。
■不要选择一个所有字母都是小写或大写字母的口令。
■不要选择一个被作为口令范例公布的口令。
2.2.2 好的口令
■选择一个至少有10个字符长度的口令。
■选择一个包含非字母字符的口令,包括数字和特殊字符,如~ ! @ $ % ^ * ( ) _ - + ={ } [ ] | \ : ; ' " , . ? / 。
■选择一个容易记住而不必写下来的口令。
■选择一个不用看键盘而能迅速键入的口令,使偷看的人不能识别出键入的字符。
■禁止写下口令
2.2.3 安全缺省帐号
Linux系统中安全缺省帐号。
2.2.4 UNIX系统帐号安全事项
UNIX系统帐号安全注意事项:
●禁用和删除帐号
■禁用帐号最快的方式是在/etc/passwd或影子口令文件中用户加密口令的开始加一个星号(*)。该用户将不能再次登录。
■删除帐号
■userdel jrandom
删除一个帐号时要完整。
杀死任何属于该用户的进程或打印任务。
检查用户的起始目录并为任何需要保存的东西制作一个备份。
删除用户的起始目录及其内容。
删除用户的邮件文件(/var/spool /mail)。
把用户从邮件别名文件中删除(/usr/lib/aliases)。
如果事先知道用户帐号将在哪天终止,则考虑在/etc/shadow中设置口令和帐号终止域。
●Root帐号安全性
■确保root只允许从控制台登陆
■限制知道root口令的人数
■使用强壮的密码
■三个月或者当有人离开公司是就更改一次密码
■使用普通用户登陆,用su取得root权限, 而不是以root身份登录
■设置 umask 为077 ,在需要时再改回022
■请使用全路径执行命令
■不要允许有非root用户可写的目录存在root的路径里
■确保root没有~/.rhosts文件
■确保root的cron job文件里没有执行属于其它用户或人人可写的文件
■修改/etc/securetty,去除终端ttyp0-ttyp9,使root只能从console或者使用ssh登陆。
■禁止root用户远程登录
linux下: -/etc/pam.d/login -auth required pam_securetty.so
其它多数系统: -/etc/default/login -CONSOLE=/dev/console
■自动帐号封锁-能够声明尝试登录失败的最大次数;一旦到达这个次数就封锁该帐号
■日期和时间限制-能够声明在一周或一天的什么时候可以使用一个用户的帐号;这是为了防御深更半夜的黑客
■自动登录退出-可以使长时间无反应的用户会话自动终止;这是有风险的,因为可能因一个合法的原因使一个会话显得不活跃
●密码策略
■密码长度的强制定义 -修改 /etc/login.defs -PASS_MIN_LEN 5
■为 PASS_MIN_LEN 8
■设置root登陆的timeout -/etc/profile: export TMOUT=7200
■用chage命令管理口令周期
chage -l username
[-m 最短周期] [-M 最长周期] [-I 口令到期到被锁定的天数]
[-E到期日期] [-W 口令到期之前开始警告的天数] username
●受限制的登录shell:
■编辑profile文件(vi /etc/profile),把这些行改成:
■HISTSIZE=20
●策略传播
●进行口令检查
●产生随机口令
●提前进行口令检查
●口令更换
3 UNIX文件系统安全
3.1 文件权限分类
■读:允许读文件和目录内容。
■写:允许修改、删除文件。
■执行:允许执行二进制程序和脚本
■目录粘着位:用户不能删除该目录下没有写权限的文件,尽管他对目录有写权限。
■SUID: 程序以所有者而不是执行者的身份执行。
■SGID(文件): 类似SUID,程序以所在组的权限运行。
3.2 文件和目录的访问对象
■文件所有者;
■文件所有组;
■其它人。
其中,文件权限的8进制表示。属主,组,其它分别以一个8进制位表示,其中: -r - 4 -w - 2 -x - 1
例子: "-rwxr-x---" 8进制表示为0750 0400 0200 0100 0040 0000 0010 +0000 ------------- 0750
文件权限命令
■chmod (改变权限)
■#chmod o+r file
■(用户(u)、分组(g)、其他(0))
■c h o w n(改变拥有权)
■#chown user1 file
■c h g r p(改变分组)
■#chgrp group1 file
3.3 umask值
当创建了一个新文件或目录时,它基于用户的权限屏蔽"umask"来确定缺省的权限设置。chmod命令用来声明要打开的权限,而umask命令用来指明要禁止的权限。
它用一个简单的三位数变元来声明在一个文件或目录被创建时应该被禁止的访问权限-或被屏蔽的。
umask主要在系统范围及个人的登录文件.login或.profile中建立。
3.3.1 文件权限
■应该设置root用户的umask为077,这使其它用户不能读写root新创建的文件。
■在多数系统中,u m a s k的缺省值是0 2 2。
3.3.2 附加的文件权限属性
■linux的ext2/ext3文件系统 -lsattr -chattr
■i 禁止修改
■#chattr +i files
■#chattr -i files
3.4 给口令文件和组文件设置不可改变位,
■[root@cnns]# chattr +i /etc/passwd
■[root@cnns]# chattr +i /etc/shadow
■[root@cnns]# chattr +i /etc/group
■[root@cnns]# chattr +i/etc/gshadow
3.5 SUID和SGID文件
■SUID表示"设置用户ID",SGID表示"设置组ID"。当用户执行一个SUID文件时,用户ID在程序运行过程中被置为文件拥有者的用户ID。如果文件属于root,那用户就成为超级用户。同样,当一个用户执行SGID文件时,用户的组被置为文件的组。
■Unix实际上有两种类型的用户ID。
■"real user ID"是在登录过程中建立的用户ID。 "effective user ID"是在登录后的会话过程中通过SUID和SGID位来修改。
■#find /-type f \ (-perm -4000 -o -perm -2000\) -ls
■这告诉find列出所有设置了SUID("4000")或SGID("2000")位的普通文件("f")。应该在每个本地系统中运行它。
■[root@kcn]# chmod a-s /usr/bin/chage
3.6 文件完整性
■确保操作系统文件,尤其可执行程序/bin,/sbin,/usr/bin/usr/sbin)不被修改。
■许多rootkit都要替换系统程序(如login,netstat,ps,ls等)来隐藏自己及安装后门
■一般通过计算文件校验码(如MD5码)的方式来检验文件完整性
■#md5sum --check bin.sum
■RPM检验和签名检查(linux)
■# rpm --verify timed -0.10-2
3.7 文件加密
Unix常用的加密算法有crypt(最早的加密工具)、DES(目前最常用的)、IDEA(国际数据加密算法)、RC4、Blowfish(简单高效的DES)、RSA。
PGP还可以用来加密本地文件。现在常用的Linux下的PGP工具为:pgpe(加密)、pgps(签名)、pgpv(确认/解密)、pgpk(管理密钥)
3.8 备份策略
3.8.1 备份策略包括
■第0天备份
■完全备份
■增量式备份
■特别备份
3.8.2 备份命令
■cp
■Tar(用于磁带机)
■Dump(把整个文件系统拷贝到备份介质上)
■-#dump 0f0 /dev/rst0 1500 /dev/sd0a
■把一个SCSI硬盘(/dev/rsd0a)以0级备份到磁带(/dev/rst0)。
■Restore(恢复整个文件系统或提取单个文件)
3.8.3 备份要注意的问题
■检验备份
■保护备份介质
■把备份磁带写保护
■定期把备份送到远离站点的地方
■要留神介质的限制
分享到:
相关推荐
UNIX操作系统是一种多用户、多任务的操作系统,具有强大的网络功能和良好的可移植性,它的设计理念、系统结构及其丰富的软件工具对后世的操作系统产生了深远的影响。UNIX的历史可以追溯到1969年,由美国贝尔实验室的...
《Unix操作系统学习手册》是一本全面且深入的指南,旨在帮助读者掌握Unix操作系统的配置与命令使用。Unix系统,作为一种历史悠久、广泛应用于服务器和科研领域的多用户、多任务操作系统,其强大而灵活的命令行界面和...
UNIX操作系统安全是信息技术领域的重要议题,特别是在网络安全日益严峻的今天。UNIX系统因其稳定性和灵活性而广泛应用于企业级服务器和科研环境中,但也面临着多种安全挑战。本篇内容将深入探讨UNIX操作系统的安全...
"UNIX/AIX操作系统基础教程笔记(1-3章)" UNIX/AIX操作系统基础教程笔记是 UNIX/AIX 初学者阅读的不二之选。这篇笔记详细介绍了 UNIX 操作系统的基础知识,包括 UNIX 操作系统的特征、结构、文件系统、文件类型、...
### 华为UNIX操作系统培训教材知识点详述 #### 第1章 UNIX操作系统概述 - **UNIX操作系统简介**:UNIX,作为一款历史悠久的操作系统,自1969年在贝尔实验室诞生以来,便以其卓越的性能和稳定性在全球范围内获得了...
标题中的“Unix操作系统 网络相关的两个安全问题”指的是在Unix系统中,与网络连接相关的安全性挑战。描述提到了一种被广泛认为是最安全的关机用户方法,但这种方法在网络环境中仍然存在安全隐患。标签“软件”暗示...
- 定期检查并安装操作系统和应用软件的补丁。 - 确认补丁来源的可靠性并测试补丁在系统中的兼容性。 #### 4.2 服务进程和启动 服务进程和启动措施包括: - 禁用不需要的服务,减少潜在的安全风险。 - 管理启动...
UNIX操作系统提供了多种内置的安全机制来保障系统的安全性: 1. **口令认证**:这是最基本也是最重要的安全机制之一。通过设置强密码,可以有效地阻止未经授权的用户访问系统。此外,还可以利用口令强度检查工具来...
Unix操作系统是计算机科学领域历史悠久且极其重要的操作系统之一,它的设计理念强调简洁、高效和可移植性。这个名为"Unix操作系统.rar"的压缩包文件显然包含了针对初学者的学习资料,旨在帮助他们掌握Unix的基本操作...
【华为UNIX操作系统培训教材】 本教材详细介绍了华为UNIX操作系统的使用和管理,旨在帮助读者深入理解和熟练掌握UNIX系统的基本操作和高级功能。以下是对各章节主要内容的概括: **第1章 UNIX操作系统概述** 本章...
本文将深入探讨使用`drd`(Disk Replication Director)命令进行HP-UNIX操作系统克隆的详细步骤。 首先,了解基本的磁盘管理命令`ioscan`。这个命令用于查看系统的硬件资源,包括磁盘设备。在示例中,我们可以看到...
### Unix操作系统核心知识点 #### 一、Unix操作系统概述 **1.1 Unix操作系统简介** - **起源与发展**:Unix操作系统最初由Ken Thompson于1969年在AT&T的贝尔实验室开发出来,作为多用户、多任务的操作系统,主要...
总之,《AIX UNIX操作系统教程》将引导你全面地了解和掌握AIX操作系统,从基础操作到高级特性的运用,从系统管理到网络服务,从安全性到故障排查,全方位提升你在AIX领域的专业能力。通过深入学习,你将能够自信地...
以上只是Unix操作系统基础使用的一部分内容,深入学习还包括系统配置、安全管理、网络服务设置等方面。"UNIX操作系统基础使用手册.pdf"应该包含了这些详细信息,配合"中国IT认证实验室学习下载频道.txt"可能提供的...
《UNIX操作系统基础使用手册》是一本面向初学者的指南,旨在帮助读者理解并掌握UNIX操作系统的使用技巧。作为一款历史悠久且广泛应用于科研、工程领域的操作系统,UNIX提供了强大的命令行工具和丰富的开发环境。以下...
Unix操作系统提供了包括文件系统管理、进程调度、内存管理、设备管理、网络通信及安全服务等在内的核心服务。这些服务使得用户能够执行复杂任务,而无需了解硬件的细节。 对硬件的假设(1.5对硬件的假设): Unix...
UNIX操作系统的启动流程包括运行boot程序,加载boot文件,初始化核心列表,安装根文件系统(rootfs),打开交换设备,并创建初始进程。其中,0号进程产生1号进程,1号进程init是所有进程的祖先,为每个登录的用户创建...
### 如何通过LoadRunner监控Linux和Unix操作系统的资源状况 #### 概述 LoadRunner是一款广泛使用的性能测试工具,能够帮助我们对应用系统进行压力测试、负载测试等,以评估其在不同负载条件下的表现。当涉及到...
操作系统安全配置管理适用于 XX 公司信息大区所有信息系统操作系统安全配置管理,涵盖 AIX 系统、Windows 系统、Linux 系统及 HP UNIX 系统等主要操作系统。 操作系统安全配置管理的规范性引用文件 操作系统安全...