当前位置:文档之家› UNIX系统安全

UNIX系统安全

启明星辰认证安全技术工程师培
—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,




相关主题
文本预览
相关文档 最新文档