Centos系统安全设置

1 设置密码复杂度帐号密码有效期3个月

密码复杂度要求:最小长度8位,至少2位大写字母,1位小写字母,4位数字,1位特殊字符

1)执行备份:

#cp -p /etc/login.defs /etc/login.defs_bak

#cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak

2)修改策略设置:

(1)密码有效期:

#vi /etc/login.defs

修改PASS_MIN_LEN的值为8

修改PASS_MAX_DAYS的值为90

保存退出

(2)密码复杂度

#vi /etc/pam.d/system-auth

将文件中的下面两行:

password    requisite     pam_cracklib.so try_first_pass retry=3 type=

password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok

改为:

password    requisite     pam_cracklib.so try_first_pass retry=5 type= minlen=8 ucredit=-2 lcredit=-1 dcredit=-4 ocredit=-1

password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok

  • retry=5 定义登录/修改密码失败时,可以重试的次数;
  • type=xxx 当添加/修改密码时,系统给出的缺省提示符是什么,用来修改缺省的密码提示文本。默认是不修改的,如上例。
  • minlen=8 定义用户密码的最小长度为8位
  • ucredit=-2 定义用户密码中最少有2个大写字母 (数字为负数,表示至少有多少个大写字母;数字为正数,表示至多有多少个大写字母;下面同理)
  • lcredit=-1 定义用户密码中最少有1个小写字母
  • dcredit=-4 定义用户密码中最少有4个数字
  • ocredit=-1 定义用户密码中最少有1个特殊字符(除数字、字母之外)

2 登录失败5次锁定帐号5分钟

1)备份

#cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak2

#cp /etc/pam.d/sshd /etc/pam.d/sshd.bak

2)修改

#vi /etc/pam.d/system-auth

auth        required      pam_tally2.so onerr=fail deny=5 unlock_time=300 root_unlock_time=300

#vi /etc/pam.d/sshd

auth       required     pam_tally2.so onerr=fail deny=5 unlock_time=300 root_unlock_time=300

3 闲时5分钟无操作,自动退出会话

1)执行备份:

#cp -p /etc/profile /etc/profile_bak

2)在/etc/profile文件修改:

#vi /etc/profile

export TMOUT=300

保存退出,刷新

#source /etc/profile

4 不进行历史记录

1) 在/etc/profile文件修改:

#vi /etc/profile

export HISTSIZE=0

保存退出,刷新

#source /etc/profile

 5 日志保存时间设为6个月

1)备份

#cp /etc/logrotate.conf /etc/logrotate.conf.bak

2)修改文件

编辑/etc/logrotate.conf文件

  1. weekly下的rotate 4改为rotate 24,表示6个月;#系统默认日志保存时间为4周
  2. 将指定文件的monthly下的rotate 1改为rotate 6,表示6个月

保存退出,重启日志服务

#service rsyslog restart

6 远程连接白名单

第一种 用户白名单/黑名单

1)备份

#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

2)修改/etc/ssh/sshd_config

#vi /etc/ssh/sshd_config

#仅允许特定用户

AllowUsers user1

#仅允许特定用户特定IP

AllowUsers user1@10.10.10.1

#禁止某个用户

DenyUsers user2

保存退出

重启服务

#systemctl restart sshd

第二种 IP白名单

1)备份

cp etc/hosts.deny etc/hosts.deny.bak

cp /etc/hosts.allow /etc/hosts.allow.bak

2)编辑 /etc/hosts.deny

 vi /etc/hosts.deny

添加

sshd:ALL  #先禁止所有IP登录

3)编辑 /etc/hosts.allow

vi /etc/hosts.allow

#添加允许的IP,多个用逗号隔开

sshd:10.133.20.21,10.138.20.22,10.133.48.136:allow

或者下面这种格式

sshd:192.168.0.1/24,192.168.0.,192.168.1.:allow

无需重启ssh

 

7 删除多余帐号

1)检查设备存在非系统内置可登录账号;

2)检查设备不存在常见的test、admin、ceshi等账号;

3)检查设备不存在常见的厂商命名账号,如xjwh、tywh等;

建议,默认系统用户uid中,root为0;系统用户为1-999;普通用户为1000-65535;应保证只有root用户的uid为0,并检查有无其他可疑账户,及时进行删除或禁用。

(1)检查账号

cat /etc/passwd

awk -F':' '{ print $1 $3}' /etc/passwd

(2)删除账号

userdel 用户名  #仅删除用户

userdel -r 用户名  #删除用户和目录

8 删除多余服务

以下服务都需要关闭:

