服务器实战部署安全策略

article/2025/11/9 5:45:04

一、防火墙

防火墙是服务器的第一道防线,虽然不能百分百防护得到,但至少能阻挡大多数黑客的DOS或DDOS以及利用部分开源软件的漏洞进行病毒植入等攻击。

1.防火墙设置开机自启动

systemctl enable firewalld

2.防火墙常用命令

(1)防火墙状态查看(开启或关闭)

systemctl status firewalld

(2)开放端口

firewall-cmd --permanent --add-port=端口/tcp

(3)关闭端口

firewall-cmd --permanent --remove-port=端口/tcp

(4)防火墙重启

firewall-cmd --reload

(5)查看防火墙已开放端口

firewall-cmd --list-ports

注意:
无论是服务器开放端口还是关闭端口必须要重启防火墙生效,否则无效。

二、远程连接

1.ssh端口修改

vim /etc/ssh/sshd_config

添加一行Port 12593即可,如图所示:

重启sshd:

systemctl restart sshd

需要开启防火墙:

firewall-cmd --permanent --add-port=12593/tcp
firewall-cmd --reload

2.禁用root远程登录

修改配置文件:

vi /etc/ssh/sshd_config

添加如下内容:

找到 # PermitRootLogin yus
改为 PermitRootLogin no

创建用户及授权:

useradd blog #添加用户
passwd #重置密码
chown -R 用户名  路径

三、备份管理

1.数据备份

编写服务脚本通过scp命令进行远程传输到备份服务器对应的数据备份
目录。
核心命令如下:

scp  -r sql_月份或天.zip mysql@ip:/home/mysql/backup

数据备份脚本内容可供参考(可以结合上面的scp命令,实现备份到另外的服务器):


#!/bin/bash
base_dir=/home/blog/sql_script
DATE=$(date +%Y%m%d)
time=$(date "+%Y-%m-%d %H:%M:%S")
cd $base_dir
mysqldump -uroot -p123456 --databases wordpress nacos > dump_$DATE.sqlif [ $? -eq 0 ]
thenecho "成功备份mysql数据库,当前日期为:"$time >> /home/blog/mysql_dump.logelseecho "备份mysql数据库失败:当前日期为:"$time>> /home/blog/mysql_dump.logfi

2.程序日志备份

目前日志主要存储在/home/blog/dev/log目录下。
核心命令如下(可写入shell脚本定时执行):

scp -r server_log_月份或天.zip server@ip:/home/server/backup

3.系统日志备份(针对服务器所产生的系统日志)

一般日志主要存储在/var/log下。
核心命令如下(可写入shell脚本定时执行):

scp -r system_log_月份或天.zip system@ip:/home/system/backup

四、定期更新系统内核

  • 1.硬件兼容性更好(支持更多的硬件);

  • 2.修复原有内核系统漏洞(有的黑客会以原有系统漏洞来达到攻击服务器的目的),提升系统稳定性;

  • 3.系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中,这也是不少朋友感觉服务器内存虽然16G,实际能用的可能只有12~13G左右);

  • 4.更多的新功能和特性,提高效率,减少运维工作量

要按照实际情况更新系统内核,切不可随意更新,更新前一定要有充足的准备,防止更新以后出现不兼容性问题导致影响巨大(特别是生产环境,要特别小心,可以事先做试验更新确保问题,同时也把坑给踩了)。

1.更新yum源仓库
yum -y update
2.启用 ELRepo 仓库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
3.安装ELRepo仓库的yum源
yum install
https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
4.查询可用的系统内核包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
5.安装最新版本内核
yum --enablerepo=elrepo-kernel install kernel-ml
6.设置新的内核为grub2的默认版本
grub2-set-default 0
7.生成 grub 配置文件并重启
grub2-mkconfig -o /boot/grub2/grub.cfg (必须等待该命令执行完毕后才执行reboot重启服务器)
reboot
8.验证新内核
uname -r

五、服务管理

1.应用软件

(1)MySQL

a.避免使用默认端口3306;

b.如需对外暴露,限制IP;

c.对外连接账户,密码设置复杂且做严格库表权限控制;

