centos7系统优化

本文涉及的产品
云防火墙,500元 1000GB
运维安全中心(堡垒机),企业双擎版 50资产 7天
运维安全中心(堡垒机),免费版 6个月
简介: centos7系统优化

1.设置会话超时(600代表十分钟)


vim /etc/profile

1675155612480.png

生效命令:source  /etc/profile


2.新密码不能与最近10个使用密码相同


vim /etc/pam.d/system-auth

1675155634231.jpg


3.设置禁止root通过ssh远程登录


vim /etc/ssh/sshd_config,把#PermitRootLogin yes改为PermitRootLogin no

1675155661049.jpg


4.密码复杂度


默认配置:

cat /etc/pam.d/system-auth | grep  "pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type="
password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=

加固方案:

1.备份配置文件:
# cp -a /etc/pam.d/system-auth /etc/pam.d/system-auth.default
2.编辑配置文件
# vi /etc/pam.d/system-auth
将password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
 注释并在其下面新增1行 password requisite pam_cracklib.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ocredit=-1 retry=1 type=

备注:


try_first_pass而当pam_unix验证模块与password验证类型一起使用时,该选项主要用来防止用户新设定的密码与以前的旧密码相同。


minlen=8:最小长度8位


difok=5:新、旧密码最少5个字符不同


dcredit=-1:最少1个数字


lcredit=-1:最少1个小写字符,(ucredit=-1:最少1个大写字符)


ocredit=-1:最少1个特殊字符


retry=1:1次错误后返回错误信息


type=xxx:此选项用来修改缺省的密码提示文本


5.设置history密码时间戳

vim /etc/profile
最底部添加
export HISTTIMEFORMAT="%F %T `whoami` "

效果图:

1675155715229.jpg


6.设置用户登录失败锁定

# vi /etc/pam.d/system-auth
在# User changes will be destroyed the next time authconfig is run.行的下面,添加
auth       required     pam_tally2.so deny=5 unlock_time=1800 even_deny_root root_unlock_time=1800

1675155728828.jpg


7.ssh配置增强

#vi /etc/ssh/sshd_config
(1)禁止空密码登录
将#PermitEmptyPasswords no参数的注释符号去掉,改成
PermitEmptyPasswords no
(2)关闭ssh的tcp转发
将#AllowTcpForwarding yes参数改成
AllowTcpForwarding no
(3)关闭S/KEY(质疑-应答)认证方式
将#ChallengeResponseAuthentication yes参数,改成
ChallengeResponseAuthentication no
(4)关闭基于GSSAPI 的用户认证
将GSSAPIAuthentication yes参数,改成
GSSAPIAuthentication no
重启ssh服务
systemctl restart sshd


8.新增连接声明


#vi /etc/ssh/sshd_config
找到#Banner none参数,在其下一行,增加
Banner /etc/ssh/alert
新增告警信息文件
 #vi /etc/ssh/alert
文件内容,设置成
*******************************************************
这里的内容自己定义,可以提示一下登录的用户引起运维人员重视
Warning!!!Any Access Without Permission Is Forbidden!!!
*******************************************************
注:ssh设置的可能不支持中文
vim /etc/motd
本人声明,如果您以非法方式登录本服务器,您将承担法律责任!!!
I declare that if you log on this server by illegal means, you will be held legally responsible!!!


效果图:

1675155768985.jpg


9.关闭selinux,清空iptables


关闭selinux防火墙
默认云服务器都是关着的
cat /etc/selinux/config 
setenforce 0 设置不启动
getenforce   查看

清空iptables


# iptables –F     #清理防火墙规则
# iptables –L     #查看防火墙规则
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
#/etc/init.d/iptables save   #保存防火墙配置信息


针对centos7防火墙配置

修改防火墙
CentOS切换为iptables防火墙
firewall-cmd --state 查看防火墙状态
切换到iptables首先应该关掉默认的firewalld,然后安装iptables服务。
1、关闭firewall:
systemctl stop firewalld.service 
systemctl disable firewalld.service #禁止firewall开机启动
2、安装iptables防火墙
yum install iptables-services #安装
service iptables save
3、编辑iptables防火墙配置
vi /etc/sysconfig/iptables #编辑防火墙配置文件
下边是一个完整的配置文件:
在你运行完save中间插入下面的规则
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
:wq! #保存退出
systemctl start iptables.service  #开启
systemctl enable iptables.service #设置防火墙开机启动


附赠防火墙脚本,前提你已经切换至iptables

