收藏 分享(赏)

Linux系统安全加固手册.doc

上传人:tangtianxu1 文档编号:2899320 上传时间:2018-09-29 格式:DOC 页数:14 大小:187.50KB
下载 相关 举报
Linux系统安全加固手册.doc_第1页
第1页 / 共14页
Linux系统安全加固手册.doc_第2页
第2页 / 共14页
Linux系统安全加固手册.doc_第3页
第3页 / 共14页
Linux系统安全加固手册.doc_第4页
第4页 / 共14页
Linux系统安全加固手册.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、 LINUX 评估加固手册 第 1 页 共 14 页密 级:商业秘密LINUX 评估加固手册安氏领信科技发展有限公司二一八二一八年九月LINUX 评估加固手册 第 2 页 共 14 页目 录1、系统补丁的安装 32、帐户、口令策略的加固 321、删除或禁用系统无用的用户 322、口令策略的设置 423、系统是否允许 ROOT 远程登录 .424、ROOT 的环境变量设置 53、网络与服务加固 531、RC?.D 中的服务的设置 .532、/ETC/INETD .CONF 中服务的设置 .633、NFS 的配置 .834、SNMP 的配置 835、SENDMAIL 的配置 936、DNS (BI

2、ND )的配置 .937、网络连接访问控制的设置 94、信任主机的设置 105、日志审核的设置 116、物理安全加固 117、系统内核参数的配置 128、选装安全工具 13LINUX 评估加固手册 第 3 页 共 14 页1、系统补丁的安装RedHat 使用 RPM 包实现系统安装的管理,系统没有单独补丁包(Patch) 。如果出现新的漏洞,则发布一个新的 RPM 包,版本号( Version)不变,Release做相应的调整。因此检查 RH Linux 的补丁安装情况只能列出所有安装的软件,和 RH 网站上发布的升级软件对照,检查其中的变化。通过访问官方站点下载最新系统补丁,RedHat 公

3、司补丁地址如下:http:/ -qa 查看系统当前安装的 rpm 包rpm -ivh package1 安装 RPM 包rpm -Uvh package1 升级 RPM 包rpm -Fvh package1 升级 RPM 包(如果原先没有安装,则不安装)2、帐户、口令策略的加固21、删除或禁用系统无用的用户询问系统管理员,确认其需要使用的帐户如果下面的用户及其所在的组经过确认不需要,可以删除。lp, sync, shutdown, halt, news, uucp, operator, games, gopher 修改一些系统帐号的 shell 变量,例如 uucp,ftp 和 news 等,

4、还有一些仅仅需要 FTP 功能的帐号,检查并取消/bin/bash 或者/bin/sh 等 Shell 变量。可以在/etc/passwd 中将它们的 shell 变量设为/bin/false 或者/dev/null 等。也可以通过 passwd groupdel 来锁定用户、删除组。passwd -l user1 锁定 user1 用户passwd -u user1 解锁 user1 用户groupdel lp 删除 lp 组。LINUX 评估加固手册 第 4 页 共 14 页22、口令策略的设置RedHat Linux 总体口令策略的设定分两处进行,第一部分是在/etc/login.def

5、s 文件中定义,其中有四项相关内容:PASS_MAX_DAYS 密码最长时效(天)PASS_MIN_DAYS 密码最短时效(天)PASS_MIN_LEN 最短密码长度PASS_WARN_AGE 密码过期前 PASS_WARN_AGE 天警告用户编辑/etc/login.defs 文件,设定:PASS_MAX_DAYS=90PASS_MIN_DAYS=0PASS_MIN_LEN=8PASS_WARN_AGE=30另外可以在/etc/pam.d/system-auth 文件中的 cracklib 项中定义口令强度:difokminlendcreditucreditlcreditocredit使用

6、vi 编辑/etc/pam.d/system-auth 文件,设置 cracklib 的属性#%PAM-1.0# This file is auto-generated.# User changes will be destroyed the next time authconfig is run.auth required /lib/security/pam_env.soauth sufficient /lib/security/pam_unix.so likeauth nullokauth required /lib/security/pam_deny.soaccount required

7、 /lib/security/pam_access.soaccount required /lib/security/pam_unix.sopassword required /lib/security/pam_cracklib.so retry=3 type= difok=4 minlen=12 dcredit=1 ucredit=2 lcredit=2 ocredit=1password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadowpassword required /lib/security/pam_

