保护好你的小鸡!保姆级服务器安全教程!

为什么要做安全防护

Linux 服务器的安全防护是一个纷繁复杂的巨大课题。无数的网站、APP、服务、甚至线下基础设施都建立在 Linux 的基石之上,这背后牵涉到巨大的经济利益和商业价值,当然也就意味着黑灰产有巨大的攻击动力。但是这些服务是如此重要、根本不允许出现重大的安全漏洞。于是无数的运维专业人员都在安全攻防的战场上拼搏努力,这才让大家能享受到基本稳定的现代化数字生活。

顺哥博客

现在,你拥有了一台 VPS(我们亲切地称它为小鸡),这与你自己的电脑不同,它 24 小时开机,而且具有一个公网 IP,意味着人人都可能可以访问到你的服务器,那就相当于你已经置身于安全攻防战场的第一线、直面所有风险。但与此同时,萌新由于知识和信息的不足,看待安全问题是总是难免两极分化:要么觉得轻如鸿毛和自己没有半点关系,要么觉得重于泰山甚至惶惶不可终日。

  • 对于前者,我的建议是:安全无小事,尽量多查一些安全方面的信息,免得自己真的受了损失才后悔莫及;
  • 对于后者,我的建议是:不用紧张,我们的服务器仍不具有太高的价值、一般不会吸引到高水平的攻击,需要面对的基本都是一些自动化脚本的恶意扫描和登录尝试,跟着本文做一些基础的防护即可。

具体的风险到底是什么

正如我们所知,任何人只需要知道【IP 地址】+【端口】+【用户名】+【密码】这四个要素,就能登录你的 VPS 服务器。那很显然,这四要素的安全就是我们要防护的底线。我们来逐一分析:

  1. 【IP 地址】:恶意脚本会随机尝试和扫描 IP 段,可以简单认为是公开信息、无法隐藏

  2. 【端口】:如果使用默认端口,那么【端口 = 22】

  3. 【用户名】:如果使用默认用户,那么【用户名 = root】

  4. 【密码】:密码不存在默认值,一定是由 VPS 后台随机生成或由你自行设置的。也就是说,如果你的服务器都是默认设置,则四要素中的三个已经是已知的,那么你整个服务器的安全,就全部寄托在一串小小的密码上了。这时有几种情况:

    • 如果你用了 VPS 管理后台随机生成密码,它一般包含随机的十几个大小写混杂的字母和符号,相对比较安全
    • 如果你为了好记、把密码改成了类似 123456 这种超弱的密码,破解你的 VPS 服务器可谓不费吹灰之力
    • 如果你为了好记、把密码改成了比较复杂、但在别的地方用过的密码,其实也并不安全。你要明白黑客手里有作弊器,比如说密码表,包含数万、数十万、数百万甚至更多曾经泄漏的真实密码)
  5. 但你要明白,没有哪个黑客真的要坐在电脑前一次一次的尝试你的密码,全部的攻击尝试都是恶意脚本自动进行的,它会 24 小时不眠不休的工作。也许每天你酣睡之时,你的服务器都在经受着一轮又一轮的冲击。

一旦密码被成功撞破,意味着你的四要素全部被攻击者掌握,恶意脚本就会快速登录服务器、获取服务器的最高 root 控制权、安装部署它的恶意服务,然后就可以用你的服务器来 24 小时做各种坏事(比如挖矿、传播病毒、发送垃圾邮件、欺诈邮件、做 BT 中继、甚至暗网公众节点等等等等)。如果恶意脚本比较克制,其实可以做到相当的隐蔽性。而新人一般也不会去观察留意 VPS 的登录记录、进程变化、CPU 占用变化、流量变化等指标,你其实就很难发现自己被黑了。直到你的 VPS 服务商封禁你的账号、或者收到律师函为止。

  1. 别忘了,你获得 VPS 时大概率需要使用真实的支付信息,你登录各种网站、社交平台时也会留下你的 IP 地址,这些都与你的身份有直接或者间接的关系。于是,一旦这些坏事发生,它们就会不可避免地与你产生关联

所以,一起来跟着下面的教程,来给我们的小鸡做一些基础的安全防护吧。

开始安全防护工作

本文以 Ubuntu20.04 为例子,Debian 的操作也是类似的,CentOS 系统会不太一样,请自行搜索相关内容。(强烈安利大家使用 Ubuntu 或者 Debian 系统)

任何涉及到安装的操作之前,先更新一下我们安装包的索引,可以的话,顺便更新一下软件。这本身也是安全的一部分,新的软件意味着更少的漏洞。

BASH

apt update apt upgrade 

​编辑

保持即可,直接回车。

​编辑

更新完毕,我们进入正题。

本次教程讲分为 SSH 篇宝塔篇全局篇来讲解,后续如果有补充也会更新至相应位置。

SSH 篇

1、更改 SSH 端口

第一步,我们先来解决【端口 = 22】的问题。(注意:有些 VPS 服务商,默认的端口已经是非 22 端口,那么你可以忽略这一步,当然也可以跟着本文改成别的端口)

  1. 我们要做的第一件事,当然就是【用 nano 这个文本编辑器打开 SSH远程登录程序设置】,在 Windows 下,你会【找到文件并双击】,在 Linux 下该怎么办呢?仔细看看上面的命令说明,是不是就很简单了?没错,就是:

    SHELL

    nano /etc/ssh/sshd_config
    
  2. 文件打开后,你就进入了 nano 的界面,稍微观察一下,你会发现,它把重要的快捷键都显示在屏幕下方了(下图红框内),直接开卷考试、不用死记硬背,是不是很贴心呢?

    ​编辑
  3. 我们要做的第二件事,是【在打开的文件中找到 Port 这一项,并修改它的端口】。Port 后面的数字就是 SSH 的端口,一般建议把它改成一个大于 1024 小于 65535 的整数(本文以 9753 为例)。结合 nano 的快捷键,想一下该怎么操作呢?

    • 使用 ctrl+w 进入搜索模式,然后输入 Port 22 并回车
    • 删除 22 并改成 9753
    • 说明:如果这一行开头有个#,证明这一行【不生效】(被注释掉了),你可像我一样在文件最后写一个不带#的,或者把#删掉就好。

    本文以 9753 为例,就意味着随着本文的发布,这个端口会变成一个不大不小的特征,也许会被攻击者优先尝试,所以强烈建议你用一个自己想到的其他端口,毕竟,你有 6 万多个端口可以自由选择。

  4. 我们要做的第三件事,是【保存文件并退出】

    • 如果第 3 步你有仔细观察,就会发现保存并不是常见的 ctrl+s
    • 正确的快捷键:保存是 ctrl+o + 回车,退出是 ctrl+x
  5. 我们最后要做的事,是【重启 ssh 服务,使变更生效】

    SHELL

    sudo service sshd restart
    

    注意:为了保证你不会失联,请不要关闭当前的 ssh 登录窗口!而是另外开一个窗口来测试!

    注意:为了保证你不会失联,请不要关闭当前的 ssh 登录窗口!而是另外开一个窗口来测试!

    注意:为了保证你不会失联,请不要关闭当前的 ssh 登录窗口!而是另外开一个窗口来测试!

    ​编辑
  6. 修改登陆配置

现在新的端口已经生效,下次登录时就要用 9753 了。

登陆变成了:

BASH

ssh root@你的服务器IP -p 9753

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

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

相关文章

Java王者荣耀

