版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CentOS6.5系统安全加固基础实施方案目录一、用户帐号和环境2二、系统访问认证和授权3三、核心调整4四、需要关闭的一些服务5五、SSH安全配置5六、封堵openssl的Heartbleed漏洞6七、开启防火墙策略6八、启用系统审计服务8九、部署完整性检查工具软件9十、部署系统监控环境10以下安全设置均是在CentOS6.5_x86环境basicserver下进行的验证。、用户帐号和环境检查项注释:1清除了uucp、operator、lp、shutdown、halt、games、gopher帐号删除的用户组有:lp、uucp、games、dip其它系统伪帐号均处于锁定SHELL登录的状态:U
2、serdelgroupdel2验证是否有账号存在空口令的情况:awk-F:'($2="")print$1'/etc/shadow(awk:文本处理工具)3检查除了root以外是否还有其它账号的UID为0:awk-F:'($3=0)print$1'/etc/passwd任彳UID为0的账号在系统上都具有超级用户权限.4检查root用户的$PATH中是否有.或者所有用户/组用户可写的目录?超级用户的$PATH设置中如果存在这些目录可能会导致超级用户误执行一个特洛伊木马5用户的home目录许可权限设置为700chmod700home/目录(home
3、是用户目录的上层目录,其他用户将无法登陆,需更改其下子目录)不能直接修改,否则用户home目录的许可权限限制不严可能会导致恶意用户读/修改/删除其它用户的数据或取得其它用户的系统权限6是否有用户的点文件是所有用户可读写的:fordirinawk-F:'($3>=500)print$6'/etc/passwddoforfilein$dir/.A-Za-z0-9*doif-f$file;thenchmodo-w$filefidonedoneUnix/Linux下通常以开头的文件是用户的配置文件,如果存在所有用户可读/写的配置文件可能会使恶意用户能读/写其它用户的数据或取得其它
4、用户的系统权限7为用户设置合适的缺省umask值:cd/etcforfileinprofilecsh.logincsh.cshrcbashrcdoif'grep-cumask$file'-eq0;thenecho"umask022">>$filefichownroot:root$filechmod444$file为用户设置缺省的umask值有助于防止用户建立所有用户可写的文件而危及用户的数据.done设备系统口令策略:修改/etc/login.defs文件将PASSMINLEN最小密码长度设置为12位。设置系统口令复杂度:修改/etc/pam.d
5、/system-auth文件下面这一行这里限制的是普通用户修改自passwordrequisitepam_cracklib.sotry_first_passretry=3minlen下长度)=12dcredit(数字)=1ucredit(大写字母)=1lcredit(小写字母)(最已口令时的复杂度。这个设置对=1root是无效的。ocredit(特殊符号)=1限制能够su为root的用户:#vi/etc/pam.d/su这样,只有wheel组的用户可以10在文件头部添加下面这样的一行su到rootauthrequiredpam_wheel.souse_uid否贝懦要密码操作样例:#usermo
6、dG(此处也可以是g)10(此处也可以是wheel)test将test用户加入到wheel组11修改别名文件/etc/aliases:#vi/etc/aliases注释掉不要的#games:root#ingres:root#system:root#toor:root#uucp:root#manager:root#dumper:root#operator:root#decode:root#root:marc修改后执行/usr/bin/newaliases设置帐户锁定登录失败锁定次数、锁定时间12Vi/etc/pam.d/system-auth并增加下面一行内容连续输入密码错误6次,则自动锁定5分
7、钟。authrequiredpam_tally2.soonerr=faildeny=6unlock_time=300修改帐户TMOUT值,设置自动注销时间13vi/etc/profile增加TMOUT=600(当某用户远程登录后,转为root用户再转为普通用户,则时间超出后回归为root,此命令对root无效)解锁用户faillog-u<用户名>-r无操作600秒后自动退出设置Bash保留历史命令的条数14#vi/etc/profile修改HISTSIZE=5即只保留最新执行的5条命令防止误使用Ctrl+Alt+Del重启系统15#vi/etc/init/control-alt-d
8、elete.conf注掉重启系统的相关命令防止IPSPOOF:16#vi/etc/host.conf添力口:nospoofon使用日志服务器:17#vi/etc/rsyslog.conf照以下样式修改*.info;mail.none;authpriv.none;cron.none不允许服务器对IP地址进行欺骗这里只是作为参考,需要根据实际决定怎么配置参数99(需要搭建日志服务器,既另有一台专门的日志储存服务器)、系统访问认证和授权限制at/cron给授权的用户cd/etc/检查项注释:Cron.allow和at.allow文件列出了允许允许crontab和at命令的用户
9、名单rm-fcron.denyat.deny在多数系统上通常只有系统管理员echoroot>cron.allow才需要运行这些命令echoroot>at.allowchownroot:rootcron.allowat.allow(修改文件所有者和所在组)chmod400cron.allowCrontab文件限制访问权限:chownroot:root/etc/crontabchmod400/etc/crontabat.allow(权限修改为-r)系统的crontab文件应该只能被cron守护进程(它以超级用户身份运行)来访问,一个普通用户可以修改chown-Rroot:root/va
10、r/spool/cronchmod-Rgo-rwx/var/spool/cronchown-Rroot:root/etc/cron.*crontab文件会导致他可以以超级用户身份执行任意程序chmod-Rgo-rwx/etc/cron.*(go-rwx,u=属主,g=组,o=其他用户,-既减去,rwx读写执行权限)建立恰当的警告banner:echo"Authorizedusesonly.Allactivitymonitoredandreported.">>/etc/motdchownroot:root/etc/motdchmod644/etc/motd改变登录
11、banner可以隐藏操作系统maybe类型和版本号和其它系统信息,这些信息可以会对攻击者有用.echo"Authorizedusesonly.monitoredandreported.">>/etc/issueecho"Authorizedusesonly.AllactivitymaybeAllactivitymaybemonitoredandreported.">>/etc/限制root登录到系统控制台:cat<<END_FILE>/etc/securetty通常应该以普通用户身份访问系统,然后通过其它授权机制
12、(比如su命令tty1和sudo)来获得更高权限,这样做至少可以对登录事件进行跟踪tty6(这些tty都是什么鬼?tty1=cltr+f1)END_FILEchownroot:root/etc/securettychmod400/etc/securetty设置守护进程掩码系统缺省的umask值应该设vi/etc/rc.d/init.d/functions定为022以避免守护进程创设置为umask022(022表示默认创建新文件权限为755也就是rxwr-xr-x(所建所有用户可写的文件有者全部权限,属组读写,其它人读写),此值默认即为022)三、核心调整设置项注释:禁止coredump:cat
13、<<END_ENTRIES>>/etc/security/limits.conf允许coredump会耗费大量的磁盘空间.* softcore0(软盘core记录文件)* hardcore0(硬盘core记录文件)ENDENTRIESecho"1">/proc/sys/net/ipv4/conf/all/log_martianschownroot:root/etc/sysctl.confchmod600/etc/sysctl.conflog_martians(网络问题定位工具)将进行ip假冒的ip包记录到/var/log/messages其它核
14、心参数使用CentOS默认值。四、需要关闭的一些服务设置项注释:1关闭NFS客户端进程:运行chkconfig(更新查询修改不同运行级上的系统服务)chkconfigautofs(自动挂载器是一个监视目录的守护进程)nfslock(nfs服务)offoff2禁止Netfs脚本chkconfignetfs(用于挂在网络共享文件)off如果不需要文件共享可禁止该脚本3关闭MailServerchkconfigpostfixoff多数Unix/Linux系统运行Sendmail作为邮件服务器,而该软件历史上出现过较多安全漏洞,如无必要,禁止该服务4关闭cpuspeedChkconfigcpuspee
15、doff调节cpu速度用来省电,常用在Laptop上,对服务器没用5关闭IPv6chkconfigip6tablesoff6关闭cupschkconfigcupsoff通用unix打印服务7关闭atdchkconfigatdoff在指定时间执行命令。建议使用crond五、SSH安全配置设置项注释:1配置空闲登出的超时间隔:ClientAliveInterval300ClientAliveCountMax0Vi/etc/ssh/sshd_config2禁用.rhosts文件(.rhosts文件允许用户不提供口令而访问系统)IgnoreRhosts(设置登录验证)yesVi/etc/ssh/ssh
16、d_config3禁用基于主机的认证HostbasedAuthenticationno(指定服务器在使用/.shosts/.rhosts/etc/hosts.equiv进行远程主机名匹配时,是否进行反向域名查询。"yes"表示sshd(8)信任客户端提供的主机名而不进行反向查询。默认值是"no"。)Vi/etc/ssh/sshd_config4禁止root帐号通过SSH登录PermitRootLoginnoVi/etc/ssh/sshd_config5禁用警告的BannerBanner/etc/issueVi/etc/ssh/sshd_config防火墙
17、处理SSH端口#226-AINPUT-s/24-mstate-stateNEW-ptcp-dport22-jACCEPT-AINPUT-s/29-mstate-stateNEW-ptcp-dport22-jACCEPT这里仅作为参考,需根据实际需要调整参数修改SSH端口和限制IP绑定:7Port64906(参数端口号)Vi/etc/ssh/sshd_config仅作为参考,需根据实际需要调整ListenAddress(监听的网络地址,默认所有)参数。ListenAddress禁用空密码:(依旧在Vi/etc/s
18、sh/sshd_config中)禁止帐号使用空密码进行远程登PermitEmptyPasswordsno录SSH记录日志:LogLevelINFO在sshd_config中将日志级别LogLevel设置为INFO或DEBUG,可通过logwatchor重启SSH-HUP让进程自动重启logcheck(日志分析工具)来阅读日志。10psaux|grepsshkill-HUPpid(其中HUP为重启,KILL为杀死,TERM结束)六、封堵openssl的Heartbleed漏洞检测方法:在服务器上运行以下命令确认openssl版本(安全套接字层密码库)#opensslversionOpenSSL1
19、.0.1e-fips11Feb2013以上版本的openssl存在Heartbleedbug,需要有针对性的打补丁。升及补丁:#yum-yinstallopenssl(-y,默认选择"y")验证:#opensslversion-aOpenSSL1.0.1e-fips11Feb2013builton:ThuJun512:49:27UTC2014以上builton的时间是2014.6.5号,说明已经修复了该漏洞。注:如果能够临时联网安装以上补丁,在操作上会比较简单一些。如果无法联网,则有两种处理办法:首选从安装光盘拷贝独立的rpm安装文件并更新;另一个办法是提前下载最新版本的o
20、penssl源码,编译并安装。七、开启防火墙策略查看当前的iptables设置:#iptables-L(-List)清除当前的防火墙规则(如果是远程配置iptables请在清除规则前先执行下表中第一行)#iptables-F(清空所选链。这等于把所有规则一个个的删除。)#iptablestX(删除指定的用户自定义链)#iptablesN(把所有链的包及字节的计数器清空)添加自定义规则:/sbin/iptables-PINPUTACCEPT(-P指定链的默认目标,ACCEPT允许包通过,DROP丢弃包,REJECT拒绝包,丢弃包同时给发送者发送没有接受的通知,LOG包有关信息记录到日志)当Cha
21、inINPUT(policy(策略)DROP)时执行/sbin/iptables-F后,你将和服务命断开连接所以在清空所有规则前把policyDROP改为INPUT,防止悲剧发生(该设置是针对远程配置iptables而后,本地则可忽略)/sbin/iptables-AINPUT-ilo-jACCEPT(力添加,-D删除,-C修改)允许来自于lo接口的数据包,如果没有此规则,你将不能通过访问本地服务,例如ping。默认设置。/sbin/iptables-AINPUT-ptcp-dport22-jACCEPT(从-s开始即条规则,-j前面是规则的条件,-j开始是
22、规则的行为(目的)开放TCP协议22端口,以便能ssh。该条规则默认将/、予设置,每台主机需要根据自己情况决定是使用默认22端口,还是其它端口。注:主机也需要同步更改SSH监听端口/sbin/iptables-AINPUT-mstate-stateESTABLISHED-jACCEPT对进来的包的状态进仃检测。已经建立tcp连接的包以及该连接相关的包允许通过。默认设置。/sbin/iptables-AINPUT-ptcp-dport80-jACCEPT开放TCP协议80端口供web服务。默认不予设置。/sbin/iptables-AINPUT-ptcp-s5-jACCE
23、PT(假设)5是另外f服务器的内网ip,由于之间后通信,接受所后来自5的TCP请求/sbin/iptables-AINPUT-picmp-micmp-icmp-type8-jACCEPT接受ping/sbin/iptables-PINPUTDROP屏蔽上述规则以外的所有请求,不可缺少,否则防火墙没有任何过滤的功能。默认设置。可以使用iptables-L-n查有规则是否生效/sbin/iptables-AINPUT-ptcp-mstate-stateNEW-mtcp-dport20220-jACCEPT/sbin/iptables-AINPUT-p
24、tcp-mstate-stateNEW-mtcp-dport1562-jACCEPT/sbin/iptables-AINPUT-ptcp-mstate-stateNEW-mtcp-dport443-jACCEPT/sbin/iptables-AINPUT-ptcp-mstate-stateNEW-mtcp-dport7400:7600-jACCEPT/sbin/iptables-AINPUT-ptcp-mstate-stateNEW-mtcp-dport80-jACCEPT/sbin/iptables-AINPUT-ptcp-mstate左侧各规则只作为参考,默认均不予设置,请目标主机自行选择
25、并设置。(-p在前大写为永久帘指定默认规则(内置链策略),在后边小写表不要处理的协议,前面加!表示逻辑非;-s指定源地址或者地址范围)-stateNEW-mtcp-dport5666-jACCEPT保存刚才设置的防火墙规则:#/etc/init.d/iptablessave可以在文件/etc/sysconfig/iptables中看到配置八、启用系统审计服务审计内容包括:系统调用、文件访问、用户登录等。编辑/etc/audit/audit.rules,在文中添加如下内容:- w/var/log/audit/-kLOG_audit- w/etc/audit/-pwa-kCFG_audit- w/
26、etc/sysconfig/auditd-pwa-kCFG_auditd.conf- w/etc/libaudit.conf-pwa-kCFG_libaudit.conf- w/etc/audisp/-pwa-kCFG_audisp- w/etc/cups/-pwa-kCFG_cups- w/etc/init.d/cups-pwa-kCFG_initd_cups- w/etc/netlabel.rules-pwa-kCFG_netlabel.rules- w/etc/selinux/mls/-pwa-kCFG_MAC_policy- w/usr/share/selinux/mls/-pwa-k
27、CFG_MAC_policy- w/etc/selinux/semanage.conf-pwa-kCFG_MAC_policy- w/usr/sbin/stunnel-px- w/etc/security/rbac-self-test.conf-pwa-kCFG_RBAC_self_test- w/etc/aide.conf-pwa-kCFG_aide.conf- w/etc/cron.allow-pwa-kCFG_cron.allow- w/etc/cron.deny-pwa-kCFG_cron.deny- w/etc/cron.d/-pwa-kCFG_cron.d- w/etc/cron.
28、daily/-pwa-kCFG_cron.daily- w/etc/cron.hourly/-pwa-kCFG_cron.hourly- w/etc/cron.monthly/-pwa-kCFG_cron.monthly- w/etc/cron.weekly/-pwa-kCFG_cron.weekly- w/etc/crontab-pwa-kCFG_crontab- w/var/spool/cron/root-kCFG_crontab_root- w/etc/group-pwa-kCFG_group- w/etc/passwd-pwa-kCFG_passwd- w/etc/gshadow-kC
29、FG_gshadow- w/etc/shadow-kCFG_shadow- w/etc/security/opasswd-kCFG_opasswd- w/etc/login.defs-pwa-kCFG_login.defs- w/etc/securetty-pwa-kCFG_securetty- w/var/log/faillog-pwa-kLOG_fai110g- w/var/log/lastlog-pwa-kLOG_lastlog- w/var/log/tallylog-pwa-kLOG_tallylog- w/etc/hosts-pwa-kCFG_hosts- w/etc/sysconf
30、ig/network-scripts/-pwa-kCFG_network- w/etc/inittab-pwa-kCFG_inittab- w/etc/rc.d/init.d/-pwa-kCFG_initscripts- w/etc/ld.so.conf-pwa-kCFG_ld.so.conf- w/etc/localtime-pwa-kCFG_localtime- w/etc/sysctl.conf-pwa-kCFG_sysctl.conf- w/etc/modprobe.conf-pwa-kCFG_modprobe.conf- w/etc/pam.d/-pwa-kCFG_pam- w/et
31、c/security/limits.conf-pwa-kCFG_pam- w/etc/security/pam_env.conf-pwa-kCFG_pam- w/etc/security/namespace.conf-pwa-kCFG_pam- w/etc/security/namespace.init-pwa-kCFG_pam- w/etc/aliases-pwa-kCFG_aliases- w/etc/postfix/-pwa-kCFG_postfix- w/etc/ssh/sshd_config-kCFG_sshd_config- w/etc/vsftpd.ftpusers-kCFG_v
32、sftpd.ftpusers- aexit,always-Farch=b32-Ssethostname- w/etc/issue-pwa-kCFG_issue- w/etc/-pwa-kCFG_重启audit服务#serviceauditdrestart九、部署完整性检查工具软件AIDE(AdvancedIntrusionDetectionEnvironment,高级入侵检测环境)是个入侵检测工具,主要用途是检查文档的完整性。AIDE能够构造一个指定文档的数据库,他使用aide.conf作为其配置文档。AIDE数据库能够保存文档的各种属性,包括:权限(permission)、索引节点序号(in
33、odenumber)、所属用户(user)、所属用户组(group)、文档大小、最后修改时间(mtime)、创建时间(ctime)、最后访问时间(atime)、增加的大小连同连接数。AIDE还能够使用下列算法:sha1、md5、rmd160、tiger,以密文形式建立每个文档的校验码或散列号。在系统安装完毕,要连接到网络上之前,系统管理员应该建立新系统的AIDE数据库。这第一个AIDE数据库是系统的一个快照和以后系统升级的准绳。数据库应该包含这些信息:关键的系统二进制可执行程式、动态连接库、头文档连同其他总是保持不变的文档。这个数据库不应该保存那些经常变动的文档信息,例如:日志文档、邮件、/p
34、roc文档系统、用户起始目录连同临时目录安装方法:#yum-yinstallaide注:如果主机不能联网安装AIDE,那么也可以从安装光盘拷贝至目标主机。检验系统文件完整性的要求:因为AIDE可执行程序的二进制文档本身可能被修改了或数据库也被修改了。因此,应该把AIDE的数据库放到安全的地方,而且进行检查时要使用确保没有被修改过的程序,最好是事先为AIDE执行程序生成一份MD5信息。再次使用AIDE可执行程序时,需要先验证该程序没有被篡改过。配置说明:序号参数注释1/etc/aide.conf配置文件2databaseAide读取文档数据库的位直,默认为/var/lib/aide,默认文件名为
35、aide.db.gz3database_outAide生成文档数据库的存放位直,默认为/var/lib/aide,默认文件名为aide.db.new.gzdatabase_new在使用aide-compare命令时,需要在aide.conf中事先设置女ddatabase_new并指向需要比较的库文件4report_url/var/log/aide,入侵检测报告的存放位直5其它参数继续使用默认值即可。建立、更新样本库:1)执行初始化,建立第一份样本库# aide-init# cd/var/lib/aide/# mvaide.db.new.gzaide.db.gz/替换旧的样本库2)更新到样本库#
36、aide-update# cd/var/lib/aide/# mvaide.db.new.gzaide.db.gz/替换旧的样本库执行aide入侵检测:1)查看入侵检测报告#aide-check报告的详细程度可以通过-V选项来调控,级别为0-255,-V0最简略,-V255最详细。或#aide-compare这个命令要求在配置文件中已经同时指定好了新、旧两个库文件。2)保存入侵检测报告(将检查结果保存到其他文件)aide-check-report=file:/tmp/aide-report-20120426.txt3)定期执行入侵检测,并发送报告#crontab-e4517*/usr/sbin/aide-C-V4|/bin/mail-s"AIDEREPORT$(date+%Y%m%d)"abcdefg#或4523*aide-C>>/var/l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年幼儿园食品安全管理协议书
- 合作投资合同书示例
- 广州市劳动合同范本参考
- 2024灯饰采购合同范文
- 安徽省淮南市七年级上学期语文期中试题3套【附答案】
- 提升机租赁合同样式
- 2024抵押贷款合同协议书样式
- 6.2 共筑生命家园(导学案) 2024-2025学年统编版道德与法治九年级上册
- 购房合同协议书范本
- 仓库租赁合同样本
- 安徽省芜湖市七年级上学期语文期中试卷(含答案)
- 两癌知识科普课件
- 食用菌现代高效农业示范园区建设项目建议书
- 东营港加油、LNG加气站工程环评报告表
- 2024年日历(打印版每月一张)
- 车用动力电池回收利用 管理规范 第2部分:回收服务网点征求意见稿编制说明
- 新剑桥少儿英语第六册全册配套文本
- 科学预测方案
- 职业生涯规划网络与新媒体专业
- T-WAPIA 052.2-2023 无线局域网设备技术规范 第2部分:终端
- 市政管道开槽施工-市政排水管道的施工
评论
0/150
提交评论