LINUX基线要求及加固方法

《YDT 2701-2014 电信网和互联网安全防护基线配置要求及检测要求 操作系统  LINUX篇》

一、账号

应按照不同用户分配不同账号

检查/etc/passwd是否有只有root用户,应用应使用其他用户账号部署


限制用户su到root

编辑su文件(vi /etc/pam.d/su),在开头添加下面两行:

auth sufficient /lib/security/pam_rootok.so

auth required /lib/security/pam_wheel.so group=wheel

这表明只有wheel组的成员可以使用su命令成为root用户。


删除或锁定无关账号

使用删除或锁定的与工作无关的账号登录系统;
需要锁定的用户:listen,gdm,webservd,nobody,nobody4、noaccess。
vi /etc/passwd --修改需要锁定的用户登录方式为/bin/false


建立多账户组

cat /etc/passwd;cat /etc/group,检查是否有只有root用户组,应用应使用其他用户组部署

二、口令

密码创建要求是否配置

口令长度至少8 位,并包括数字、小写字母、大写字母和特殊符号4 类中至少3 类。
vi /etc/login.defs ,修改设置如下
PASS_MIN_LEN=8 #设定最小用户密码长度为8 位
vi /etc/pam.d/system-auth
password    requisite     pam_cracklib.so try_first_pass retry=3 minlen=8 ucredit=-1   lcredit=-1   dcredit=-3  ocredit=-1 #设定密码策略


帐户口令的生存期不长于90天

1、参考配置操作
vi /etc/login.defs
PASS_MAX_DAYS=90 #设定口令的生存期不长于90 天

注:该设置对已存在的用户的口令不产生影响,新建用户,默认密码会强制90天过期。

三、授权

配置用户最小授权

1、参考配置操作
通过 chmod 命令对目录的权限进行实际设置。
2、补充操作说明
/etc/passwd 必须所有用户都可读,root 用户可写 –rw-r—r—
/etc/shadow 只有root 可读 –r--------
/etc/group 须所有用户都可读,root 用户可写 –rw-r—r—
使用如下命令设置:
chmod 644 /etc/passwd
chmod 400 /etc/shadow
chmod 644 /etc/group


配置文件与目录缺省权限控制

设置默认权限:
vi /etc/login.defs 在末尾增加umask 027,将缺省访问权限设
置为750


用户 FTP 访问安全是否配置

编辑 /etc/vsftpd/chroot_list 文件,将需要限制的用户名加入到文件中

四、远程登录

限制 root 用户远程登录

1、参考配置操作
修改/etc/ssh/sshd_config 文件,将
PermitRootLogin yes 改为PermitRootLogin no,重启sshd 服务。


使用ssh加密登录

应配置使用ssh服务进行远程登录,开启使用密码参数,并禁止使用telnet

五、补丁

系统是否安装最新补丁

uname -a检查系统版本,升级到最新版本

yum update 

注:升级应最好相关备份动作,以防升级后对部分应用的不兼容。

六、日志

启用 Syslog 日志审计

1、参考配置操作
#cat /etc/syslog.conf 查看是否有#authpriv.* /var/log/secure


配置日志文件安全权限

系统日志文件由 syslog 创立并且不可被其他用户修改;其它的系统日志文件不是全局可写
chmod 600 /var/log/messages
chmod 600 /var/log/boot.log
chmod 600 /var/log/cron
chmod 600 /var/log/secure
chmod 600 /var/log/maillog
chmod 600 /var/log/spooler
chmod 600 /var/log/mail
chmod 600 /var/log/cron


启用记录cron行为日志功能

1、参考配置操作
Vi /etc/syslog.conf
# Log cron stuff
cron.*


配置远程日志功能

1、参考配置操作
修改配置文件 vi /etc/syslog.conf,
加上这一行:
*.* @192.168.0.1
可以将"*.*"替换为你实际需要的日志信息。比如:kern.* ; mail.* 等等。
可以将此处 192.168.0.1 替换为实际的IP 或域名。

七、不必要的服务、端口

关闭不必要的服务

1、参考配置操作
查看所有开启的服务:
#ps –ef
#chkconfig --list
#cat /etc/xinetd.conf
在xinetd.conf中关闭不用的服务首先复制/etc/xinetd.conf。 #cp
/etc/xinetd.conf /etc/xinetd.conf.backup 然后用vi编辑器编辑
xinetd.conf文件,对于需要注释掉的服务在相应行开头标记"#"字
符,重启xinetd服务,即可。

八、系统Banner 设置

修改系统 banner

