收藏 分销(赏)

Linux系统安全加固手册.doc

上传人:快乐****生活 文档编号:1950703 上传时间:2024-05-11 格式:DOC 页数:15 大小:213KB 下载积分:8 金币
下载 相关 举报
Linux系统安全加固手册.doc_第1页
第1页 / 共15页
Linux系统安全加固手册.doc_第2页
第2页 / 共15页


点击查看更多>>
资源描述
密 级:商业秘密 LINUX评估加固手册 安氏领信科技发展有限公司 二〇二四年五月 目 录 1、系统补丁的安装 3 2、帐户、口令策略的加固 3 2.1、删除或禁用系统无用的用户 3 2.2、口令策略的设置 4 2.3、系统是否允许root远程登录 4 2.4、root的环境变量设置 5 3、网络与服务加固 5 3.1、rc?.d中的服务的设置 5 3.2、/etc/inetd.conf中服务的设置 6 3.3、NFS的配置 8 3.4、SNMP的配置 8 3.5、Sendmail的配置 9 3.6、DNS(Bind)的配置 9 3.7、网络连接访问控制的设置 9 4、信任主机的设置 10 5、日志审核的设置 11 6、物理安全加固 11 7、系统内核参数的配置 12 8、选装安全工具 13 1、系统补丁的安装 RedHat使用RPM包实现系统安装的管理,系统没有单独补丁包(Patch)。如果出现新的漏洞,则发布一个新的RPM包,版本号(Version)不变,Release做相应的调整。因此检查RH Linux的补丁安装情况只能列出所有安装的软件,和RH网站上发布的升级软件对照,检查其中的变化。 通过访问官方站点下载最新系统补丁,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变量,例如uucp,ftp和news等,还有一些仅仅需要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组。 2.2、口令策略的设置 RedHat Linux总体口令策略的设定分两处进行,第一部分是在/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 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. auth required /lib/security/pam_env.so auth sufficient /lib/security/pam_unix.so likeauth nullok auth required /lib/security/pam_deny.so account required /lib/security/pam_access.so account required /lib/security/pam_unix.so password required /lib/security/pam_cracklib.so retry=3 type= difok=4 minlen=12 dcredit=1 ucredit=2 lcredit=2 ocredit=1 password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shado w password required /lib/security/pam_deny.so session required /lib/security/pam_limits.so session required /lib/security/pam_unix.so 2.3、系统是否允许root远程登录 RedHat在文件/etc/securetty中定义root用户可以登录的端口;默认其中只包含vc/1-11和tty1-11,即root用户只能从本地登录。 2.4、root的环境变量设置 系统的环境变量在下列文件中设置: Bash: /etc/profile ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc /etc/bashrc Tcsh/Csh: /etc/csh.cshrc /etc/csh.login ~/.tcshrc或~/.cshrc ~/.history ~/.login ~/.cshdirs printenv 查看用户的环境变量 检查环境变量PATH,确保其中不包含本地目录(.)。 3、网络与服务加固 3.1、rc?.d中的服务的设置 RedHat的服务主要由/etc/inittab和/etc/rc?.d/S*文件启动,事实上,/etc/inittab的主要任务是为每一个runlevel指定启动文件,从而启动/etc/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(启动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、rlogind、rshd等服务。 可从/etc/inetd.conf中删除的服务(在/etc/inetd.conf中注释掉): shell kshell login klogin exec comsat uucp bootps finger systat netstat tftp talk ntalk rpc.rquotad rpc.rexd rpc.rusersd rpc.ttdbserver rpc.sprayd rpc.cmsd rpc.rwalld rpc.pcnfsd rpc.rstatd rpc.ssalld echo discard chargen daytime time comsat websm instsrv imap2 pop3 kfcli xmquery RedHat 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/xinetd.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 numbers from trusted hosts. service login { disable = yes socket_type = stream wait = no user = root log_on_success += USERID log_on_failure += USERID server = /usr/sbin/in.rlogind } 3.3、NFS的配置 NFS系统的组成情况: nfsd NFS服务进程,运行在服务器端,处理客户的读写请求 mountd 加载文件系统服务进程,运行在服务器端,处理客户加载nfs文件系统的请求 /etc/exports 定义服务器对外输出的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文件系统) 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服务,可以关闭该服务(使用chkconfig命令);如果不能关闭,将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服务升级到最新,并在其配置文件修改版本号(参见示例)。 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启动的服务进行网络访问控制;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. service telnet { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID # allow access from host freebsd and network 172.16.0.0/24 only_from = freebsd 172.16.0.0/24 # also allow access from host 192.168.0.159 only_from += 192.168.0.159 # deny access from host freebsd if uncomment the following line # no_access = freebsd } 3、 使用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 the next time authconfig is run. auth required /lib/security/pam_env.so auth sufficient /lib/security/pam_unix.so likeauth nullok auth required /lib/security/pam_deny.so account required /lib/security/pam_access.so account required /lib/security/pam_unix.so password required /lib/security/pam_cracklib.so retry=3 type= difok=4 mi nlen=12 dcredit=1 ucredit=2 lcredit=2 ocredit=1 password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shado w password required /lib/security/pam_deny.so session required /lib/security/pam_limits.so session required /lib/security/pam_unix.so 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 加入以下信息,使和登陆验证有关的日志信息记录到secure文件中 # The authpriv file has restricted access. authpriv.* /var/log/secure 重新启动syslogd: # /etc/rc.d/init.d/syslog restart 6、物理安全加固 启动LILO时需要密码 第一步:编辑lilo.conf文件(vi /etc/lilo.conf),加入或改变这三个参数(加#的部分): boot=/dev/hda prompt timeout=00 # 把该行改为00,系统启动时将不再等待,而直接启动LINUX message=/boot/message linear 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/lilo -v 第四步:使用“chattr”命令使“/etc/lilo.conf”文件不可改变。 # chattr +i /etc/lilo.conf 这样可以在一定程度上防止对“/etc/lilo.conf”任何改变(意外或其他原因) 最后将/etc/lilo.conf文件权限改为600 # chmod 600 /etc/lilo.conf password用于系统启动时应当输入密码; restricted用于命令行启动系统时(如:进入单用户模式)需要输入密码。 7、系统内核参数的配置 RedHat Linux使用sysctl命令控制内核参数,并可以在/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 查看所有的内核参数 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 forwarding net.ipv4.ip_forward = 0 # Controls source route verification net.ipv4.conf.default.rp_filter = 1 # Controls the System Request debugging functionality of the kernel 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.ipv4.conf.default.accept_redirects=0 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.ip_forward=0 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等远程登录工具。 相关信息 其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。 二.培训的及要求培训目的 安全生产目标责任书 为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部签订如下安全生产目标: 一、目标值: 1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。 2、现金安全保管,不发生盗窃事故。 3、每月足额提取安全生产费用,保障安全生产投入资金的到位。 4、安全培训合格率为100%。 二、本单位安全工作上必须做到以下内容: 1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职责,确保安全责任制在本单位全面落实,并全力支持安全工作。 2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。 3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。 4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。 5、在公司及政府的安全检查中杜绝各类违章现象。 6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。 7、以身作则,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。 8、虚心接受员工提出的问题,杜绝不接受或盲目指挥; 9、发生事故,应立即报告主管领导,按照“四不放过”的原则召开事故分析会,提出整改措施和对责任者的处理意见,并填写事故登记表,严禁隐瞒不报或降低对责任者的处罚标准。 10、必须按规定对单位员工进行培训和新员工上岗教育; 11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。 三、 安全奖惩: 1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实现安全目标的按照公司规定进行处罚。 2、每月接受主管领导指派人员对安全生产责任状的落 LINUX评估加固手册 第 15 页 共 15页
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服