欢迎光临
我们一直在努力

服务器实战部署安全策略

一、防火墙

防火墙是服务器的第一道防线,虽然不能百分百防护得到,但至少能阻挡大多数黑客的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.sql if [ $? -eq 0 ] then echo "成功备份mysql数据库,当前日期为:"$time >> /home/blog/mysql_dump.log else echo "备份mysql数据库失败:当前日期为:"$time>> /home/blog/mysql_dump.log fi

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负载均衡策略实现请求分发。

原文链接:https://blog.csdn.net/sundehui01/article/details/123554081?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166937964916800186514934%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166937964916800186514934&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-6-123554081-null-null.nonecase&utm_term=%E6%9C%8D%E5%8A%A1%E5%99%A8

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《服务器实战部署安全策略》
文章链接:https://www.456zj.com/33415.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址