8、deny.soLINUX 评估加固手册 第 5 页 共 14 页session required /lib/security/pam_limits.sosession required /lib/security/pam_unix.so23、系统是否允许 root 远程登录RedHat 在文件/etc/securetty 中定义 root 用户可以登录的端口;默认其中只包含vc/1-11 和 tty1-11,即 root 用户只能从本地登录。24、root 的环境变量设置系统的环境变量在下列文件中设置:Bash:/etc/profile/.bash_profile/.bash_login/.p

9、rofile/.bashrc/etc/bashrcTcsh/Csh:/etc/csh.cshrc/etc/csh.login/.tcshrc 或/.cshrc/.history/.login/.cshdirsprintenv 查看用户的环境变量检查环境变量 PATH,确保其中不包含本地目录(.) 。3、网络与服务加固31、rc?.d 中的服务的设置LINUX 评估加固手册 第 6 页 共 14 页RedHat 的服务主要由/etc/inittab 和/etc/rc?.d/S*文件启动,事实上, /etc/inittab 的主要任务是为每一个 runlevel 指定启动文件,从而启动 /etc/

10、rc?.d/S*文件。例如,在默认的运行级别 3 中系统将运行/etc/rc3.d/目录中所有 S 打头的文件。runlevel 检查当前运行级别(第一项是 pre-runlevel,第二项是当前的 runlevel)chkconfig list 检查所有级别中启动的服务情况chkconfig list |grep 3:on 检查某一级别(例如级别 3)中启动的服务chkconfig sendmail off 将 sendmail 从启动目录中除去检查以下服务,如果不需要,关闭之在(/etc/inittab 中注释掉) ;否则,参照 3.3 3.4 3.5 3.6 进行配置:portmap(启

11、动 rpcbind/portmap 服务)nfslock (启动 rpc.lockd 和 rpc.statd)httpd (启动 apache)named (启动 bind)sendmail (启动 sendmail)smb (启动 samba 服务)snmpd (启动 snmp 服务)snmptrapd (启动 snmp trap 服务)nfs (启动 nfs 服务)32、/etc/inetd.conf 中服务的设置由 INETD 启动的服务在文件/etc/inetd.conf 定义。建议关闭由 inetd 启动的所有服务;如果有管理上的需要,可以打开telnetd、ftpd、rlogind

12、、rshd 等服务。可从/etc/inetd.conf 中删除的服务(在 /etc/inetd.conf 中注释掉):shellkshellloginkloginexecLINUX 评估加固手册 第 7 页 共 14 页comsatuucpbootpsfingersystatnetstattftptalkntalkrpc.rquotadrpc.rexdrpc.rusersdrpc.ttdbserverrpc.spraydrpc.cmsdrpc.rwalldrpc.pcnfsdrpc.rstatdrpc.ssalldechodiscardchargendaytimetimecomsatwebsm

13、instsrvimap2pop3LINUX 评估加固手册 第 8 页 共 14 页kfclixmqueryRedHat Linux 7.3 以后使用了新版本的 xinetd 取代了老版本的 inetd,在配置方面最大的不同在于使用了/etc/xinetd.d/配置目录取代了/etc/inetd.conf 配置文件。每一项服务/etc/xinetd.d/ 中都有一个相应的配置文件,例如 telnetd 的配置文件是/etc/xinetd.d/telnet。查看每一个配置文件 disable 属性的定义(yes/no)就可以确定该服务是否启动(默认是 yes) 。使用 vi 编辑/etc/xine

14、td.d/ 中的配置文件,在不需要启动的服务配置文件中添加disable=yes。建议关闭所有服务,如果管理需要,则可以打开 telnetd 和 ftpd 服务。使用 vi 编辑/etc/xinetd.d/rlogin 文件,控制 rlogin 服务的启动状态# default: on# description: rlogind is the server for the rlogin(1) program. The server # provides a remote login facility with authentication based on # privileged port

15、numbers from trusted hosts.service logindisable = yessocket_type = streamwait = nouser = rootlog_on_success += USERIDlog_on_failure += USERIDserver = /usr/sbin/in.rlogind33、NFS 的配置NFS 系统的组成情况:nfsd NFS 服务进程,运行在服务器端,处理客户的读写请求mountd 加载文件系统服务进程,运行在服务器端,处理客户加载 nfs 文件系统的请求/etc/exports 定义服务器对外输出的 NFS 文件系统/