d.不使用根用户运行MySQL。

(2)Redis

a.禁止监听公网;

b.禁止使用root用户启动;

c.限制Redis配置文件访问权限(chmod 600 redis.conf)

d.修改默认端口(最好不要为6379);

e.打开保护模式;

f.开启账号密码认证模式;

g.数据加密,开启SSL代理。

(3)Nginx

a.隐藏版本号(防止黑客针对版本漏洞进行攻击);

b.开启HTTPS;

c.开启黑白名单;

d.添加账号认证(一般为basic,双重认证的体系);

e.限制请求方法;

f.拒绝User-Agent和Header头设置;

g.图片防盗链;

h.控制并发连接数;

i.限制缓冲区大小(防止缓冲区溢出攻击)。

2.微服务

(1)通过网关代理访问,仅暴露网关(网关处于公网下,一般Nginx代理网关,网关处于内网)。

(2)各个微服务处于内网,通过注册中心建立联系,如涉及集群,可通过Nginx负载均衡策略实现请求分发。


http://chatgpt.dhexx.cn/article/Ll7uBWDr.shtml

相关文章

服务器安全策略经验总结

1.服务器安全概述 随着计算机网路技术的发展,网络安全面临的威胁日益加剧,各类应用系统的复杂性和多样性导致系统漏洞层出不穷,病毒和恶意代码网上肆虐,和篡改网站的安全事件时有发生。作为网络的核心部分,服务器处于…

GLSL入门

着色器语言 GLSL (opengl-shader-language)入门大全 基本类型: 类型说明void空类型,即不返回任何值bool布尔类型 true,falseint带符号的整数 signed integerfloat带符号的浮点数 floating scalarvec2, vec3, vec4n维浮点数向量 n-component floating point vectorbvec2, bvec3,…

【我的OpenGL学习进阶之旅】如何抽取着色器代码到assets目录下的GLSL文件,以及如何通过Java或者C++代码来加载着GLSL文件?

目录 一、着色器代码以字符串形式写在代码里的现状二、抽取着色器代码为单独的GLSL文件2.1 Java中的字符串抽取为GLSL文件并加载2.1.1 Java中的字符串抽取为GLSL文件2.1.2 Java加载GLSL文件 2.2 C中的字符串抽取为GLSL文件并加载2.2.1 C中的字符串为抽取GLSL文件2.2.2 C加载GLS…

11.GLSL ES

1.数据类型:GLSL ES支持两种数据值类型:数值类型(整型、浮点型)和布尔值类型。GLSL ES不支持字符串类型 2.矩阵和矢量: GLSL ES中,矢量和矩阵的初始化方法遵从一般规律,特别的:初始…

opengl GLSL

GLSL 着色器是使用一种叫GLSL的类C语言写成的。GLSL是为图形计算量身定制的,它包含一些针对向量和矩阵操作的有用特性。 着色器的开头总是要声明版本,接着是输入和输出变量、uniform和main函数。每个着色器的入口点都是main函数,在这个函数…

glsl效果2——灰度图

glsl效果2——灰度图 原始图及代码 1.1. 原始图1.2. 原始代码 灰度图效果图及glsl代码 2.1. 效果图2.2. glsl代码 加权的灰度图的效果图和glsl代码 3.1. 效果图3.2. glsl代码 git地址 以下的效果建立在使用帧缓冲,渲染到纹理后进行的相关操作,具体代…

Cesium glsl 学习