mv /etc/issue /etc/issue.bak
mv /etc/issue.net /etc/issue.net.bak

九、登陆超时时间设置

对于具备字符交互界面的设备,配置定时帐户自动登出

1、参考配置操作
通过修改账户中“TMOUT”
参数,可以实现此功能。TMOUT 按秒计算。编辑profile 文
件(vi /etc/profile),在“HISTFILESIZE=”后面加入下
面这行:
建议 TMOUT=300(可根据情况设定)

十、删除潜在危险文件

删除潜在危险文件

1、参考配置操作
执行:find / -name .netrc,检查系统中是否有.netrc 文件,
执行:find / -name .rhosts ,检查系统中是否有.rhosts 文件
如无应用,删除以上文件:

十一、FTP设置

禁止匿名 FTP

1、参考配置操作
以 vsftpd 为例:
打开vsftd.conf文件,修改下列行为:
anonymous_enable=NO


修改ftp banner信息

修改/etc/vsftpd/vsftpd.conf;banner /path/to/ftpbanner,在指定目录下创建包含ftp信息的banner文件


禁止 root 用户登录 FTP

1、参考配置操作
在 ftpaccess 文件中加入下列行
sed -i "s/root/\#root/g" /etc/vsftpd/ftpusers
sed -i "/\#root/a root"   /etc/vsftpd/ftpusers

十二、一键加固脚本

#!/bin/bash
####running for redhat 2701-2014##############################1、禁止su至root用户###################################
sed -i -r -e " /\#\%PAM/a auth\t\trequired\tpam_wheel.so group=wheel"  /etc/pam.d/su
sed -i -r -e " /\#\%PAM/a auth\t\tsufficient\tpam_rootok.so"  /etc/pam.d/su####2、密码最小长度策略###################################
sed -i -r -e  "/[[:space:]]*PASS_MIN_LEN/d" /etc/login.defs 
echo -e "PASS_MIN_LEN\t8"  >> /etc/login.defs####3、密码复杂度(加入限制root创建弱密码)################
echo "#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        required      pam_faildelay.so delay=2000000
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.soaccount     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.sopassword    requisite     pam_cracklib.so try_first_pass retry=3 minlen=8 ucredit=-1   lcredit=-1   dcredit=-3  ocredit=-1 enforce_for_root
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok  remember=5
password    required      pam_deny.sosession     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
" >/etc/pam.d/system-auth####4、帐户口令的生存期不长于90天#####################
sed -i "s/PASS_MAX_DAYS/\#PASS_MAX_DAYS/g" /etc/login.defs
echo "PASS_MAX_DAYS   90" >>   /etc/login.defs####5、配置用户最小授权##################################
chmod 644 /etc/passwd
chmod 400 /etc/shadow
chmod 644 /etc/group####6、配置文件与目录缺省权限控制########################
sed -i -r -e "/umask|UMASK/d" /etc/login.defs 
echo -e "UMASK\t027" >> /etc/login.defs####7、禁止root登录###################################
sed -i "s/PermitRootLogin yes/PermitRootLogin no/g"   /etc/ssh/sshd_config 
service sshd restart ####8、日志审计及远程日志功能(替换日志转发地址)############
echo "*.*   @192.168.1.1" >> /etc/rsyslog.conf
echo "cron.*"  >> /etc/rsyslog.conf
echo "authpriv.*" /var/log/secure
systemctl restart rsyslog####9、配置日志文件安全权限##############################
if [ -f /var/log/messages ]; then chmod 600 /var/log/messages; else  touch /var/log/messages; chmod 600 /var/log/messages; fi
if [ -f /var/log/secure ]; then chmod 600 /var/log/secure; else  touch /var/log/secure; chmod 600 /var/log/secure; fi
if [ -f /var/log/maillog ]; then chmod 600 /var/log/maillog; else  touch /var/log/maillog; chmod 600 /var/log/maillog; fi
if [ -f /var/log/cron ]; then chmod 600 /var/log/cron; else  touch /var/log/cron; chmod 600 /var/log/cron; fi
if [ -f /var/log/spooler ]; then chmod 600 /var/log/spooler; else  touch /var/log/spooler; chmod 600 /var/log/spooler; fi
if [ -f /var/log/boot.log ]; then chmod 600 /var/log/boot.log; else  touch /var/log/boot.log; chmod 600 /var/log/boot.log; fi####10、关闭不必要的服务#################################systemctl disable  firewalld.service 
systemctl disable  irqbalance.service
systemctl disable  NetworkManager.service  
systemctl disable  postfix.service  ####11、修改系统 banner#################################
mv /etc/issue /etc/issue.bak
mv /etc/issue.net /etc/issue.net.bak####12、登录超时设置###################################
sed -i -r -e "/TMOUT/d" /etc/profile
echo "TMOUT=300" >> /etc/profile####13、删除潜在危险文件###############################
find / -maxdepth 3 -name .netrc 2>/dev/null
find / -maxdepth 3 -name hosts.equiv 2>/dev/null
find / -maxdepth 3 -name .rhosts 2>/dev/null####14、ftp相关设置###################################
sed -i "s/anonymous_enable/\#anonymous_enable/g" /etc/vsftpd/vsftpd.conf
sed -i "/\#anonymous_enable/a anonymous_enable=NO"  /etc/vsftpd/vsftpd.conf
sed -i "s/root/\#root/g" /etc/vsftpd/ftpusers
sed -i "/\#root/a root"   /etc/vsftpd/ftpusers

     There are many things that can not be broken!

     如果觉得本文对你有帮助,欢迎点赞、收藏、评论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/595924.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