16、etc/fstab 定义客户端加载的 NFS 文件系统如果系统不需要 NFS 服务,可以使用 chkconfig 关闭 NFS 服务;如果不能关闭,使用 showmount -e 或直接查看/etc/exports 文件检查输出的文件系统是否必要,LINUX 评估加固手册 第 9 页 共 14 页以及属性是否妥当(readonly 等) 。chkconfig -list nfs 显示 NFS 服务是否在系统启动时启动/etc/init.d/nfs start|stop 启动|停止 nfs 服务showmount -e 显示本机输出的 NFS 文件系统mount 显示本机加载的文件系统(包括 N

17、FS 文件系统)34、SNMP 的配置如果系统不需要 SNMP 服务,可以关闭该服务(使用 chkconfig 命令) ;如果不能关闭,需要在/etc/snmpd.conf 中指定不同的 community name。chkconfig -list snmpd 显示 snmpd 服务是否在系统启动时启动chkconfig snmpd off 将 snmpd 服务从启动目录中去掉/etc/init.d/snmpd start|stop 启动| 停止 snmpd 服务35、Sendmail 的配置如果系统不需要 Sendmail 服务,可以关闭该服务(使用 chkconfig 命令) ;如果不能关

18、闭,将 sendmail 服务升级到最新,并在其配置文件/etc/sendmail.cf 中指定不同 banner(参见示例) 。chkconfig -list sendmail 显示 sendmail 服务是否在系统启动时启动chkconfig sendmail off 将 sendmail 服务从启动目录中去掉/etc/init.d/sendmail start|stop 启动|停止 sendmail 服务36、DNS(Bind)的配置如果系统不需要 DNS 服务,可以关闭该服务(使用 chkconfig 命令) ;如果不能关闭,将 DNS 服务升级到最新,并在其配置文件修改版本号(参见示

19、例) 。chkconfig -list named 显示 named 服务是否在系统启动时启动chkconfig named off 将 named 服务从启动目录中去掉/etc/init.d/named start|stop 启动| 停止 named 服务LINUX 评估加固手册 第 10 页 共 14 页37、网络连接访问控制的设置RedHat 7.3 以后版本中存在以下集中方式可以对网络连接设置访问控制:1、使用 iptable 或 ipchains 进行网络访问控制;参见 iptables 和 ipchains 的manual。2、使用 xinetd 本身的访问控制机制对 xinetd

20、 启动的服务进行网络访问控制;xinetd 可以在其配置文件中使用 only_from 和 no_access 指令限制可以访问该服务的主机,tcpd 的配置文件是/etc/hosts.allow 和/etc/hosts.deny;具体配置方法参见 manual。使用 xinetd 自带的访问控制机制控制对 telnet 服务的访问# default: on# description: The telnet server serves telnet sessions; it uses # unencrypted username/password pairs for authenticatio

21、n.service telnetdisable = noflags = REUSEsocket_type = streamwait = nouser = rootserver = /usr/sbin/in.telnetdlog_on_failure += USERID# allow access from host freebsd and network 172.16.0.0/24only_from = freebsd 172.16.0.0/24# also allow access from host 192.168.0.159only_from += 192.168.0.159# deny

22、 access from host freebsd if uncomment the following line# no_access = freebsd3、使用 pam 系统中的 pam_access 模块提供的访问控制机制;配置文件是/etc/security/access.conf,该文件中提供了该文件的语法。使用 pam_access 进行网络访问控制在 pam 文件中添加 pam_access 模块(以 system-auth 文件为例)#%PAM-1.0# This file is auto-generated.# User changes will be destroyed t

23、he next time authconfig is run.auth required /lib/security/pam_env.soauth sufficient /lib/security/pam_unix.so likeauth nullokauth required /lib/security/pam_deny.soaccount required /lib/security/pam_access.soaccount required /lib/security/pam_unix.sopassword required /lib/security/pam_cracklib.so r

24、etry=3 type= difok=4 miLINUX 评估加固手册 第 11 页 共 14 页nlen=12 dcredit=1 ucredit=2 lcredit=2 ocredit=1password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadowpassword required /lib/security/pam_deny.sosession required /lib/security/pam_limits.sosession required /lib/security/pam_unix.so

