加固Linux系统的三种方法总结

发布时间 - 2026-01-11 02:49:30    点击率:

加固Linux系统的三种方法总结

Linux命令行历史加固

通过配置系统环境变量实现记录用户在命令行执行的命令。

vim /etc/profile.d/system_monitor.sh
# 添加下面代码
export TMOUT=600
readonly TMOUT
#history
USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
HISTDIR=/usr/share/.history
if [ -z $USER_IP ]; then
USER_IP=`hostname`
fi
if [ ! -d $HISTDIR ]; then
mkdir -p $HISTDIR
chmod 777 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ]; then
mkdir -p $HISTDIR/${LOGNAME}
chmod 300 $HISTDIR/${LOGNAME}
fi
export HISTSIZE=4000
DT=`date +%Y%m%d_%H%M%S`
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]"
chmod 600 $HISTFILE/${LOGNAME}/*.history* 2>/dev/null

重新加载环境变量

source /etc/profile.d/system_monitor.sh

效果:每个帐号每次的登录IP以及运行命令都会记录在该目录如下:

[root@localhost ~]# ll /usr/share/.history/root/
total 8
-rw-------. 1 root root 236 Apr 23 21:49 1.180.212.137.history.20170423_214918
-rw-------. 1 root root 564 Apr 23 21:54 1.180.212.137.history.20170423_214957

crond调用黑白名单

Cron有它自己内建的特性,这特性允许定义哪些人能哪些人不能跑任务。 这是通过两个文件/etc/cron.allow 和 /etc/cron.deny控制的。要锁定在用Cron的用户时可以简单的将其名字写到corn.deny里,而要允许用户跑cron时将其名字加到cron.allow即可。如果你要禁止所有用户,仅允许root用户。如下:

# echo 'root' >> /etc/cron.allow
# echo 'ALL' >> /etc/cron.deny

ssh服务禁止root登录

1、不要使用默认端口,修改方式;

Port 3714

2、不要使用第一版协议;

Protocol 2

3、限制可登录的用户;

AllowUsers user1 user2 #仅允许user1和user2用户登录

4、设定空闲会话超时时长;

5、利用防火墙设置ssh的远程访问策略;仅允许来自于指定网络中的主机访问;

6、仅监听于指定的IP地址;

ListenAddress

7、基于口令认证时,要使用强密码策略;

# 使用mkpasswd命令生成密码;
mkpasswd -l 15 -s 3 -d 3 -C 3

8、最后使用基于密钥进行认证

9、禁止使用空密码,默认启用;

PermitEmptyPasswords no:是否允许空密码登录;

10、禁止管理员直接登录;

PermitRootLogin yes # 是否允许管理员直接登录;安全起见,建议为no;

11、限制ssh访问频度和并发在线;

12、做好日志分析;


# 加固Linux系统  # 加固Linux系统的几种方法总结  # 虚拟机安装linux系统无法上网的解决方法  # Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容  # 解决Linux系统中python matplotlib画图的中文显示问题  # Linux系统下实现远程连接MySQL数据库的方法教程  # Linux系统下安装android sdk的方法步骤  # 最新Linux系统下安装MySql 5.7.17全过程及注意事项  # 命令行  # 这是  # 你要  # 将其  # 帐号  # 三种  # 人不  # 来自于  # 写到  # 人能  # 内建  # 用户登录  # 要使  # 时长  # 时将  # 而要  # 禁止使用  # 它自己  # 远程访问  # 加载 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 电商网站制作价格怎么算,网上拍卖流程以及规则?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  JavaScript Ajax实现异步通信  Bootstrap CSS布局之列表  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  如何在阿里云购买域名并搭建网站?  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Laravel如何自定义分页视图?(Pagination示例)  网页设计与网站制作内容,怎样注册网站?  韩国服务器如何优化跨境访问实现高效连接?  高性价比服务器租赁——企业级配置与24小时运维服务  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  Python高阶函数应用_函数作为参数说明【指导】  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  JS实现鼠标移上去显示图片或微信二维码  网站制作价目表怎么做,珍爱网婚介费用多少?  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  Linux网络带宽限制_tc配置实践解析【教程】  大型企业网站制作流程,做网站需要注册公司吗?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  英语简历制作免费网站推荐,如何将简历翻译成英文?  如何有效防御Web建站篡改攻击?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  如何在万网自助建站中设置域名及备案?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  再谈Python中的字符串与字符编码(推荐)  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  如何在企业微信快速生成手机电脑官网?  深圳网站制作培训,深圳哪些招聘网站比较好?  如何在服务器上三步完成建站并提升流量?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  如何快速生成ASP一键建站模板并优化安全性?  如何用AI帮你把自己的生活经历写成一个有趣的故事?  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  JS经典正则表达式笔试题汇总  Laravel如何使用withoutEvents方法临时禁用模型事件  郑州企业网站制作公司,郑州招聘网站有哪些?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  Laravel如何配置Horizon来管理队列?(安装和使用)  如何挑选优质建站一级代理提升网站排名?  如何在建站之星网店版论坛获取技术支持?  PHP正则匹配日期和时间(时间戳转换)的实例代码  javascript如何操作浏览器历史记录_怎样实现无刷新导航  node.js报错:Cannot find module 'ejs'的解决办法  HTML 中动态设置元素 name 属性的正确语法详解