amanda chargen chargen-udp cups cups-lpd daytime daytime-udp echo echo-udp eklogin ekrb5-telnet finger gssftp imap imaps ipop2 ipop3 klogin krb5-telnet kshell ktalk ntalk rexec rlogin rsh rsync talk tcpmux-server telnet tftp time-dgram time-stream uucp;  

(1)#chkconfig --list

(2)禁止非必要服务:#chkconfig [service] off

        开启服务为:#chkconfig [service] on

禁用135,137,138,139,21,23,25,445,3389,6000,177,514等端口

(1)查看端口

netstat -pantu

(2)查看端口对应服务

lsof -i :22

cat /etc/services | grep -w 22

(3)chkconfig --list |grep ssh (过滤出ssh服务)

(4)关闭服务

service sshd stop

systemctl stop sshd

并且设置此服务为开机不启动:

chkconfig sshd off

9 开启关键文件审计

1)查看和开启auditd

#service auditd status

#service auditd start

2)查看enable 是否为1

#auditctl -s

所有的审计日志会记录在/var/log/audit/audit.log文件中,配置信息在/etc/audit/auditd.conf

3)审计指定文件

(1)临时添加规则

auditctl -w path -p permission -k key_name

  1. path为需要审计的文件或目录
  2. 权限可以是r,w,x,a(r为读,w为写,x为执行,a代表文件或目录的属性发生变化)
  3. key_name为可选项,方便识别哪些规则生成特定的日志项
    1. 设置规则所有对passwd文件的写、属性修改操作都会被记录审计日志
    2. # auditctl -w /etc/passwd -p wa -k passwd_change
    3. 设置规则,监控/etc/selinux目录
    4. # auditctl -w /etc/selinux/ -p wa -k selinux_change
    5. 设置规则,监控fdisk程序
    6. # auditctl -w /usr/sbin/fdisk -p x -k disk_partition

(2)永久添加规则

备份文件

#cp /etc/audit/audit.rules /etc/audit/audit.rules.bak

(3)编辑文件

# vim /etc/audit/rules.d/audit.rules

-w /etc/passwd -p wa -k passwd_changes

-w /usr/sbin/fdisk -p x -k partition_disks

(4)重启服务

service auditd restart

auditctl -l 查看定义的规则

10 设置三权分立帐号

管理员帐号,安全员帐号,审计员帐号

1)管理员帐号

(1)添加用户

useradd sysadmin

passwd sysadmin

(2)创建组

groupadd sysgroup

usermod -G sysgroup sysadmin

(3)授予权限

chown -R sysadmin:sysgroup /

2)安全员帐号

useradd secadmin

passwd secadmin

chown -R secadmin:secadmin /etc

chmod 700 /etc

3)审计员帐号

useradd auditadmin

passwd auditadmin

vi /etc/sudoers后编辑插入以下内容:

auditadmin     ALL = (root) NOPASSWD: /usr/bin/cat , /usr/bin/less , /usr/bin/more , /usr/bin/tail , /usr/bin/head

chown -R auditadmin:auditadmin /var/log

chmod 700 /var/log

chmod 700 /var/log

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

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

相关文章

vscode显示120字符或者80字符提示线或者显示垂直标尺

vscode显示120字符或者80字符提示线或者显示垂直标尺 一般规定一行代码不超过80或者120个字符。取决于团队的编码规范。 不同公司不同团队有不同的规定。 当单行代码过长。产生横向滚动条。使得代码难以阅读。 打开全局设置的settings.json /C:/Users/xxx/AppData/Roaming/Cod…

WinCC 输入/输出域没有所需要的预定义输出格式该怎么办?

WinCC 输入/输出域没有所需要的预定义输出格式该怎么办? 引文:博途工控人平时在哪里技术交流博途工控人社群 应该大多数人都知道 WinCC 的 IO 域对于浮点数的显示都支持格式预定义。 例如原数 567.89 可以在经过 IO 域的预定义后在画面上显示为 567.9&…

TikTok电商加快闭环,独享IP为运营带来哪些好处?

近日有消息称TikTok电商在加快闭环,以后商家可能无法继续在TikTok上为其他电商平台或独立站引流了。如今“TikTok Shop Shopping Center”平台正在构建,将各种购物渠道整合为一体,这可能是一种趋势,意味着TikTok逐渐从社交应用转型…

Python-OpenCV教程丨从零开始学计算机视觉

文章目录 写在前面入门篇1.生成图片2.转换色彩空间3.拆分颜色通道4.绘制线条5.阈值自适应处理 写在后面 写在前面 探索新大陆:Python&OpenCV,本文主要记录入门计算机视觉的一些简单程序。 入门篇 安装opencv库: pip install -i https…

48 分布式id的生成策略

1.UUID 1.UUID (Universally Unique Identifier),通用唯一识别码。UUID是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计算生成的。UUID由以下几部分的组合: 1.当前日期和时…

