《Linux系统安全加固手册 .docx》由会员分享,可在线阅读,更多相关《Linux系统安全加固手册 .docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结封面可编辑资料 - - - 欢迎下载精品名师归纳总结作者: PanHongliang仅供个人学习密级:商业隐秘LINUX评估加固手册可编辑资料 - - - 欢迎下载精品名师归纳总结安氏领信科技进展有限公司二一九年三月目录1、系统补丁的安装42、帐户、口令策略的加固42 1、删除或禁用系统无用的用户42 2、口令策略的设置42 3、系统是否答应 ROOT 远程登录 52. 4、ROOT 的环境变量设置 63、网络与服务加固63. 1、RC.D 中的服务的设置 63 2、/ETC /INETD .CONF 中服务的设置 73 3、NFS 的配置 93 4、SNMP 的配置 103
2、5、SENDMAIL的配置 103 6、DNS ( BIND )的配置 103 7、网络连接拜望把握的设置104、信任主机的设置125、日志审核的设置126、物理安全加固127、系统内核参数的配置138、选装安全工具 14可编辑资料 - - - 欢迎下载精品名师归纳总结1、系统补丁的安装RedHat 使用 RPM 包实现系统安装的治理,系统没有单独补丁包(Patch)。假如显现新的漏洞,就发布一个新的RPM 包,版本号( Version)不变, Release 做相应的调整。因此检查 RH Linux 的补丁安装情形只能列出全部安装的软件, 和 RH 网站上发布的升级软件对比,检查其中的变化。
3、通过拜望官方站点下载最新系统补丁,RedHat公司补丁的址如下:rpm -qa 查看系统当前安装的 rpm 包rpm -ivh package1 安装 RPM 包rpm -Uvh package1升级 RPM 包rpm -Fvh package1 升级 RPM 包(假如原先没有安装,就担忧装)2、帐户、口令策略的加固2 1、删除或禁用系统无用的用户询问系统治理员,确认其需要使用的帐户假如下面的用户及其所在的组经过确认不需要,可以删除。lp, sync, shutdown, halt, news, uucp, operator, games, gopher修改一些系统帐号的 shell 变量,例
4、如 uucp,ftp 和 news 等,仍有一些仅仅需要 FTP功能的帐号,检查并取消 /bin/bash 或者/bin/sh 等 Shell 变量。可以在/etc/passwd 中将它们的 shell 变量设为 /bin/false 或者/dev/null 等。也可以通过 passwd groupdel 来锁定用户、删除组。passwd -l user1 锁定 user1用户passwd -uuser1 解锁 user1用户groupdel lp 删除 lp 组。2 2、口令策略的设置可编辑资料 - - - 欢迎下载精品名师归纳总结RedHat Linux 总体口令策略的设定分两处进行,第一
5、部分是在/etc/login.defs 文件中定义,其中有四项相关内容:PASS_MAX_DAYS 密码最长时效(天) PASS_MIN_DAYS 密码最短时效(天) PASS_MIN_LEN 最短密码长度PASS_WARN_AGE 密码过期前 PASS_WARN_AGE 天警告用户编辑/etc/login.defs文件,设定:PASS_MAX_DAYS=90 PASS_MIN_DAYS=0 PASS_MIN_LEN=8 PASS_WARN_AGE=30另外可以在 /etc/pam.d/system-auth文件中的 cracklib 项中定义口令强度:difok minlen dcredit
6、 ucredit lcredit ocredit使用 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. authrequiredauthsufficientauthrequired accountrequired accountrequiredpasswordrequired/lib/security/pam_env.so/lib/security
7、/pam_unix.so likeauth nullok/lib/security/pam_deny.so/lib/security/pam_access.so/lib/security/pam_unix.so/lib/security/pam_cracklib.so retry=3 type=difok=4 minlen=12dcredit=1 ucredit=2 lcredit=2 ocredit=1password w password sessionsessionsufficient/lib/security/pam_unix.so nullok use_authtok md5 sha
8、dorequired requiredrequired/lib/security/pam_deny.so/lib/security/pam_limits.so/lib/security/pam_unix.so2 3、系统是否答应 root远程登录RedHat 在文件/etc/securetty 中定义 root 用户可以登录的端口。默认其中只包含可编辑资料 - - - 欢迎下载精品名师归纳总结vc/1-11 和 tty1-11,即 root 用户只能从本的登录。2. 4、root的环境变量设置系统的环境变量在以下文件中设置:Bash:/etc/profile/.bash_profile/.ba
9、sh_login/.profile/.bashrc/etc/bashrcTcsh/Csh:/etc/csh.cshrc/etc/csh.login/.tcshrc或/.cshrc/.history/.login/.cshdirsprintenv 查看用户的环境变量检查环境变量 PATH,确保其中不包含本的目录( .)。3、网络与服务加固3. 1、rc.d中的服务的设置RedHat 的服务主要由 /etc/inittab 和/etc/rc.d/S*文件启动,事实上, /etc/inittab 的主要任务是为每一个runlevel 指定启动文件,从而启动/etc/rc.d/S*文件。例如,在默认的
10、运行级别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进行配置:portma
11、p(启动 rpcbind/portmap 服务) nfslock (启动 rpc.lockd 和 rpc.statd) httpd (启动 apache)named(启动 bind) sendmail (启动 sendmail) smb (启动 samba服务) snmpd (启动 snmp服务)snmptrapd(启动 snmp trap服务) nfs (启动 nfs 服务)3 2、/etc/inetd.conf中服务的设置由 INETD 启动的服务在文件 /etc/inetd.conf定义。建议关闭由inetd 启动的全部服务。假如有治理上的需要,可以打开telnetd、ftpd、rlog
12、ind、rshd 等服务。可从/etc/inetd.conf中删除的服务(在 /etc/inetd.conf 中注释掉):shell kshell login klogin exec comsat uucp bootps可编辑资料 - - - 欢迎下载精品名师归纳总结fingersystat netstattftp talk ntalkrpc.rquotad rpc.rexd rpc.rusersd rpc.ttdbserver rpc.sprayd rpc.cmsd rpc.rwalld rpc.pcnfsd rpc.rstatd rpc.ssalld echodiscard chargen
13、 daytime time comsat websm instsrv imap2 pop3 kfcli xmqueryRedHat Linux 7.3 以后使用了新版本的 xinetd 取代了老版本的 inetd,在配置方面最大的不同在于使用了 /etc/xinetd.d/配置目录用代了 /etc/inetd.conf 配置文件。每可编辑资料 - - - 欢迎下载精品名师归纳总结一项服务 /etc/xinetd.d/中都有一个相应的配置文件,例如telnetd 的配置文件是/etc/xinetd.d/telnet。查看每一个配置文件 disable 属性的定义( yes/no)就可以确定该服务
14、是否启动(默认是 yes)。使用 vi 编辑/etc/xinetd.d/中的配置文件,在不需要启动的服务配置文件中添加disable=yes。建议关闭全部服务,假如治理需要,就可以打开telnetd 和 ftpd 服务。使用 vi 编辑/etc/xinetd.d/rlogin 文件,把握 rlogin 服务的启动状态# default: on# description: rlogind is the server for the rlogin1 program. The server #provides a remote login facility with authentication b
15、ased on #privileged port numbers from trusted hosts. service logindisable = yessocket_type= stream wait= nouser= rootlog_on_success+= USERIDlog_on_failure+= USERID server= /usr/sbin/in.rlogind3 3、NFS的配置NFS 系统的组成情形:nfsd NFS 服务进程,运行在服务器端,处理客户的读写请求mountd 加载文件系统服务进程,运行在服务器端,处理客户加载nfs 文件系统的请求/etc/exports
16、定义服务器对外输出的 NFS 文件系统/etc/fstab 定义客户端加载的 NFS 文件系统假如系统不需要 NFS 服务,可以使用 chkconfig 关闭 NFS 服务。假如不能关闭,使用 showmount -e 或直接查看 /etc/exports 文件检查输出的文件系统是否必要,以及属性是否妥当( readonly 等)。chkconfig -list nfs 显示 NFS 服务是否在系统启动时启动/etc/init.d/nfs start|stop 启动|停止 nfs 服务showmount -e显示本机输出的 NFS 文件系统mount 显示本机加载的文件系统(包括NFS 文件系
17、统)可编辑资料 - - - 欢迎下载精品名师归纳总结3 4、SNMP的配置假如系统不需要 SNMP 服务,可以关闭该服务(使用chkconfig 命令)。假如不能关闭,需要在 /etc/snmpd.conf中指定不同的 community name。chkconfig -list snmpd 显示 snmpd服务是否在系统启动时启动chkconfig snmpd off 将 snmpd服务从启动目录中去掉/etc/init.d/snmpd start|stop启动|停止 snmpd服务3 5、Sendmail 的配置假如系统不需要 Sendmail 服务,可以关闭该服务(使用 chkconfi
18、g 命令)。假如不能关闭,将 sendmail 服务升级到最新,并在其配置文件 /etc/sendmail.cf 中指定不同 banner(参见示例)。chkconfig -list sendmail 显示 sendmail服务是否在系统启动时启动chkconfig sendmail off 将 sendmail服务从启动目录中去掉/etc/init.d/sendmail start|stop启动|停止 sendmail服务3 6、DNS( Bind )的配置假如系统不需要DNS 服务,可以关闭该服务(使用chkconfig 命令)。假如不能关闭,将 DNS 服务升级到最新,并在其配置文件修改
19、版本号(参见示例)。chkconfig -list named 显示 named服务是否在系统启动时启动chkconfig named off 将 named服务从启动目录中去掉/etc/init.d/named start|stop启动|停止 named服务3 7、网络连接拜望把握的设置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 authentication.
21、service telnetdisable = noflags= REUSE socket_type= stream wait= nouser= rootserver= /usr/sbin/in.telnetd log_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.159 only_from+= 192.168.0.159# deny acce
22、ss from host freebsd if uncomment the following line #no_access= freebsd3、使用 pam 系统中的 pam_access模块供应的拜望把握机制。配置文件是/etc/security/access.con,f 该文件中供应了该文件的语法。使用 pam_access进行网络拜望把握在 pam 文件中添加 pam_access模块(以 system-auth文件为例)#%PAM-1.0# This file is auto-generated.# User changes will be destroyed the next t
23、ime authconfig is run. authrequired/lib/security/pam_env.soauthsufficient/lib/security/pam_unix.so likeauth nullok authrequired/lib/security/pam_deny.soaccountrequired/lib/security/pam_access.so accountrequired/lib/security/pam_unix.sopasswordrequired/lib/security/pam_cracklib.so retry=3 type= difok
24、=4 minlen=12 dcredit=1 ucredit=2 lcredit=2 ocredit=1passwordsufficient/lib/security/pam_unix.so nullok use_authtok md5 shado wpasswordrequired/lib/security/pam_deny.sosessionrequired/lib/security/pam_limits.so sessionrequired/lib/security/pam_unix.so可编辑资料 - - - 欢迎下载精品名师归纳总结4、信任主机的设置参照 3.2( /etc/inet
25、d.conf 中服务的启动情形)检查rlogin 、rsh、rexec 服务是否启动。假如启动,查看配置文件/etc/hosts.equiv(全局配置文件)和/.rhosts(单独用户的配置文件)文件,检查文件是否配置妥当。建议关闭 R 系列服务( rlogin 、rsh、rexec)。假如不能关闭,就需要检查配置文件,确保没有失当的配置(不能存在 ”+”或”+ +”,假如存在,询问系统治理员是为何这样配置)。5、日志审核的设置对 ssh、su 登录日志进行记录编辑 syslogd 配置文件# vi /etc/syslog.conf加入以下信息,使和登陆验证有关的日志信息记录到 secure
26、文件中# The authpriv file has restricted access. authpriv.*/var/log/secure重新启动 syslogd :# /etc/rc.d/init.d/syslog restart6、物理安全加固启动 LILO 时需要密码第一步:编辑 lilo.conf文件( vi /etc/lilo.conf),加入或转变这三个参数(加#的部分): boot=/dev/hda prompttimeout= 00#把该行改为 00,系统启动时将不再等待,而直接启动LINUXmessage=/boot/message可编辑资料 - - - 欢迎下载精品名师
27、归纳总结linear default=linuxrestricted#加入该行password= is-0ne#加入该行并设置自己的密码(明文)image=/boot/vmlinuz-2.4.18 label=linuxroot=/dev/hda6read-only其次步:由于“ /etc/lilo.conf”文件中包含明文密码,所以要把它设置为root 权限读取。# chmod 0600 /etc/lilo.conf第三步:更新系统,以便对“ /etc/lilo.conf”文件做的修改起作用。# /sbin/lilo -v第四步:使用“ chattr ”命令使“ /etc/lilo.conf
28、”文件不行转变。 # chattr+i /etc/lilo.conf这样可以在确定程度上防止对“/etc/lilo.conf”任何转变(意外或其他缘由)最终将/etc/lilo.conf文件权限改为 600# chmod 600 /etc/lilo.confpassword 用于系统启动时应当输入密码。restricted用于命令行启动系统时(如:进入单用户模式)需要输入密码。7、系统内核参数的配置RedHat Linux 使用 sysctl 命令把握内核参数,并可以在 /etc/sysctl.conf 中设置启动的内核参数。比较重要的网络安全参数有:net.ipv4.conf.default
29、.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 查看全部的内核参数sysctl -w net.ipv4.ip_forward=0 禁止 ip 转发使用 vi
30、 编辑/etc/sysctl.conf文件,添加网络安全参数# For binary values, 0 is disabled, 1 is enabled. See sysctl8 for # more details.# Controls IP packet forwarding net.ipv4.ip_forward = 0# Controls source route verificationnet.ipv4.conf.default.rp_filter = 1# Controls the System Request debugging functionality of the ke
31、rnel kernel.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=0 net.ipv4.conf.default.accept_source_route=0 net.i
32、pv4.conf.default.accept_redirects=0 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.ip_forward=08、选装安全工具工具名称TCP Wrapper工具用途该软件为大多数网络服务供应拜望把握与日志记录的功能。相关信息工具名称Tripwire工具用途该工具为关键文件创建检验值数据库,当这些关键文件发生变化时,给 root 以提示信息。相关信息工具名称lsof工具用途该工具报告进程打开的文件、进程侦听的端口等信息。相关信息工具名称SSH工具用途该工具为主机间远程通讯供应加密通道。用来代替rsh 、rlogin
33、、telnet等远程登录工具。可编辑资料 - - - 欢迎下载精品名师归纳总结相关信息版权申明可编辑资料 - - - 欢迎下载精品名师归纳总结本文部分内容,包括文字、图片、以及设计等在网上搜集整理。版权为潘宏亮个人全部This article includes some parts, including text, pictures, and design. Copyright is Pan Hongliangs personal ownership.用户可将本文的内容或服务用于个人学习、争论或观看,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵害本网站及相关
34、权益人的合法权益。除此以 外,将本文任何内容或服务用于其他用途时,须征得本人及相关权益人的书面许可,并支付酬劳。Users may use the contents or services of this article for personal study, research or appreciation, and other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant l
35、aws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.可编辑资料 - - -
36、欢迎下载精品名师归纳总结转载或引用本文内容必需是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任。Reproduction or quotation of the content of thisarticle must be reasonable and good-faith citation for theuse of news or informative public free information. Itshall not misinterpret or modify the original intention ofthe content of this article, and shall bear legal liabilitysuch as copyright.可编辑资料 - - - 欢迎下载