检测和缓解僵尸网络

僵尸网络源自“机器人网络”一词&#xff0c;是感染了恶意软件的网络或机器集群&#xff0c;允许黑客控制并发起一系列攻击。僵尸网络的强度完全取决于它所包含的受感染机器的数量。攻击者接管这些设备的操作&#xff0c;以使用僵尸网络命令和控制模型进行远程控制。 什么是僵…

<HarmonyOS第一课>应用程序框架

【习题】应用程序框架 目录 判断题 单选题 多选题 判断题 1. 一个应用只能有一个UIAbility。错误 正确(True)错误(False) 2. 创建的Empty Ability模板工程&#xff0c;初始会生成一个UIAbility文件。正确 正确(True)错误(False) 3. 每调用一次router.pushUrl()方法&…

MultipartFile转换file

文章目录 前言一、方法二、注意事项 前言 最近项目中需要处理一个图片上传的业务&#xff0c;将MultipartFile转换file类型文件&#xff0c;然后处理&#xff0c;这里浅浅记录一下 一、方法 private static File convert(MultipartFile file) throws IOException {File convFi…

K线+直线 现货黄金也可能变现

现货黄金行情怎么做&#xff0c;这是投资者需要思考的问题。幸运的是&#xff0c;现在市面上有很多书籍&#xff0c;是其他有经验、有想法的投资者们对其经验的总结和分享&#xff0c;此外网络上还有不同的文章和各种各样的视频介绍相关交易经验&#xff0c;这都是可以让我们借…

22款奔驰GLE450升级香氛负离子 车载香薰

相信大家都知道&#xff0c;奔驰自从研发出香氛负离子系统后&#xff0c;一直都受广大奔驰车主的追捧&#xff0c;香氛负离子不仅可以散发出清香淡雅的香气外&#xff0c;还可以对车内的空气进行过滤&#xff0c;使车内的有害气味通过负离子进行过滤&#xff0c;达到车内保持清…

prototype 和 __proto__

是什么&#xff1f; prototype&#xff08;显示原型&#xff09;&#xff1a;每个函数都有一个prototype属性__proto__&#xff08;隐式原型&#xff09;&#xff1a;每个实例对象都会有__proto__属性 两者有什么关系&#xff1f; 一般&#xff0c;构造函数的显示原型和其实例…

智能指针的延迟报错问题

最近工作上发现一个比较复杂的代码出现随机报错问题&#xff0c;话不多说&#xff0c;直接debug模式开启ASAN机制构建程序&#xff0c; set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -g -fstack-protector -fsanitizeaddress -fno-omit-frame-pointer")很快能定位…

huggingface——设置不同层不同学习率

前言 这玩意教程咋这么难找&#xff1f;&#xff1f;&#xff1f;&#xff1f; 代码 参考&#xff1a;https://github.com/X-PLUG/mPLUG-Owl/blob/main/mPLUG-Owl2/mplug_owl2/train/mplug_owl2_trainer.py#L133C33-L133C33 先定义你的trainer&#xff0c;继承huggingface的…

[EFI]英特尔 冥王峡谷 NUC8i7HVK 电脑 Hackintosh 黑苹果efi引导文件

硬件型号驱动情况主板 英特尔 NUC8i7HVK 处理器 Intel Core™ i7-8809G (Kaby Lake-r) 已驱动内存2x16GB DDR4-2400已驱动硬盘1TB PCIe-NVMe M.2 SSD已驱动显卡Intel HD 630 (Empty Framebuffer)Radeon™ RX Vega M GH Graphics 4GB已驱动声卡Realtek HDA ALC700已驱动网卡 英特…

