Linux主机安全加固

Linux主机安全加固

Redhat是目前企业中用的最多的一类Linux,而目前针对Redhat攻击的黑客也越来越多了。我们要如何为这类服务器做好安全加固工作呢?
本文针对系统的账户安全,最小化服务,访问控制,用户鉴别,审计策略等安全项进行整改及加固,达到提升系统安全,使系统能够抵御一定程度的攻击行为的目的!

加固目录

密码策略
升级openssh版本
设置终端超时
删除无效定时任务
删除无效一次性任务
进程管理
SSH安全配置
无效服务管理
防火墙策略
设置历史记录条数:
设置系统日志保留时间
锁定不必要用户

加固内容及方法

1################################################################################## 2#### 以下部分操作属于高危操作,在未得到用户充分授权的情况下,请勿擅自修改 ##### 3################################################################################## 4 5################################################################################## 6# 1、系统登陆密码复杂度: 7### 密码有效期控制 ### 8vim /etc/login.defs 9 10## 修改如下行 ## 11PASS_MAX_DAYS 180 #密码最长过期天数 12PASS_MIN_DAYS 30 #密码最小过期天数 13PASS_MIN_LEN 12 #密码最小长度 14PASS_WARN_AGE 20 #密码过期警告天数 15 16###备份### 17cp /etc/login.defs /etc/login.defs.xu.bak 18 19sed -i 's/PASS_MAX_DAYS 99999/PASS_MAX_DAYS 180/g' /etc/login.defs 20sed -i 's/PASS_MIN_DAYS 0/PASS_MIN_DAYS 30/g' /etc/login.defs 21sed -i 's/PASS_MIN_LEN 5/PASS_MIN_LEN 12/g' /etc/login.defs 22sed -i 's/PASS_WARN_AGE 7/PASS_WARN_AGE 20/g' /etc/login.defs 23 24### 密码复杂度控制 ### 25vim /etc/pam.d/system-auth 26### 找到 password requisite pam_cracklib.so 替换成如下:### 27password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib/pw_dict 28################################################################################## 29 30################################################################################## 31# 2、升级openssh版本; 32### 按需做,这里暂且不对这项进行整改 ### 33################################################################################## 34 35################################################################################## 36# 3、设置终端超时: 37##后续优化对于已经存在配置的判断,一下方法暂用,不会影响整改结果## 38echo 'export TMOUT=1800'>>/etc/profile 39echo 'readonly TMOUT' >>/etc/profile 40source /etc/profile 41################################################################################## 42 43################################################################################## 44# 4、检查定时任务(防止病毒感染): 45### 定时任务 ### 46crontab -l 47### 一次性任务检查 ### 48at -l 49################################################################################## 50 51################################################################################## 52# 5、检查异常进程(防止挖矿病毒,占用内存或者CPU): 53### 检查cpu占用前10 ### 54ps aux|sort -rn -k +3|head 55 56### 检查内存占用前10 ### 57ps aux|sort -rn -k +4|head 58################################################################################## 59 60################################################################################## 61# 6、root用户远程登陆: 62### 由于没有业务用户,修改此项会影响用户正常使用,所以在非必要情况下不进行配置 ### 63vim /etc/ssh/sshd_config 64# 设置如下行 65PermitRootLogin yes 66PermitRootLogin prohibit-password 67## 可以修改默认端口保证安全性,按需 ## 68Port 22 69### 修改完配置之后记得重启服务生效 ### 70service sshd restart 71################################################################################## 72 73################################################################################## 74# 7、关闭无效的服务及端口: 75##邮箱## 76service postfix status 77chkconfig --del postfix 78chkconfig postfix off 79 80##cups## 81service cups status 82chkconfig --del cups 83chkconfig cups off 84 85## 其他服务请手动检查 ## 86################################################################################## 87 88################################################################################## 89# 8、设置防火墙策略: 90####检查IPTABLES状态### 91service iptables status 92 93echo '请根据用户实际业务端口占用等情况进行设置!' 94 95## 例如:vim /etc/sysconfig/iptables ,添加如下策略 ## 96-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 97-A INPUT -m state --state NEW -m udp -p udp --dport 8080 -j ACCEPT 98 99## 重启防火墙 ## 100service iptabels restart 101################################################################################## 102 103################################################################################## 104# 9、设置历史记录数量: 105###备份### 106cp /etc/profile /etc/profile_xu_bak 107 108###修改### 109sed -i s/'HISTSIZE=1000'/'HISTSIZE=5000'/g /etc/profile 110 111###检查### 112cat /etc/profile |grep HISTSIZE|grep -v export 113 114################################################################################## 115 116################################################################################## 117# 10、日志保留半年以上: 118 119###备份### 120cp /etc/logrotate.conf /etc/logrotate.conf_xu_bak 121 122###修改### 123sed -i s/'rotate 4'/'rotate 12'/g /etc/logrotate.conf 124 125###重启#### 126service syslog restart 127 128###检查### 129cat /etc/logrotate.conf |grep -v '#' |grep rotate 130 131################################################################################## 132 133################################################################################## 134# 11、锁定不必要的用户: 135 136###备份### 137cp -p /etc/passwd /etc/passwd_xu_bak 138cp -p /etc/shadow /etc/shadow_xu_bak 139 140###锁定不必要的用户### 141### bin, sys,adm,uucp,lp, nuucp,hpdb, www, daemon ### 142passwd -l bin 143passwd -l sys 144passwd -l adm 145passwd -l uucp 146passwd -l lp 147passwd -l nuucp 148passwd -l hpdb 149passwd -l www 150passwd -l daemon 151 152################################################################################## 153 154################################################################################## 155### 连续6次输错密码禁用一段时间,建议配置成300秒 ### 156################################################################################## 157 158################################################################################## 159### 配置系统超时自动退出,建议配置成300秒 ### 160##################################################################################

总结:

整改文档可以写成一个完整的脚本,但是由于时间原因及出于安全性考虑,很多部分还是建议使用手动执行,防止不必要的麻烦出现

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )