Debian 12 服务器初始化安全配置

文章目录

  • 一、服务器购买
  • 二、更新密码
  • 三、修改ssh端口
  • 四、防火墙配置(ufw)
  • 五、防暴力入侵(failban)
  • Reference

本文所有命令在root用户下操作,如在非root下,需添加sudo命令

一、服务器购买

笔者云服务器使用的Debian12 系统

cat /etc/debian_version
12.0

二、更新密码

passwd
# 输入 new password

三、修改ssh端口

默认22端口极易被攻击,可改为其他端口,可以一定程度上降低风险。

vim /etc/ssh/sshd_config
将#Port 22修改为Port 端口号
# 重启ssh服务
service sshd restart 

四、防火墙配置(ufw)

ufw是为轻量化配置iptables而开发的一款工具。笔者使用该工具来配置防火墙。具体配置如下:
1、安装ufw

# 1、安装ufw
apt install -y ufw

2、启用ipv6配置
因为笔者的云服务器默认启用了ipv6,因此防火墙配置需要同时包括ipv4和ipv6

vim /etc/default/ufw
# 确保 IPV6=yes 设置

3、设置默认策略

# 禁止所有入流量
ufw default deny incoming
# stdout
Output
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)# 允许所有出流量
ufw default allow outgoing
# stdout
Output
Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)

4、设置特殊端口访问
如前文中修改的SSH端口

ufw allow <新ssh端口>

5、查看设置的规则并启动ufw

# 查看规则
ufw show added# 启用规则
ufw enable
# 该步骤需要二次确定

6、检查规则设置

ufw show added
# stdout
Added user rules (see 'ufw status' for running firewall):
ufw allow OpenSSH
ufw deny 22/tcp
ufw allow 22222
ufw allow 80/tcp
ufw deny 22
root@york:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skipTo                         Action      From
--                         ------      ----
xx/tcp			           ALLOW IN    Anywhere
xx/tcp                     DENY IN     Anywhere

7、设置自启动

systemctl enable ufw

五、防暴力入侵(failban)

fail2ban是一个用来防止系统入侵的工具,主要是防止暴力破解系统密码。
虽然前文修改了SSH端口,但是仍然有可能被暴力攻击,因此笔者用fail2ban来防御对SSH的暴力破解。
1、fail2ban安装

apt install -y fail2ban

2、配置SSH防御

vim /etc/fail2ban/jail.local
# 内容如下
[DEFAULT]
#此参数为加白的网段、IP,可以是域名、网段或单个IP,空格隔开。
ignoreip = 127.0.0.1/8 ::1#设置被封锁的时间间隔,如下表示10分钟,可以是秒(s)、分钟(m)、小时(h)、天(d),不带单位则默认为s,-1表示永久封锁。
bantime  = 10m#检测的间隔时间,在间隔时间内,当>=maxtretry设置的失败次数,则触发限制,禁止访问。
findtime  = 10m#findtime时间内的最大失败次数
maxretry = 5backend = systemd
[sshd]
enabled = true
port    = <ssh端口>
logpath = /var/log/auth.log
backend = %(sshd_backend)s
ignoreip = 127.0.0.1/8 ::1 10.10.0.0/16 172.16.0.0/16
# 封锁一个月
bantime = 1mon
findtime = 2m
maxretry = 5

以上sshd配置表示,两分钟内如果ssh登陆失败五次,则封锁访问的IP,同时排除本地回环地址和一些内网网段

PS: 谨慎使用当前配置服务器的机器来测试 fail2ban 封锁功能,会导致无法访问服务器(笔者深有体会)

3、启动并设置自启动

# 启动
systemctl start fail2ban
# 查看状态
systemctl status fail2ban
# 自启动
system enable fail2ban

Reference

  • How to Set Up a Firewall with UFW on Ubuntu
  • 使用 fail2ban 防范 SSH 暴力破解攻击
  • Fail2Ban安全配置与应用 - 高度可定制化/支持多种服务
  • fail2ban 启动失败问题处理

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

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

相关文章

AES 加解密(包含JS、VUE、JAVA、MySQL)工具方法

介绍 AES 是 Advanced Encryption Standard 的缩写&#xff0c;是最常见的对称加密算法。AES 在密码学中又称 Rijndael 加密法&#xff0c;是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的 DES&#xff0c;已经被多方分析且广为全世界所使用。 基本原理&#…

python 使用 Stable Diffusion API 生成图片示例

python 使用 Stable Diffusion API 生成图片示例 一、前言 在无聊的时候&#xff0c;想瞅一下sd生图遂做了一下 二、具体步骤 1、启动SD的api设置 注意&#xff0c;运行后的api相关功能可以在:http://127.0.0.1:7860/docs 查看 比如这一次我们要的生图的地址就是/sdapi/v1…

在Python中使用gmssl包实现SM2加密和解密

1.安装gmssl包 pip install gmssl安装完成后&#xff0c;您可以使用 gmssl 提供的函数来修改 User 类中的 set_password 和 verify_password 方法&#xff0c;以便使用 SM2 加密和解密密码。以下是使用 gmssl 的 User 类示例&#xff1a; import datetime from tortoise.model…

华为OD机试 - 结队编程(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测试…

户外旅行摄影手册,旅游摄影完全攻略

一、资料前言 本套旅游摄影资料&#xff0c;大小295.47M&#xff0c;共有9个文件。 二、资料目录 《川藏线旅游摄影》杨桦.彩印版.pdf 《户外摄影指南》(Essential.Guide.to.Outdoor.photography.amateur)影印版.pdf 《旅行摄影大师班》(英)科尼什.扫描版.PDF 《旅行摄影…

数据结构面试常见问题:数组和链表的区别是什么?

数组 在编程的世界里&#xff0c;数组无疑是最基础的数据结构之一&#xff0c;它像一排整齐的房子&#xff0c;每个房子都有自己的门牌号&#xff0c;我们可以通过这个门牌号直接找到这个房子&#xff0c;无需从头至尾的逐一查找。这个门牌号&#xff0c;就是我们所说的索引&am…

一键下载全自动安装Office全家桶

概述 今天分享一款超级强大的工具软件&#xff0c;该软件实现了一键自动化下载、安装Office全家桶的功能。整套安装流程堪称行云流水&#xff0c;从下载到安装全自动&#xff0c;无需上手操作。只需要安装该工具软件后&#xff0c;点击安装即可。软件会自动识别不同的操作系统架…

Redis中set数据类型详解

SADD key member [member …] summary: Add one or more members to a set since: 1.0.0 SCARD key summary: Get the number of members in a set since: 1.0.0 SDIFF key [key …] summary: Subtract multiple sets since: 1.0.0 SDIFFSTORE destination key [key …] sum…

Oracle——领先的企业级数据库解决方案

一、WHAT IS ORACLWE&#xff1a; ORACLE 数据库系统是美国 ORACLE 公司&#xff08;甲骨文&#xff09;提供的以分布式数据库为核心的一组软件产品&#xff0c;是目前最流行的客户/服务器(CLIENT/SERVER)或B/S 体系结构的数据库之一&#xff0c;ORACLE 通常应用于大型系统的数…

MySQL 5.7的备份恢复到MySQL 8.0

要将MySQL 5.7的备份恢复到MySQL 8.0&#xff0c;您可以按照以下步骤操作&#xff1a; 创建备份&#xff1a; 确保您有一个MySQL 5.7数据库的备份。通常这可以通过使用mysqldump命令来完成。 mysqldump -u root -p --all-databases --single-transaction --quick --lock-tables…

【计算机毕业设计】微信小程序:MHK自学平台的设计与实现——后附源码

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

MajorDoMo thumb.php 未授权RCE漏洞复现(CNVD-2024-02175)

0x01 产品简介 MajorDoMo是MajorDoMo社区的一个开源DIY智能家居自动化平台。 0x02 漏洞概述 MajorDoMo /modules/thumb/thumb.php接口处存在远程命令执行漏洞&#xff0c;未经身份验证的攻击者可利用此漏洞执行任意指令&#xff0c;获取服务器权限。 0x03 影响范围 MajorD…

tcpdump服务器抓包实测

背景 最近服务器上访问一个接口时候&#xff0c;经常容易conn time out.接口提供者就是不承认是他的问题。IT也说网络没有问题。 TMD有鬼了是吧 然后我就自己百度如何抓包&#xff0c;感谢星火大模型 要在服务器上使用tcpdump抓取当前服务器访问xxxxx:port的包&#xff0c;并分…

Web 常见十大漏洞原理及利用方式

一、PHP命令执行函数 原理: 命令执行函数解释:在PHP中有一些执行命令的函数&#xff0c;这些函数使你可以在PHP基本执行外部执行命令&#xff0c;并获取其输出的结果 漏洞产生原因&#xff1a; &#xff08;1&#xff09;没有对用户输入进行过滤或过滤不严 例如&#xff0c;…

【Node.js从基础到高级运用】二十四、Node.js中实现全双工通信

引言 在本篇博客文章中&#xff0c;我们将详细介绍如何在Node.js环境下使用WebSocket来实现全双工通信。WebSocket协议允许在用户的浏览器和服务器之间建立一个持久的连接&#xff0c;通过这个连接可以实现实时、双向的数据传输。 什么是WebSocket&#xff1f; WebSocket是一种…

ARM64架构栈帧回溯

文章目录 前言一、栈帧简介二、demo演示 前言 请参考&#xff1a;ARM64架构栈帧以及帧指针FP 一、栈帧简介 假设下列函数调用&#xff1a; funb() {func() }funa() {funb() }main() {funa() }main函数&#xff0c;funa函数&#xff0c;funb函数都不是叶子函数&#xff0c;其…

MySQL 的事务概念

事务概念 MySQL事务是一个或者多个的数据库操作&#xff0c;要么全部执行成功&#xff0c;要么全部失败回滚。 事务是通过事务日志来实现的&#xff0c;事务日志包括&#xff1a;redo log和undo log。 事务状态 事务有以下五种状态&#xff1a; 活动的部分提交的失败的中止的…

详解爬虫基本知识及入门案列(爬取豆瓣电影《热辣滚烫》的短评 详细讲解代码实现)

目录 前言什么是爬虫&#xff1f; 爬虫与反爬虫基础知识 一、网页基础知识 二、网络传输协议 HTTP&#xff08;HyperText Transfer Protocol&#xff09;和HTTPS&#xff08;HTTP Secure&#xff09;请求过程的原理&#xff1f; 三、Session和Cookies Session Cookies Session与…

Java:如何轻松获取当前执行的方法名

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 在编程的世界里&#xff0c;经常会遇到各种各样的问题。有时候&#xff0c;需要了解当前执行的方法名&#xff0c;以便更好地调试代码或者记录日志。那么&#xff0c;如何在Java中轻松获取当前执行的方法名呢&#x…

【linux备份文件】将文件夹copy到另一位置解决方案

要将文件夹压缩成zip文件&#xff0c;可以使用以下命令&#xff1a; zip -r <压缩文件名.zip> <文件夹路径> 复制代码 其中&#xff0c;<压缩文件名.zip>是你希望生成的zip文件的名称&#xff0c;<文件夹路径>是需要压缩的文件夹的路径。 例如&#xf…