前端根据URL地址实现下载(txt,图片,word,xlsx,ppt)

前端根据URL地址实现下载&#xff08;txt&#xff0c;图片&#xff0c;word&#xff0c;xlsx&#xff0c;ppt&#xff09; 一、对于txt,图片类的二、对于word&#xff0c;xlsx&#xff0c;ppt类的1.a标签可以实现下载2. window.open&#xff08;&#xff09; 一、对于txt,图片类…

aliexpress商品API(item_get-获得aliexpress商品详情):进行批量操作

使用AliExpress的店铺或分类API&#xff1a;这些API可以为你提供某个店铺或分类下的所有商品列表&#xff0c;然后你可以根据这个列表逐个查询商品详情。分批查询&#xff1a;你可以将商品ID分成多个批次&#xff0c;每次只查询一部分商品详情&#xff0c;这样既可以减少每次请…

用雪花算法生成全局唯一序列

雪花算法是一种分布式唯一ID生成算法&#xff0c;通过对时间戳、工作节点ID和序列号进行位运算和组合&#xff0c;生成一个可排序且唯一的64位ID。 实现原理&#xff1a; 首先&#xff0c;我们需要定义算法中的参数&#xff1a; 时间戳&#xff1a;使用当前时间戳&#xff0c;…

记录一个常量定义导致的重复问题duplicate symbol ‘_kk‘ in:

原因&#xff1a; 在.h文件中定义了一个常量 如下 NSString *const kk "FASDF";interface CardCourseViewController : LBBaseViewControllerend将这句代码去掉即可 NSString *const kk "FASDF";![请添加图片描述](https://img-blog.csdnimg.cn/direct…

工业RFID技术发展趋势分析

RFID技术是物联网的重要组成部分&#xff0c;是连接物理世界和数字世界的关键节点。RFID技术已经广泛应用于供应链管理、智能物流、零售、医疗、安防等领域&#xff0c;在工业制造领域也有着广泛的应用前景和市场潜力。 工业RFID技术发展趋势分析 工业RFID技术是一种利用无线射…

买工业用品就找震坤行,提供震坤行商品数据,数据分析的API接口

要接入API接口以采集电商平台上的商品数据&#xff0c;可以按照以下步骤进行&#xff1a; 1、找到可用的API接口&#xff1a;首先&#xff0c;需要找到支持查询商品信息的API接口。这些信息通常可以在电商平台的官方文档或开发者门户网站上找到。 2、注册并获取API密钥&#x…

什么是差值表达式

在Vue.js中&#xff0c;差值表达式是一种基本的数据绑定形式&#xff0c;用于将数据绑定到文档对象模型&#xff08;DOM&#xff09;上。差值表达式通常使用双大括号 {{ }} 来表示&#xff0c;这种语法非常直观。当Vue实例的数据发生变化时&#xff0c;差值表达式的内容也会相应…

CCNP课程实验-06-EIGRP-Trouble-Shooting

目录 实验条件网络拓朴 环境配置开始排错错误1&#xff1a;没有配置IP地址&#xff0c;IP地址宣告有误错误2&#xff1a;R3配置了与R1不同的K值报错了。错误3&#xff1a;R4上的AS号配置错&#xff0c;不是1234错误4&#xff1a;R2上配置的Key-chain的R4上配置的Key-chain不一致…

LCR 155. 将二叉搜索树转化为排序的双向链表

解题思路&#xff1a; 中序遍历法&#xff08;二叉搜索树在中序遍历时是从小到大排列的&#xff09;。 // 打印中序遍历 void dfs(Node root) {if(root null) return;dfs(root.left); // 左System.out.println(root.val); // 根dfs(root.right); // 右 }采用head作为返回&am…

C++:自创小游戏

欢迎来玩&#xff0c;每次都有不一样的结果。 长达142行。 #include<bits/stdc.h> #include<windows.h> #define random(a,b) (rand()%(b-a1)a) using namespace std; int main(){int n;cout<<"输1~10,越小越好,不告诉你有什么用&#xff0c;当然也可…

跑步中位数

title: 跑步中位数 date: 2024-01-04 15:47:51 tags: 对顶堆 catefories: 算法进阶指南 题目大意 解题思路 动态维护中位数问题。可以建立两个二叉堆&#xff0c;一个大顶堆一个小顶堆&#xff0c;在依次读入整数序列的过程中&#xff0c;设当前序列长度为 M M M,我们始终保持…