启明星辰认证安全技术工程师培
—UNIX系统安全
课程目
的
..了解UNIX系统的发
展
..了解UNIX的启动原理和脆弱
性
..掌握UNIX的基础使
用
..掌握UNIX系统的安全配
置
..掌握UNIX系统的异常分析及审
计
授课方式:讲解、演示、学员上机操作
UNIX系统安
全
..UNIX系统发展历
史
..为什么介绍UNIX系统安
全
..UNIX系统的启动过
程
..UNIX系统基
础
..UNIX系统安全配
置
..UNIX系统审计分析
Unix的起源与发
展
..起
源
..1969年Ken Thompson,Dennis Ritchie
..发
展
..V1(汇编)、V4(C)、V6(大学)、V7
..分
支
..System V(AT&T)
..BSD
..SVR4
..OSF/1(Open Software Foundation)
Unix的版
本
..SVRx
..AIX(SVR2及部分BSD)
..HP-UX
..SCO(SVR3.2)
..Xenix
..BSD
..*BSD
..Sun Solaris(基于BSD,包含SystemV)
..DEC(Ultrix)
UNIX产品标
准
UNIX产品计算机生产厂
家
SCO UNIX PC兼容
机
SCO公
司
XENIX PC兼容机微
软
, SCO
Digital Unix Dec Alpha
机
Digital公
Solaris Sun工作
站
Sun公
司
AIX IBM机
IBM公司
Unix的发展历程
UNIX系统安
全
..UNIX系统发展历
史
..为什么介绍UNIX系统安
全
..UNIX系统的启动过
程
..UNIX系统基
础
..UNIX系统安全配
置
..UNIX系统审计分析
为什么介绍UNIX安
全
..DOS/Windows 3.x D1
..Windows NT/Windows 2000 C1/C2
..多数商用Unix系
统
C1
..Novell C2
..部份强Unix系统,如Trust solaris C2-B1
..Linux/*BSD没有测评,通常认为在C1-C2
为什么介绍UNIX安
全
..TCP/IP网的主要安全缺
陷
..脆弱的认证机
制
..容易被窃听和监
视
..易受欺骗
..有缺陷的LAN服务和相互信任的主
..复杂的设置和控
制
..基于主机的安全不易扩展
为什么介绍UNIX安
全
..黑客攻击的日益增
长
..新技术应用中不断发现了新的安全漏
..新的服务未经过严格的安全测试就开始使
..早期业务系统均采用UNIX系
统
..大型重要业务大多数采用UNIX系
..黑客攻击最早对象是UNIX系
统
..各种UNIX系统的漏洞层出不穷
为什么介绍UNIX安
全
按照可信计算机评价标准达到C2
..访问控
制
..对象的可用
性
..个人身份标识与认
证
..审计记
录
..操作的可靠性
UNIX系统安
全
..UNIX系统发展历
史
..为什么介绍UNIX系统安
全
..UNIX系统的启动过
程
..UNIX系统基
础
..UNIX系统安全配
置
..UNIX系统审计分析
UNIX系统启动过程简
介
..系统运行模式简
介
.
0 进入EPROM状态(OK状态
)
.
1 管理状态(所有文件系统都挂上的单用
户模式,禁止其他用户登录
)
.
2 多用户模式(没有网络文件共享服务
.
3 多用户模式(有网络文件
共享服务
.
4 未使
用
.
5 退出操作系统并关
机
.
6 重新启动机
器
.
S,单用户模式
Linux启动过程简
介
..在Linux中,系统运行级别是并行式
的,也就是系统加载完内核和mount
/文件系统之后,就会直接跳转到相
应的默认运行级别
。
..在Solaris中,采取了一种串行化的
引导方式。
UNIX系统启动过程简
介
..Solaris的启动分为若干个运行级
别(S,1-6),当系统内核运行完
毕,加载好所有的驱动之后,就会
把控制权移交给/sbin/init进程,
也就是所有进程的父进程,然后
init读取/etc/inittab,依次执
/etc/rc1(2,3)启动脚本,最终到
达inittab中指定的默认运行级
别。
UNIX系统启动过程简
介
..solaris系统启动过
程
Init 0 →Init 1
→
Init 2
→
Init 3
init 0/openboot模式:引导内核,加载硬件驱
动,此时可以选择从cdrom引导进入维护模式
init 1/单用户模式:(加载/分区) 登陆进入维护
模式,或按Ctrl+D进入多用户模
式
init 2/网络工作站模式:(连接网络,运行网络工
作站服务) 运行/etc/rc2脚本连接网络,启
S69inet服务,运行部分inetd网络服
务
init 3/网络服务器模式:(运行各种网络服务) 运
行/etc/rc3脚本启动网络服务器
Solaris的启动过
程
..引导(EEPROM OpenBoot)
..sparc(/platform/`arch`/kernel/unix)
..启动过
程
..init的概念
init 0 openboot模
式
-> (引导内核,加载硬件驱动) 可以选择从cdrom引导进入维护模
|
init 1 单用户模
式
-> (加载/分区) 登陆进入维护模式,或按Ctrl+D进入多用户模
|
init
2
网络工作站模
式
-> (连接网络,运行网络工作站服务) 运行/etc/rc2脚本连接网
| |
| ---->启动S69inet服务,运行部分inetd网络服
务
|
init 3 网络服务器模
式
-> (运行各种网络服务) 运行/etc/rc3脚本启动网络服务器
rc0.d和rc1.
d
.
说
明
.
+代表必须服务,系统正常运行必
须
.
=代表可选服务,由用户环境决
定
.
-代表无效,不必要,或不安全的服
务
.
init inittab rc0 rc1 rc2 rc3 rc5 rc6 rcS init.d
.
init 系统启动超级进
程
.
inittab 进程启动配置文
件
.
rc0 -rc6 各启动级别的启动脚
本
.
rcS 单用户模式启动脚
本
.
init.d 启动脚本存放目
录
.
rc0.d: eeprom OpenBoot状态,可以进入硬件维护模式,或关闭机
器
。
.
rc1.d: 单用户模式,可以对系统进行软件维护
。
.
S01MOUNTFSYS +加载文件系
统
.
S10lu =当运行live update后清理系统
rc2.
d
rc3.
d
.
rc3.d: 多用户模式,启动网络服务器模
式
.
S15nfs.server -启动nfs服务器,NFS网络文件服务
器
.
S13kdc.master -启动Kerberos服务
器
.
S14kdc -启动Kerber
os服务器,Kerberos认证服务
器
.
S16boot.server -启动bootp服务器,boot网络启动服
务
.
S34dhcp = 启动dhcp,DHCP服务
器
.
S50apache -启动apache服务
器
.
S76snmpdx -启动snmp服务器,启动SNMP服务,允许远程网络
管
理
.
S77dmi -启动snmp -dmi服务,SNMP子服
务
.
S89sshd + 启动sshd服务器,SSH服务
器
.
S80mipagent -启动Mobile IP 代理
.
S90samba -启动samba服务器,Samba CIFS网络文件服务器
Ps -ef
启动过程看安
全
..OpenBoot安全级
别
..none :不需要任何口
令
https://www.doczj.com/doc/b65881767.html,mand:除了boot和go之外所有命令都需要口
令
..full:除了go命令之外所有命令都需要口令
..改变OpenBoot安全级
别
..设置口令命
令
#eeprom security-password
..改变安全级别为command
#eeprom security-mode=command
UNIX用户登录过
程
1.用户打开终端电源(或运行telnet)
。
2. getty进程将登录提示信息送到用户终端显
示,并等待用户输入用户名
。
3.用户输入用户名
。
4. getty进程接收到用户名后,启动login进程
5. login进程要求用户输入口令
。
6.用户输入口令
。
7. login进程对username和password进行检查
8. login启动shell进程
。
9. shell进程根据/etc/password中的shell类型,启
动相应的shell。并启动/etc/profile文件
和
$HOME/.profile文件(或$HOME/.login文
件)。最后出现UNIX提示符,等待用户输入
命令。
UNIX用户登录过
程
打开终端-> getty -> login -> sh -> /etc/profile -> $HOME/.profile -> 出现提示符$
UNIX系统安
全
..UNIX系统发展历
史
..为什么介绍UNIX系统安
全
..UNIX系统的启动过
程
..UNIX系统基
础
..UNIX系统安全配
置
..UNIX系统审计分析
UNIX系统基
础
..UNIX系统组
成
..UNIX文件系统基
础
..UNIX帐户管理基
础
..UNIX口令基础
UNIX系统组
成
UNIX Kernel(UNIX内核)
是
UNIX操作系统的核心,指挥调
UNIX机器的运行,直接控制计算机的资源,保护用户程序不受错综
复杂的硬件事件细节的影响
。
UNIX Shell(UNIX外壳)是一
个
UNIX的特殊程序,是UNIX内核
和用户的接口,是UNIX的命令解释器、也是一种解释性高级语言。
UNIX文件系
统
UNIX文件系统结
构
Unix文件系
统
#ls –al test
.
drwxr-xr-x 3 root root 1024 Sep 13 11:58 test
..模式位通常由一列10个字符来表示,每个字符表示
一个模式设
置
.
1:表示文件类型
。
..d表示目录,-表示普通文件,l表示链接文件等
..每个文件和目录有三组权限,一组是文件的拥有
者、一组是文件所属组的成员、一组是其他所有用
户
。
.
"r"表示可读,"w"表示可写,"x"表示可执行。一
9位(每组3位),合起来称
为模式位(mode bits)
Unix文件系统的安
全
..Chmod
..改变文档或目录之属性。
如
#chmod 755 test
..Chown
..改变文档或目录之拥有
权
#chown user1 file1; chown -R user1 dir1
..Chgrp
..改变文档或目录之群组拥有
权
#chgrp group1 file1
UNIX帐户管理基
础
UNIX帐户管理基
础
.
useradd增加用
户
.
userdel删除用
户
.
usermod修改用
户
.
userls显示用户和系统登录信
息
.
passwd修改用户口
令
.
groupadd增加用户
组
.
groupdel删除用户
组
.
groupmod修改用户
组
.
groupls显示用户组的属性
只有root用户和授权用户才能对用户和用户组进
行增加、修改、删除操作。
帐号口令基
础
..Passwd文件剖
析
name:coded-passwd:UID:GID:user-info:home-directory:shell
7个域中的每一个由冒号隔开。空格是不允许的,除非在user-info域中
使用
。
.name—给用户分配的用户名,这不是私有信息
。
.Coded-passwd—经过加密的用户口令。如果一个系统管理员需要阻止
一个用户登录,则经常用一个星号
(
: * :)代替。该域通常不手工编
辑。用户应该使用passwd命令修改他们的口令
。
.UID—用户的唯一标识号。习惯上,小于100的UID是为系统帐号保留
的。
帐号口令基
础
.
Passwd文件剖析(续
)
.GID—用户所属的基本分组。通常它将决定用户创
建文件的分组拥有权
。
.User_info—习惯上它包括用户的全名。邮件系统
和finger这样的工具习惯使用该域中的信息
.home-directory—该域指明用户的起始目录,
是用户登录进入后的初始工作目录
。
.shell—该域指明用户登录进入后执行的命令解释
器所在的路径。注意可以为用户在该域中赋一
/bin/false值,这将阻止用户登录。
UNIX帐号口令基
础
../etc/shadow文
件
..记录了系统用户的加密后口
令
loginID:passwd:lastchg:min:max:warn:inactive
:expire:
#more /etc/shadow
root:LXeokt/C/oXtw:6445:::::
:
daemon:NP:6445:::::
:
bin:NP:6445:::::
:
sys:NP:6445:::::
:
adm:NP:6445:::::
:
lp:NP:6445:::::
:
……
UNIX帐号口令基
础
–
loginID对应用户
名
–
password 加密后的口令。LK表示锁定帐号
NP表示无口
令
–
lastchg最后更改口令的日期与1970年1月1日
之间相隔的天
数
–
min 改变口令需要最少的天
数
–
max 同一口令允许的最大天
数
–
warn 口令到期时,提前通知用户的天
–
inactive 用户不使用帐号多少天禁用帐
– expire 用户帐号过期的天
数
–最后一个字段未用
UNIX系统安
全
..UNIX系统发展历
史
..为什么介绍UNIX系统安
全
..UNIX系统的启动过
程
..UNIX系统基
础
..UNIX系统安全配
置
..UNIX系统审计分析
UNIX系统安全配
置
..UNIX系统基本安装配
置
..帐号和口令安
全
..文件系统安
全
..其它安全配
置
..网络服务安
全
..异常检测和维护
UNIX系
统
..不安装多余组
件
..停止不必要的服
务
..打最新的补丁
UNIX系统安全配
置
..UNIX系统基本安装配
置
..帐号和口令安
全
..文件系统安
全
..其它安全配
置
..网络服务安全
UNIX系统帐号安
全
.禁用和删除不必要的帐
号
–简单的办法是在/etc/shadow
password域前加*
。
–删除账号
– # userdel user1
UNIX系统帐号安
全
. Root帐号安全
性
–确保root只允许从控制台登
陆
–限制知道root口令的人
数
–使用强壮的密码
–一个月或者当有人离开公司是就更改一次密
–使用普通用户登陆,用su取得root权限, 而不
是以root身份登录
UNIX系统帐号安
全
. Root帐号安全
性
–设
置
umask为077 ,在需要时再改回022
–请使用全路径执行命
令
–不要允许有非root用户可写的目录存在root的路
径
里
–修改/etc/securetty,去除终端ttyp0-ttyp9,
root只能从console或者使用ssh登陆。
UNIX系统帐号安
全
禁止root用户远程登录
..多数UNIX系统:
..编辑/etc/default/login文件,添
加
#CONSOLE=/dev/console
..禁止root远程FTP登
录
在/etc/ftpusers里加上root
。
..linux下:
编辑文件/etc/pam.d/login,添
加
/etc/pam.d/login auth required pam_securetty.so
UNIX帐号口令安
全
..设置密码策
略
编辑“/etc/login.defs”
chage -l username
chage [-m 最短周期] [-M 最长周期
[-I 口令到期到被锁定的天数]
[-E到期日期] [-W 口令到期之前开始
警告的天数] username
UNIX系统安全配
置
..UNIX系统基本安装配
置
..帐号和口令安
全
..文件系统安
全
..其它安全配
置
..网络服务安全
Unix文件系统的安
全
.
SUID/SGID
..SUID表示"设置用户ID“;SGID表示"设置组ID"
..当用户执行一个SUID文件时,用户ID在程序运行
过程中被置为文件拥有者的用户ID。如果文件属
于root,那用户就成为超级用户
。
..SUID程序代表了重要的安全漏洞,特别是SUID设
为root的程序。
Unix文件系统的安
全
.
SUID/SGID
#find / -perm -04000 -o -perm -02000 -print
find列出所有设置了SUID(“4000”)或SGID(“2000”)位的普通文件(“f”)
。
chmod a-s <文件名>”移去相应文件的“s”位。
Unix文件系统的安
全
..给口令文件和组文件设置不可改
变位
[root@venus]# chattr +i /etc/passwd
[root@venus]# chattr +i /etc/shadow
[root@venus]# chattr +i /etc/group
文件系统安
全
..备份命
令
. cp—虽然常用来拷贝单独一个文件,但cp(copy)命
令支持一个递归选项
(
-R)来拷贝一个目录和它里
面所有的文件和子目录。例如把mydir中所有内容拷贝
到mydir2中:cp -R mydir mydir2
。
. tar—tar(TApe aRchiver)命令可以创建、把文件添
加到或从一个tar档案(或
“
tar文件”)中解开文
件
。
. cpio—这个SVR4和GNU工具把文件拷贝进或拷贝出一
cpio或tar档案。与tar相似。
文件系统安
全
.
Dump和Restore
.
Dump(把整个文件系统拷贝到备份介质上
---#dump 0f0 /dev/rst0 1500 /dev/sd0a
---把一个SCSI硬盘(/dev/rsd0a)以0级备份到
磁带(/dev/rst0)。
.
Restore(恢复整个文件系统或提取单个文件
练
习
..将passwd文件去掉置S
位
..将shadow文件设为不可改变
位
..改变inittab文件的owner和组
UNIX系统安全配
置
..UNIX系统基本安装配
置
..帐号和口令安
全
..文件系统安
全
..其它安全配
置
..网络服务安
全
..日常异常检测和维护
启动网络参数设
定
..设置/etc/init.d/inetinit文
件
..在系统作为路由器的情况中执
行
#ndd –set /dev/ip ip_forwarding 1
..关闭数据包转
发
#ndd –set /dev/ip ip_forwarding 0 (或/etc/notrouter)
..忽略重定向数据包(否则有遭到DOS的隐
患
)
#ndd –set /dev/ip ip_ignore_redirects 1
启动网络参数设
定
–不发送重定向数据
包
#ndd –set /dev/ip ip_send_redirects 0
–禁止转发定向广
播
#ndd –set /dev/ip
ip_forward_directed_broadcasts 0
–禁止转发在数据源设置了路由的数据
#ndd –set /dev/ip ip_forward_src_routed 0
ARP攻击防
止
..减少过期时
间
..#ndd –set /dev/arp arp_cleanup_interval 60000
..#ndd -set /dev/ip ip_ire_flush_interval 60000
..默认是300000毫秒(5分钟
)
..加快过期时间,并不能避免攻击,但是使得攻
击更加困难,带来的影响是在网络中会大量的
出现ARP请求和回
复
..请不要在繁忙的网络上使用。
防止ARP攻
击
..建立静态ARP
..使用arp –f filename加载如下文
件
https://www.doczj.com/doc/b65881767.html, 08:00:20:ba:a1:f2
https://www.doczj.com/doc/b65881767.html, 08:00:20:ee:de:1f
这是一种很有效的方法,而且对系统影响不
大。缺点是破坏了动态ARP协
议
..禁止ARP
.
ifconfig interface –arp
..网卡不会发送ARP和接受ARP包。但是使用
前提是使用静态的ARP表,如果不在apr表中
的计算机,将不能通信
IP协议参
数
..关闭ip转发(或创建/etc/notrouter)
..#ndd –set /dev/ip ip_forwarding 0
..关闭转发包广
播
..由于在转发状态下默认是允许的,为了防止
被用来实施smurf攻击,关闭这一特性
..#ndd –set /dev/ip ip-forward_directed_broadcasts
0
..关
闭源路由转
发
..#ndd –set /dev/ip ip_forward_src_routed 0
ICMP协议参
数
..关闭响应echo广
播
..#ndd –set /dev/ip
ip_respond_to_echo_boadcast
..关闭响应时间戳广
播
.
#ndd –set /dev/ip
ip_respond_to_timestamp_broadcast 0
..关闭地址掩码广
播
.
#ndd –set /dev/ip
ip_respind_to_address_mask_broadcast 0
ICMP协议参
数
..防止ping
在/etc/rc.d/rc.local文件中增加如下一行
echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all
TCP协议参
数
.
Synflood(半开式连接攻击
)
.
SYNFLOOD原
理
请求方服务
方
------------------->发
送
SYN消
息
回
应
SYN-ACK <---------------
---------------------->
ACK
..ndd –set /dev/tcp tcp_conn_req_max_q0 4096
..默认连接数为1024
..连接耗尽攻
击
..ndd –set /dev/tcp tcp_conn_req_max_q 1024
..默认连接数为128
Su限
制
..禁止任何人通过su命令改变为root用户。如果你不希望
任何人通过su命令改变为root用户或对某些用户限制使
用su命令,你可以在su配置文件(在"/etc/pam.d/"目录
下)的开头添加下面两行
:
..编辑su文件(vi /etc/pam.d/su),在开头添加下面两行
.
auth sufficient /lib/security/pam_rootok.so debug
.
auth required /lib/security/Pam_wheel.so group=wheel
..这表明只有"wheel"组的成员可以使用su命令成为root
户。你可以把用户添加到“wheel”组,以使它可以使用su
命令成为root用户。
隐藏系统信
息
..编辑“/etc/rc.d/rc.local”文件,注释下面的行
。
.
# This will overwrite /etc/issue at every boot. So, make any changes you
.
# want to make to /etc/issue here or you will lose them when you reboot.
.
#echo "" > /etc/issue
.
#echo "$R" >> /etc/issue
.
#echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue
.
#
.
#cp -f /etc/issue /etc/https://www.doczj.com/doc/b65881767.html,
.
#echo >> /etc/issue
..删除"/etc"目录下的“https://www.doczj.com/doc/b65881767.html,”和"issue"文件
:
.
[root@kapil /]# rm -f /etc/issue
.
[root@kapil /]# rm -f /etc/https://www.doczj.com/doc/b65881767.html,
UNIX系统安全配
置
..UNIX系统基本安装配
置
..帐号和口令安
全
..文件系统安
全
..其它安全配
置
..网络服务安
全
..日常异常检测和维护
Unix的系统及网络服
务
. /etc/inetd.conf
/etc/inetd.conf决定inetd启动网络服务时,启动哪些
服务,用什么命令启动这些服务,以及这些服务的相关
信息
. /etc/service
/etc/services文件记录一些常用的接口及其所提供的
服务的对应关系
。
. /etc/protocols
/etc/protocols文件记录协议名及其端口的关系
./etc/Rc*.d
–/etc/inittab,inittab定义了系统缺省运行级别,系统
进入新运行级别需要做什么
Inetd服
务
..#more /etc/inetd.conf
.
#systat stream tcp nowait root /usr/bin/ps
ps -ef
.
#系统进程
监控服务,允许远程察看进
程
.
#netstat stream tcp nowait root /usr/bin/netstat
netstat -f inet
.
#网络状态监控服务,允许远程察看网络状
态
.
#time stream tcp6
nowait
root internal
.
#time dgram udp6 wait root internal
.
#网络时间服务,允许远程察看系统时
间
.
#echo stream tcp6
nowait
root internal
.
#echo dgram udp6 wait root internal
.
#网络测试服务,回显字符串
Inetd服
务
–
#name dgram udp wait root /usr/sbin/in.tnamed
in.tnamed
–
#named,DNS服务
器
–
#telnet stream tcp6 nowait root /usr/sbin/in.telnetd
in.telnetd
–
#telnet服务
器
–
#ftp stream tcp6 nowait root /usr/sbin/in.ftpd
in.ftpd -a
–
#ftp服务器
/etc/services
.
More /etc/services
.
# Network services, Internet style
.
#
.
tcpmux 1/tcp
.
echo 7/tcp
.
echo 7/udp
.
discard 9/tcp
.
discard 9/udp
.
systat 11/tcp
.
daytime 13/tcp
.
daytime 13/udp
.
netstat 15/tcp
sink null
sink null
users
Unix系统服务安
全
.
在inetd.conf中关闭不用的服
.
#cp /etc/inet/inetd.conf
/etc/inet/inetd.conf.bak
.
然后用vi编辑器编辑inetd.conf文件,
对于需要注释掉的服务在相应行开头标
记“#”字符即可。
注: Ftp和Telnet服务在不需要时也可注释
掉。
Unix系统服务安
全
..清理/etc/inet/inetd.conf服
..所有的TCP/UDP小服
务
..所有的调试服务(echo、discard
、
daytime、chargen)
..所以的R服务(rsh、rexe、rlogin)
..几乎所有的RPC服
务
..使用必要的工具替换telnet,ftp
..重起inetd服
务
#killall –HUP inetd
UNIX网络服务安
全
..DNS
..FTP
..TELNET
..MAIL
..Tcp_wrapper
Dns(Bind)历
史
.
Bind最初在美国加利佛尼亚大学伯克利分校
实现在4.3 FSB UNIX机上
。
..有两种版本BIND4、BIND8
..都是免费版
本
BIND8是新版
的
BIND4已停止除安全补丁程序外的开发
..已移植到Unix、linux、win nt、os/2上
..两种版本在书写格式上不同。
BIND主要配置文
件
. named配置文
件
– /etc/named.boot(bind4)
– /etc/named.conf (bind8)
. DNS数据文
件
–正向解析文
件
–反向解析文
件
– Db.cache文
件
.解析装置文件/etc/resolv.conf
/etc/named.conf举
例
..#more /etc/named.conf
options {
directory "/var/named";
};
zone "." in {
type hint;
file "db.cache";
};
/etc/named.conf举
例
zone “https://www.doczj.com/doc/b65881767.html," in {
type master;
file “https://www.doczj.com/doc/b65881767.html,.zone";
};
zone "0.3.10.in-addr.arpa" in {
type master;
file “https://www.doczj.com/doc/b65881767.html,.rev";
};
DNS服务器的常见攻击方
..地址欺
骗
..远程漏洞入
侵
..拒绝服务
地址欺
骗
DNS服务器的拒绝服务攻
..针对DNS服务器软件本
身
.
利用DNS服
务器作为中间的“攻击
放大器”,去攻击其它intetnet上
的主机
Bind服务器安全配
置
..基本安全配
置
..Bind服务器的访问控
制
..设置chroot运行环境
Bind服务器安全配
置
..基本安全配
置
–隐藏版本信
息
在options节中增加自定义的BIND版本信息
可隐藏BIND服务器的真正版本号
。
例如
:
version "Who knows?"
;
// version 9.9.9;
此时如果通过DNS服务查询BIND版本号时,返
回的信息就是"Who knows?"。
Bind服务器安全配
置
.基本安全配
置
named进程启动选
项
..-r:关闭域名服务器的递归查询功能(缺
省为打开)。该选项可在配置文件
options中使用"recursion"选项覆盖
..-u 和-g :定义域名服务器运行时所使用
的UID和GID,这用于丢弃启动时所需要
root特权
。
..-t :指定当服务器进程处理完命令行参
数后所要chroot()的目录。
Bind服务器安全配
置
..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;
};
};
Bind服务器安全配
置
..及时更新安装bind的最新版
本
..https://www.doczj.com/doc/b65881767.html,/products/BIN
D/bind8.html
..https://www.doczj.com/doc/b65881767.html,/products/BIN
D/bind9.html
FTP
..FTP有安全问
题
proftp pre3 remote shell
..Proftp pre10 DoS
..Wuftp 2.4.18
..Wuftp 2.5
..Wuftp 2.6
..Sun ftp core
Ftp安全要
点
..使用最新版
本
https://www.doczj.com/doc/b65881767.html,/
2.6.1
.
https://www.doczj.com/doc/b65881767.html,/
1.2.0rc2
..用ftpusers限制ftp用
户
.
ftpusers文件包含了所有在password文件
中存在,但不允许登陆系统ftp的用户名称
.
SCP代替ftp
TELNET
..改变TELNET登录的提
示
..编辑/etc/motd文
件
..避免显示系统和版本信息
编辑/etc/inetd.conf文件(/etc/default/telnetd )
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
加-h表示telnet不显示系统信息
。
..推荐使用ssh代替不安全的telnet
..SSH介
绍
..加密通讯方
式
..下载地
址
ftp://ftp.funet.fi/pub/unix/security/login/ssh
Sendmail的主要安全问
题
..文件系统安
全
..邮件转发与垃圾邮
件
..拒绝服务攻击
VRFY命
令
..使用VRFY命令获得用户名列
表
..是SMTP提供的专门用来验证是否有用
户存在于服务器上的一条命
令
..VRFY命令格
式
VRFY 要测试的用户名
如果用户存在,系统将返
回
250 和用
户全名。如果用户不存在,将返
回
550错
误。
VRFY命令示
例
..示例1
telnet SMTP_SVR 25
S: VRFY Postel
R: 250 Jon Postel
..示例2
telnet SMTP_SVR 25
S: VRFY Jones
R: 550 String does not match anything.
EXPN命
令
..使用EXPN命令获得用户名列
表
..EXPN命令其实和VRFY命令类似,
不同的是,这条命令是用来验证
是否有邮件列表存在
EXPN命令示
例
示例1(example-people1为邮件列表
telnet SMTP_SVR 25
S: EXPN Example-People1
R: 250-Jon Postel
R: 250-Fred Fonebone
R: 250-Sam Q. Smith
R: 250-Quincy Smith <@ISIF,Q-Smith@ISIVAXA>
R: 250-
邮件列表存在的时候,系统就会返回这个邮件列表中的所
有用户名称以及具体的信箱地址。
EXPN命令示
例
示例2(example-people1为邮件列表
telnet SMTP_SVR 25
S: EXPN Example-People2
R: 550 Access Denied to You.
如果系统禁止了这个命令,将返回550错误。
Sendmail安全配
置
..关掉expn和vrfy命令
修改文件/etc/sendmail.cf,
将
O PrivacyOptions=authwarnings改
O PrivacyOptions=authwarnings,novrfy,n
oexpn
.
/etc/aliases的权限设为644
#Chmod 644 /etc/aliases
.
从/etc/aliases里删除decode
Sendmail安全配
置
.
限制可以审核邮件队列内容的
–
通常情况下,任何人都可以使用"mailq"命
令来查看邮件队列的内容
。
#vi /etc/sendmail.cf
将
O PrivacyOptions=authwarnings,noexpn,nov
rfy
改为
:
O PrivacyOptions=authwarnings,noexpn,nov
rfy,restrictmailq
Sendmail安全配
置
..重要的sendmail文件设置不可更改
# chattr +i /etc/sendmail.cf
# chattr +i /etc/sendmail.cw
# chattr +i /etc/sendmail.mc
# chattr +i /etc/null.mc
# chattr +i /etc/aliases
# chattr +i /etc/mail/access
Sendmail安全配
置
..增强Sendmail的抗DoS攻击能
力
..1.配置最少的自由块数
配置参数:MinFreeBlocks
参数描述:文件系统用来接受标准SMTP
邮件的队列中的最少的自由块数目。
越小越容易被攻击致命。
默认值:100
推荐值:4000或者更
大
..2.最大邮件大小
配置参数:MaxMessageSize
参数描述:每封邮件的最大尺寸,越大
越容易被攻击致命
。
默认值:不限
制
推荐值:5M
Sendmail安全配
置
..3 .每封邮件的最多接收者
配置参数:MaxRecipientsPerMessage
参数描述:如果设定了的话,每封邮件
只能同时抄送给指定数量的收信人。超过此
数目就会返回一个452的错误代码
。
..4.队列平均负荷
配置参数:QueueLA
参数描述:单一队列时的平均负
荷。根据CPU的数量适当设定(8*CPU
数量)
Sendmail安全配
置
..5.平均负荷拒绝临界点
配置参数:RefuseLA
参数描述:一旦平均负荷超过此临界点,所
Incoming的SMTP连接均拒绝
。
默认值:可变
的
推荐值:8*CPU数
量
..6.最大的守护进程
的子进程
数
..7.最大的报头长度
..8.最大MIME编码报文长
度
..9.自动重建别名
Sendmail安全配
置
..设置smtp身份验
证
..及时更新安装最新版本
的
Sendmail
Tcp_wrapper
..Tcp_wrapper在inetd接到客户请求时启
动,具有存取管理启动目标服务器的程
序功能
。
..Tcpd启动时,读取文件/etc/hosts.allow
及/etc/hosts.deny。
.
/etc/hosts.allow:允许服务的主
机
.
/etc/hosts.deny:禁止服务的主机
Tcp_wrapper
..Hosts.allow文件格
式
.
Daemon_list:表示允许服务的监控程序名,可
以有多个,用逗号隔开
。
.
Host_list:允许服务的主机名或IP,可以用通配
符
。
.
Command:allow或deny
Tcp_wrapper
..Hosts.deny文件格
式
.
Daemon_list:表示禁止服务的监控程序名,
可以有多个,用逗号隔开
。
.
Host_list:禁止服务的主机名或IP,可以用通
配符
。
..Hosts.deny缺省设
置
ALL: ALL
..表示除hosts.allow中允许的主机外都禁止
..一般无须改变。
Tcp_wrapper
..Tcpd解释设置文件方
式
..如果为用hosts.allow允许的主机则充许
..如果为用hosts.deny禁止的主机则禁止
..两种文件均无描述的主机,则允许
Tcp_wrapper示例
1
.
192.168.0.1为服务器,管理员使用的客户主
机为192.168.0.5,使管理员客户机全部处于
允许状态,其它主机都禁止访问该服务器
..Hosts.allow设置
:
ALL:192.168.0.5:allow
..Hosts.deny设置成
:
ALL:ALL
Tcp_wrapper示例
2
.
192.168.0.1为服务器,使所
有
192.168.0.*网段的主机可以FTP服
器,其它主机都禁止访问该服务器
.
Hosts.allow设置
:
Wu.ftpd:192.168.0.:allow
.
Hosts.deny设置成:
ALL:ALL
UNIX系统安全配
置
..UNIX系统基本安装配
置
..帐号和口令安
全
..文件系统安
全
..其它安全配
置
..网络服务安
全
..日常异常检测和维护
Unix异常监
控
..异常的系统资源占
用
..CPU
top,w
..Disk
df,du
https://www.doczj.com/doc/b65881767.html,
netstat,snoop
系统异常事
件
..异常进
程
..Ps
..文
件
..Lsof
..异常用户活动
..w,last
..应用程序变
更
..login,su,ls.....
..配置文件或设备变
动
UNIX系统安
全
..UNIX系统发展历
史
..为什么介绍UNIX系统安
全
..UNIX系统的启动过
程
..UNIX系统基
础
..UNIX系统安全配
置
..UNIX系统审计分析
日志子系
统
..使用wtmp/utmp文件的连接时间日志
..使用acct或pacct文件的进程统计
..经过syslog实施的错误日志。
日志子系
统
日志子系
统
..使用wtmp/utmp文件的连接时间日志
..使用acct或pacct文件的进程统计
..经过syslog实施的错
误日志。
连接时间日
志
..有关当前登录用户的信息记录在
文件utmp中
;
..登录进入和退出记录在文件wtmp
中;数据交换、关机和重启也记
录在wtmp文件中
。
..最后一次登录在文件lastlog中
..所有的记录都包含时间戳。
使用基于utmp/wtmp的命
..who命
令
..w命令
https://www.doczj.com/doc/b65881767.html,ers命
令
https://www.doczj.com/doc/b65881767.html,st命
令
https://www.doczj.com/doc/b65881767.html,stb命
令
..ac命令
使用基于utmp/wtmp的命
who命令查询utmp文件并报告当前
每个登录的用户。
使用基于utmp/wtmp的命
w命令查询utmp文件并显示当前系统中每个
用户和他所运行的进程信息。
标题栏显示当前时间、系统已运行了多长时
间、当前有多少用户登录以及过去1、5和15
分钟内的系统平均负载。
日志子系
统
users命
令
users命令用单独一行打印出当前
登录的用户,每个显示的用户名对应
一个登录会话。
如果一个用户有不止一个登录会话,那
他的用户名将显示相同的次数
$ users
alice carol dave bob
日志子系
统
last命令往回搜索wtmp来显示自从
文件第一次创建后登录过的用户。它
还报告终端类型和日期。
日志子系
统
ac命令根据当前/var/log/wtmp文件中的登录进
入和退出来报告用户连接的时间(小时)。如
果不使用标志,则报告总的时间
。
$ ac
total 136.25
“-d”标志产生每天的总的连接时间
“-p”标志报告每个用户的总的连接时间
日志子系
统
..使用wtmp/utmp文件的连接时间日志
..使用acct或pacct文件的进程统计
..经过syslog实施的错误日志。
日志子系
统
进程统
计
..文件名字:pacct或acct
。
..目录:/var/log(在Linux系统
中)、/var/account、/var/adm
或/ u s r / a d m中。
日志子系
统
创建pacct文件
:
# touch /var/log/pacct
然后运行accton:
# accton /var/log/pacct
关闭统
计
# accton
日志子系
统
lastcomm命令报告以前执行的命令。不带参数时
lastcomm命令显示当前统计文件生命周期内记录的
所有命令的有关信息,包括命令名、用户、tty、命
令花费的CPU时间和一个时间戳。
日志子系
统
..使用wtmp/utmp文件的连接时间日志
..使用acct或pacct文件的进程统计
..经过syslog实施的错误日志。
日志子系
统
syslog设备重要元素
:
../etc/syslogd(守护程序
)
../etc/syslog.conf(配置文件
)
../var/adm或/var/log
多数syslog信息被写到上述目录下的信息文件中。
syslog.conf
.
/etc/syslog.conf的一般格式:
设备:行为级别记录行为文件
下面是一个/etc/syslog.conf的模
式
*.notice;https://www.doczj.com/doc/b65881767.html, /var/log/notice
*.crit /var/log/critical
kern,mark.de
bug /dev/console
kern.err @server
*.emerg *
*.alert
root,operator *.alert;auth.warning /var/log/auth
日志子系
统
日志子系
统
程序日
志
..sulog:系统为su保持一个日志
/var/adm/sulog;
..uucp日志
..httpd日志
相关网
站
..国内网
站
..https://www.doczj.com/doc/b65881767.html,
..https://www.doczj.com/doc/b65881767.html,
..https://www.doczj.com/doc/b65881767.html,/
..国外网
站
..https://www.doczj.com/doc/b65881767.html,
..https://www.doczj.com/doc/b65881767.html,
..https://www.doczj.com/doc/b65881767.html,
练
习
..建立进程统计的日
志
..将sendmail进行安全配
置
..将DNS服务进行安全配
置
..分析httpd的日志
总
结
..UNIX系统发展历
史
..为什么介绍UNIX系统安
全
..UNIX系统的启动过
程
..UNIX系统基
础
..UNIX系统安全配
置
..UNIX系统审计分析
Any questions?
谢谢大
家
E-mail: train@https://www.doczj.com/doc/b65881767.html,