一、创建项目 二、代码 package com.sxt;import javax.swing.*; import java.awt.*;public class Background extends GameObject {public Background(GameFrame gameFrame) {super(gameFrame);// TODO Auto-generated constructor stub}Image bg Toolkit.getDefaultToolkit(…

mac Terminal config proxy 【mac 终端配置代理】

vi ~/.bash_profile alias proxyexport http_proxy127.0.0.1:1088;export https_proxy$http_proxy alias proxyOffunset http_proxy;unset https_proxy生效 source ~/.bash_profile而从 macOS Catalina 版开始,Mac 将使用 zsh 作为默认的 Shell 终端。要对其进行配…

Mac 最佳使用指南

如何在macOS系统安装根证书mac Terminal config proxy 【mac 终端配置代理】iPhone 安装 iOS 17公测版(Public Beta)macOS 最佳命令行客户端:iTermMac 配置与 Linux 互信Mac mini 外接移动硬盘无法写入或者无法显示的解决方法如何在 macOS 美化 iterm2 &…

5 动态规划解分割等和子串

来源:LeetCode第416题 难度:中等 描述:给你一个只包含正整数的非空数组nums,请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等 分析:相当于从nums数组中选取一些元素,使得他们的和为…

数据库基础教程之数据库的创建(二)

双击打开Navicat,点击:文件-》新建连接-》PostgreSQL 在下图新建连接中输入各参数,然后点击:连接测试,连接成功后再点击确定。 创建数据表   3.1 方法1   3.1.1.双击你的数据库-》双击public-》双击选中表-》右键-》新建表-》常规 3.1.2.设置字段信息   双击选中创建…

软件实施面试题

一,Java 笔试题 1、掌握 Java 那些常用排序算法 冒泡排序(Bubble Sort) 选择排序(Selection Sort) 插入排序(Insertion Sort) 希尔排序(Shell Sort) 归并排序&#xff…

C++ vector迭代器失效

STL中vector迭代器失效常见错误写法示例 最近在看STL容器失效的例子,涉及到vector数组迭代器失效的问题,如果不注意使用,很容易出现问题,我们先来看一下一个简单的示例程序,在数组nums中删除大于50的元素,…

【方块消消乐】方块消除游戏-微信小程序开发流程详解

有做过俄罗斯方块游戏小程序的经验,这次有做了一个消灭方块的游戏,实现过程很顺利,游戏看着和之前做的俄罗斯方块游戏很像,这里调整了玩法,试玩感觉还可以,接下来给大家讲一讲消灭方块游戏开发过程。 俄罗斯…

(离散数学)命题逻辑推理一:直接推理

P说明这一行是前提,T说明这一行是结论 ,I说明该结论是由推导而来,E说明该结论是由化简而来,括号里的数字是推导这一结论需要的条件序号。 这种写法只是将重言蕴含的论证的思路进行了梳理 ,前件为真则后件为真、后件为假…

scrollY offsetTop pageYOffset scrollTop

当涉及到页面滚动时,这些属性和方法扮演了不同的角色。让我来解释一下它们的含义和区别: scrollY 是 window 对象的一个只读属性,它返回文档在垂直方向已滚动的像素值。它提供了当前滚动位置相对于文档顶部的距离。 获取方式:可以…

【深度学习】DAMO-YOLO,阿里,701类通用检测模型,目标检测

https://github.com/tinyvision/DAMO-YOLO/blob/master/README_cn.md DAMO-YOLO是由阿里巴巴达摩院智能计算实验室TinyML团队开发的一个兼顾速度与精度的目标检测框架,其效果超越了目前的一众YOLO系列方法,在实现SOTA的同时,保持了很高的推理速度。DAMO…

Linux 面试题(一)

目录 1、绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令? 2、怎么查看当前进程?怎么执行退出?怎么查看当前路径? 3、怎么清屏?怎么退出当前命…

rdf-file:分布式环境下的文件处理

一:数据量大了以后,单机解析或者生成文件的效率就很低,需要通过集群处理 机构过来的文件:我们先对文件进行分片,在利用集群集群处理分片文件。给机构文件:分库分表数据,每个分表生成一个分片文…

VMware安装部署kail镜像服务器【详细包含百度云盘镜像】

VMware安装部署kail镜像服务器【详细包含百度云盘镜像】 kail是一个很好玩的操作系统,不多说了哈 下载kail镜像 kail官网:https://www.kali.org/get-kali/#kali-platforms 百度云盘下载: 链接:https://pan.baidu.com/s/1PRjoP_1v8DEZ7-dA_…

基于51单片机的智能垃圾桶硬件设计

**单片机设计介绍, 基于51单片机的智能垃圾桶硬件设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机的智能垃圾桶设计旨在通过传感器和控制电路实现智能化的垃圾桶功能。下面是一个简要的硬件设计介绍&…

51代码审计-PHP框架MVC类上传断点调试

知识点1,文件上传漏洞挖掘 搜索关键字$_FILES phpmvc架构 MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式。 MVC把软件系统分为三个基本部分:模型(Model)、视图(View&#…

Redis面试题:Redis的数据淘汰策略有哪些?

目录 面试官:Redis的数据淘汰策略有哪些 ? 面试官:数据库有1000万数据 ,Redis只能缓存20w数据, 如何保证Redis中的数据都是热点数据 ? 面试官:Redis的内存用完了会发生什么? 面试官:Redis的数据淘汰策略有哪些 ? …

C++ day36 贪心算法 无重叠区间 划分字母区间 合并区间

题目1:435 无重叠区间 题目链接:无重叠区间 对题目的理解 移除数组中的元素,使得区间互不重叠,保证移除的元素数量最少,数组中至少包含一个元素 贪心算法 局部最优,使得重叠区间的个数最大&#xff0c…

GCPS—20型工程钻机的设计自动摊铺机的设计机械设计

wx供重浩:创享日记 对话框发送:摊铺机 获取完整论文报告工程源文件 摊铺机是一种复合式多功能摊铺机,为适应我国深基础和连续墙以及水利、纺织的发展与需要,结合大口径摊铺机灌注桩和地下连续墙施工的特点,为解决在复…

【数据结构】树的概念以及二叉树

目录 1 树概念及结构 1.1 树的概念 1.3 树的存储 2 二叉树的概念及结构 2.1 概念 2.2 特殊的二叉树 2.3 二叉树的性质 2.4 二叉树的存储结构 1 树概念及结构 1.1 树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组…