25、4、信任主机的设置参照 3.2(/etc/inetd.conf 中服务的启动情况)检查 rlogin、rsh 、rexec 服务是否启动。如果启动,查看配置文件/etc/hosts.equiv(全局配置文件)和/.rhosts(单独用户的配置文件)文件,检查文件是否配置妥当。建议关闭 R 系列服务(rlogin、rsh、rexec) ;如果不能关闭,则需要检查配置文件,确保没有失当的配置(不能存在”+”或”+ +”,如果存在,咨询系统管理员是为何这样配置) 。5、日志审核的设置对 ssh、su 登录日志进行记录编辑 syslogd 配置文件# vi /etc/syslog.conf 加入以下信

26、息,使和登陆验证有关的日志信息记录到 secure 文件中# The authpriv file has restricted access.authpriv.* /var/log/secure重新启动 syslogd:# /etc/rc.d/init.d/syslog restart 6、物理安全加固启动 LILO 时需要密码LINUX 评估加固手册 第 12 页 共 14 页第一步:编辑 lilo.conf 文件(vi /etc/lilo.conf) ,加入或改变这三个参数(加#的部分): boot=/dev/hdaprompttimeout=00 # 把该行改为 00,系统启动时将不再等

27、待,而直接启动 LINUXmessage=/boot/messagelinear default=linux restricted # 加入该行 password= is-0ne # 加入该行并设置自己的密码(明文) image=/boot/vmlinuz-2.4.18 label=linux root=/dev/hda6 read-only 第二步:因为“/etc/lilo.conf”文件中包含明文密码,所以要把它设置为root 权限读取。 # chmod 0600 /etc/lilo.conf 第三步:更新系统,以便对“/etc/lilo.conf”文件做的修改起作用。 # /sbin/l

28、ilo -v 第四步:使用“chattr”命令使“/etc/lilo.conf”文件不可改变。 # chattr +i /etc/lilo.conf 这样可以在一定程度上防止对“/etc/lilo.conf”任何改变(意外或其他原因)最后将/etc/lilo.conf 文件权限改为 600LINUX 评估加固手册 第 13 页 共 14 页# chmod 600 /etc/lilo.confpassword 用于系统启动时应当输入密码;restricted 用于命令行启动系统时(如:进入单用户模式)需要输入密码。7、系统内核参数的配置RedHat Linux 使用 sysctl 命令控制内核参

29、数,并可以在/etc/sysctl.conf 中设置启动的内核参数。比较重要的网络安全参数有:net.ipv4.conf.default.accept_source_route=0 不接收源路由 ip 包net.ipv4.conf.default.send_redirects=0 不发送重定向 ip 包net.ipv4.conf.default.accept_redirects=0 不接收重定向 ip 包net.ipv4.icmp_echo_ignore_broadcasts=1 忽略 icmp 广播包net.ipv4.ip_forward=0 禁止 ip 转发sysctl -a 查看所有的内

30、核参数sysctl -w net.ipv4.ip_forward=0 禁止 ip 转发使用 vi 编辑/etc/sysctl.conf 文件,添加网络安全参数# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) for# more details.# Controls IP packet forwardingnet.ipv4.ip_forward = 0# Controls source route verificationnet.ipv4.conf.default.rp_filter = 1# Controls the

31、 System Request debugging functionality of the kernelkernel.sysrq = 0# Controls whether core dumps will append the PID to the core filename.# Useful for debugging multi-threaded applications.kernel.core_uses_pid = 1# Add the networking security parameters #net.ipv4.conf.default.send_redirects=0net.i

32、pv4.conf.default.accept_source_route=0net.ipv4.conf.default.accept_redirects=0net.ipv4.icmp_echo_ignore_broadcasts=1net.ipv4.ip_forward=0LINUX 评估加固手册 第 14 页 共 14 页8、选装安全工具工具名称 TCP Wrapper工具用途 该软件为大多数网络服务提供访问控制与日志记录的功能。相关信息 ftp:/ftp.porcupine.org/pub/security/工具名称 Tripwire工具用途 该工具为关键文件创建检验值数据库,当这些关键文件发生变化时,给 root 以提示信息。相关信息 ftp:/coast.cs.purdue.edu/pub/tools/unix/ids/tripwire/工具名称 lsof工具用途 该工具报告进程打开的文件、进程侦听的端口等信息。相关信息 ftp:/coast.cs.purdue.edu/pub/tools/unix/sysutils/lsof/工具名称 SSH工具用途 该工具为主机间远程通讯提供加密通道。用来代替rsh、rlogin、telnet 等远程登录工具。相关信息 http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报