RabbitMQ脑裂处理

脑裂现象: Network partition detected Mnesia reports that this RabbitMQ cluster has experienced a network partition. There is a risk of losing data. Please read RabbitMQ documentation about network partitions and the possible solutions. 转载请在文…

zotero使用gpt

zotero使用gpt 下载 zotero下载:https://www.zotero.org/download/ 插件下载:https://github.com/MuiseDestiny/zotero-gpt?tabreadme-ov-file 插件安装 zotero中选择 工具->添加组件 选择右上角的齿轮,选择Install add-on from fil…

NeRF算法原理总结概述

简介 本文旨在对NeRF算法进行总结。论文翻译见博客:《NeRF算法论文解析与翻译》 参考链接: 神经网络辐射场NeRF、实时NeRF Baking、有向距离场SDF、占用网络Occupancy、NeRF 自动驾驶 NeRF详解 NeRF入门之体渲染 (Volume Rendering) NeRF中的位置编码 …

C++力扣题目501--二叉搜索树中的众数

给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。 如果树中有不止一个众数,可以按 任意顺序 返回。 假定 BST 满足如下定义&#xf…

项目中Ant Design Pro业务问题解决方案

ProTable实现多选反显筛选项多级关联选择 import {forwardRef,useImperativeHandle,useEffect,useRef,useReducer, } from "react"; import { Drawer, Space, Button, message } from "antd"; import * as PC from "ant-design/pro-components";…

PHP项目添加分布式锁,这里是ThinkPHP8框架实现分布式锁

背景:公司旧项目,最初访问量不多,单机部署的。后来,访问量上来了,有阵子很卡,公司决定横向扩展,后端代码部署了三台服务器。部署调整后,有用户反馈,一个订单支付了三次。…

网络原理--http

目录 一、 DNS(应用层协议) 1、域名概念 2、维护ip地址和域名之间的映射(域名解析系统) 3、DNS系统(服务器) 4、如何解决DNS服务器高并发问题 二、HTTP(应用层协议) 1、htt…

win10安装ssh服务

前置条件: 远程虚拟机,防火墙关闭,本地主机与虚拟机互相可以ping通 虚拟机是win10专业版本 操作步骤: 1、搜索框搜索“Windows PowerShell”并以管理员身份运行 2、输入如下代码,检查本地是否有ssh服务&#xff0c…

【Docker】网络模式➕自定义网络

🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Docker的相关操作吧 目录 🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 一.Docker网络模式的介绍 二. 网桥模…

Linux内核架构和工作原理详解(二)

Linux内核体系结构简析简析 图1 Linux系统层次结构 最上面是用户(或应用程序)空间。这是用户应用程序执行的地方。用户空间之下是内核空间,Linux 内核正是位于这里。GNU C Library (glibc)也在这里。它提供了连接内核…

【JVM】类的生命周期

目录 类的生命周期 加载阶段 连接阶段 初始化阶段 类的使用阶段 类的加载阶段 类的生命周期 加载阶段 在加载阶段,类加载器首先会通过一个类的全限定名来获取定义此类的二进制字节流。这个步骤主要是将整个Class 文件解析成二进制流。 (全限定名是…

海外代理IP怎么用?常见使用问题及解决方案

海外代理IP是指提供全球范围内的代理服务器,代理服务器充当IP与目标网站之间的中介,可以起到安全匿名、提高网速、突破网络壁垒的作用。在使用代理IP的过程中,用户可能会遇到各种挑战,如连接问题、速度慢等。理解这些问题的原因并…

HCIP第一次练习 -- RIP复习实验

要求: 需求:R1-R2-R3-R4-R5运行RIPV2 R6-R7运行RIPV1 1.使用合理地址规划网络,各自创建环回接口 2.R1创建环回172.16.1.1/24172.16.2.1/24 172.16.3.1/24 3.要求R3使用R2访问R1环回 4.减少路由条自数量,增加路由传递安全性 5.R5创建一个环回模拟运营商,不…

申泰勇教练的独家人物化身系列即将登陆 The Sandbox

申泰勇(Shin Tae-yong)教练是足球界的传奇人物,他来到 The Sandbox,推出了自己的专属人物化身系列。作为前 K 联赛中场球员和印尼队取得历史性成就的幕后教练,他的传奇经历现在已经影响到了虚拟世界。 向过去、现在和未…

基于ArcGIS的晕线制作

在借助ArcGIS进行制图时,我们有时需要为矢量边界添加晕线,今天就来探索一下基于ArcGIS的晕线制作操作。 软件版本:ArcMap10.4.1 方法一:制作多环缓冲区 工具路径:Analysis Tools-Proximity-Mutiple Ring Buffer 思…