const CircleRippleMaterialSource uniform vec4 color;uniform float speed;uniform float count;uniform float gradient;czm_material czm_getMaterial(czm_materialInput materialInput){// 生成默认的基础材质czm_material material czm_getDefaultMaterial(materialInp…

GLSL 中文手册

GLSL 中文手册 基本类型: 类型说明void空类型,即不返回任何值bool布尔类型 true,falseint带符号的整数 signed integerfloat带符号的浮点数 floating scalarvec2, vec3, vec4n维浮点数向量 n-component floating point vectorbvec2, bvec3, bvec4n维布尔向量 Boolean vectori…

opengl glsl shader vscode安装插件glsl_canvas 和 shader languagesupportForVS Code

u_resolution 是画布尺寸,即代表画布宽高 //给内置变量gl_PointSize赋值像素大小,注意值是浮点数 gl_PointSize20.0; // 片元沿着x方向渐变 gl_FragColor vec4(gl_FragCoord.x/500.0*1.0,1.0,0.0,1.0); // 接收插值后的纹理坐标 varying vec2 v…

【GLSL】glsl常用函数

1.smoothstep(float edgo0,float edge1, float x); 其中的 edge0 是样条线插值的下界,edge1 是样条线插值的下界,当 x 小于下界返回 0,当 x 大于上界返回 1,介于上界下界之间生成0到1的平滑过渡 使用技巧: smoothstep…

高级GLSL

高级GLSL 原文Advanced GLSL作者JoeyDeVries翻译Krasjet校对暂未校对 这一小节并不会向你展示非常先进非常酷的新特性,也不会对场景的视觉质量有显著的提高。但是,这一节会或多或少涉及GLSL的一些有趣的地方以及一些很棒的技巧,它们可能在今…

Android音视频 - OpenGL GLSL基础

上节在绘制三角形的时候,简单讲解了一些着色器,GLSL 的相关概念,可能看的云里雾里的。不要担心,在本节中,我将详细讲解着色语言 GL Shader Language(GLSL)的一些基本的概念。 PS: 无…

【OpenGL学习笔记七】着色器语言(GLSL)

目录 典型着色器结构 数据类型 顶点着色器特性 片段着色器特性 从顶点着色器向片段着色器发送数据 从CPU中的应用向GPU中的着色器发送数据 GLSL规范:https://www.khronos.org/registry/OpenGL/specs/gl/GLSLangSpec.1.20.pdf GLSL是类C语言 着色器是各自独立…

GLSL简介 GLSL――OpenGL Shading Language

https://blog.csdn.net/silangquan/article/details/9631341 GLSL简介 OpenGL着色语言(GLSL――OpenGL Shading Language)是用来在OpenGL中着色编程的语言,也即开发人员写的短小的自定义程序,他们是在图形卡的GPU &#…

uni-app 拖动滑块验证(插件分享)

插件地址:https://ext.dcloud.net.cn/plugin?id573 效果预览: 作者:黄河爱浪 QQ:1846492969,邮箱:helang.loveqq.com 公众号:web-7258,本文原创,著作权归作者所有&…

Android 自定义View实现拖动滑块完成验证

本文较长,阅读大约十分钟 此效果源自于星球的星友的提问: 周末忙里偷闲把效果实现了一下,其实这个效果一般都是在Web上的验证,手机App多半还是短信验证码等方式,或者WebView加载的JS中的效果,不过要自定义V…

android原生滑块验证

记录一个滑块验证,在文章底部会放上DEMO 简单效果图 1、滑动验证前 2、滑动验证后 用到两个类: 一、自定义类代码 public class ImageAuthenticationView extends android.support.v7.widget.AppCompatImageView {/*** 定义画笔*/private Paint mPai…

小程序 拖动滑块验证(自定义组件 插件分享)

效果图: 文章目录: #1 创建组件 #2 组件编码 MoveVerify.wxss MoveVerify.wxml MoveVerify.js #3 页面引用 在页面的 json 文件中引用组件 在页面的 wxml 文件中使用组件 在页面的 js 文件中接收验证回调 #1 创建组件 在小程序项目根目录创建目…

jQuery拖动滑块验证样式

样式&#xff1a; 目录结构&#xff1a; HTML代码&#xff1a; <!DOCTYPE html> <html><head><title>jQuery仿淘宝网拖动滑块验证码代码</title><meta charset"utf-8"><link href"css/drag.css" rel"stylesh…

css3 滑动验证,Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)

vue验证滑块功能&#xff0c;在生活中很多地方都可以见到&#xff0c;那么使用起来非常方便&#xff0c;基于vue如何实现滑块验证呢&#xff1f;下面通过代码给大家讲解。 效果图如下所示&#xff1a; 拖动前 拖动后 代码引用的css与js都是线上的 将代码全部复制到一个html中可…