#!/bin/bash
IPT=`which iptables`
$IPT -F
$IPT -X
$IPT -P INPUT DROP
$IPT -P FORWARD ACCEPT 
$IPT -P OUTPUT ACCEPT
$IPT -N syn-flood
##本地回环 内网允许任何
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -m state --state NEW -s 10.0.0.0/8 -j ACCEPT
# ssh 端口开放 任何IP
$IPT -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
# 根据需求填写相应的端口
$IPT -A INPUT -p tcp -m multiport --dports 80,8087,89 -j ACCEPT
# zabbix监控地址
$IPT -A INPUT -p tcp -s zabbix.ip -m state --state NEW -m tcp --dport 10050 -j ACCEPT
# ICMP 规则控制
$IPT -A INPUT -p icmp -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
$IPT -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
# DOS防护
$IPT -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn-flood
$IPT -A INPUT -j REJECT --reject-with icmp-host-prohibited
$IPT -A syn-flood -p tcp -m limit --limit 3/sec --limit-burst 6 -j RETURN
$IPT -A syn-flood -j REJECT --reject-with icmp-port-unreachable


10.锁定关键文件系统


加锁,不可修改加锁文件
chattr +i /etc/passwd
lsattr /etc/passwd
----i--------e-- /etc/passwd
去锁,可以修改文件
chattr -i /etc/passwd 
lsattr /etc/passwd   
-------------e-- /etc/passwd


使用chattr命令后,为了安全我们需要将其改名

mv /usr/bin/chattr /usr/bin/任意名称
目录
打赏
0
0
0
0
6
分享
相关文章
阿里云waf简介和如何配置​
阿里云WAF(Web应用程序防火墙)是一种高效、智能的云安全服务,旨在保护Web应用程序免受各种网络攻击的威胁。它可防止诸如SQL注入、跨站点脚本(XSS)和跨站点请求伪造(CSRF)等攻击,有效保障了Web应用程序的安全性与稳定性。 阿里云WAF在Web应用程序与互联网之间构建一道安全屏障,通过拦截和检测恶意流量,防止攻击者对您的Web应用程序进行攻击。它不仅覆盖了常见的网络攻击类型,还针对新兴的攻击手段进行了防护设计,确保您的Web应用程序在面对各种威胁时都能得到全方位的保护。
容器部署日志分析平台ELK7.10.1(Elasisearch+Filebeat+Redis+Logstash+Kibana)
容器部署日志分析平台ELK7.10.1(Elasisearch+Filebeat+Redis+Logstash+Kibana)
795 0
AI计算机视觉笔记二十 八:基于YOLOv8实例分割的DeepSORT多目标跟踪
本文介绍了YOLOv8实例分割与DeepSORT视觉跟踪算法的结合应用,通过YOLOv8进行目标检测分割,并利用DeepSORT实现特征跟踪,在复杂环境中保持目标跟踪的准确性与稳定性。该技术广泛应用于安全监控、无人驾驶等领域。文章提供了环境搭建、代码下载及测试步骤,并附有详细代码示例。
阿里云ack学习
【8月更文挑战第6天】
928 3
CentOS 7上安装 Jenkins 2.227 -- yum 方式
CentOS 7上安装 Jenkins 2.227 -- yum 方式
281 0
Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 + Kubernetes(K8S)
Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 + Kubernetes(K8S)
386 0
提升系统稳定性:Linux内核参数调优实战
【5月更文挑战第1天】 在运维领域,保障服务器的高效稳定运行是核心任务之一。Linux操作系统因其开源、可靠和灵活的特点被广泛应用于服务器中。本文将深入探讨通过调整Linux内核参数来优化系统性能,提升服务器的稳定性和响应能力。文章首先介绍了内核参数调优的必要性和基本原则,然后详细阐述了调优过程中的关键步骤,包括如何监控当前系统状态,确定性能瓶颈,选择合适的参数进行调优,以及调优后的测试与验证。最后,文中提供了一些常见问题的解决策略和调优的最佳实践。
687 5
阿里云Linux服务器性能测试wget -qO- bench.sh | bash
阿里云服务器性能测试,使用知名博主的wget -qO- bench.sh | bash来测试下阿里云服务器CPU Model(CPU型号)、CPU Cores(核数)、CPU Frequency(主频)、Total Disk(磁盘容量)、Total Mem(内存)、Swap(虚拟内存)、系统发行版本、Linux内核、地域节点、磁盘I/O读写速度及云服务器上传下载速度测试
1107 0
阿里云Linux服务器性能测试wget -qO- bench.sh | bash
centos 查看哪些服务是自启动的
在CentOS中,可以使用`systemctl`命令来查看哪些服务是自启动的。具体的步骤如下: 1. 打开终端或者SSH连接到CentOS服务器上。 2. 输入以下命令来列出所有自启动的服务: ```bash systemctl list-unit-files --type=service | grep enabled ``` 这将显示所有已启用的服务。 另外,你也可以使用以下命令来查看所有已启用和已禁用的服务: ```bash systemctl list-unit-files --type=service ``` 已禁用的服务将以"disabled"的形式显示。
975 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问