服务器安全是一个非常敏感的问题,因服务器远程入侵导致数据丢失的安全问题频频出现,一旦服务器入侵就会对个人和企业造成巨大的损失。因此,在日常使用服务器的时候,我们需要采取一些安全措施来保障服务器的安全性。
目前服务器系统使用到比较多的就是Linux,大多数服务器都在 Linux 基础架构上运行,而我们远程时候,多数也是会使用默认设置的 SSH
连接来连接到远程服务器。但是,不安全的默认配置是会带来一些安全风险。今天我们就来分享一些方案可以保护Linux服务器远程连接的安全。
![](https://img-
blog.csdnimg.cn/img_convert/50cfbb871dcfbead8530a1452290bb12.png)
在 Linux 上保护 SSH 服务器连接安全的几种方法:
1、禁用 root 用户登录:关闭 root 用户的服务器访问是一种防御策略,可以防止攻击者实现入侵系统的目标。为此,可以创建一个具有 root
权限的新用户来代替 root 用户进行登录。
例如创建exampleroot的用户:
useradd -m exampleroot
passwd exampleroot
usermod -aG sudo exampleroot
在用户创建过程之后,修改 SSH 的配置文件 /etc/ssh/sshd_config,在其中加上 PermitRootLogin no 配置项。
2、使用 SSH 密钥连接:连接到服务器的最安全方法之一是使用 SSH 密钥。使用 SSH 密钥时,无需密码即可访问服务器。另外,可以通过更改
sshd_config 文件中与密码相关的参数来完全关闭对服务器的密码访问。
在本地计算机上生成 SSH 密钥对。可以使用 ssh-keygen 命令来生成,选择默认选项即可。创建 SSH
密钥时,有两个密钥:Public和Private。公钥将上传到您要连接的服务器,而私钥则存储在您将用来建立连接的计算机上。
需要注意的是,使用 SSH 密钥连接需要在本地计算机和远程服务器上都进行相应的配置。此外,如果需要配置多个用户使用 SSH
密钥连接,可以创建一个包含多个公钥的 authorized_keys 文件,并将其放置在远程服务器的指定目录下。
3、限制登录/访问尝试:默认情况下,可以根据需要尝试多次输入密码来访问服务器。但是,攻击者可以利用此漏洞对服务器进行暴力破解。通过指定允许的密码尝试次数,可以在尝试一定次数后自动终止
SSH 连接。为此,请更改 sshd_config 文件中的 MaxAuthTries 值。
4、默认使用 SSH 版本 2:SSH 的第二个版本发布是因为第一个版本中存在许多漏洞。默认情况下,可以通过将 Protocol 参数添加到
sshd_config 文件来启用服务器使用第二个版本。这样,未来的所有连接都将使用第二个版本的 SSH。
5、关闭 TCP 端口转发和 X11 转发:攻击者可以尝试通过 SSH 连接的端口转发来访问您的其他系统。为了防止这种情况,可以在 sshd_config
文件中关闭 AllowTcpForwarding 和 X11Forwarding 功能。
AllowTcpForwarding yes - AllowTcpForwarding no
X11Forwarding yes - X11Forwarding no
保存文件并重新启动 SSH 服务。
需要注意的是,关闭 TCP 端口转发和 X11
转发可能会影响使用这些功能的应用程序的正常运行。因此,在修改配置之前,请确保了解这些更改可能对系统产生的影响。
6、禁用密码认证:默认情况下,可以通过将 PasswordAuthentication 参数添加到 sshd_config
文件来禁用密码认证。这样,只有使用 SSH 密钥的用户才能访问服务器。
7、限制远程登录:可以通过在 sshd_config 文件中设置 AllowUsers 和 DenyUsers 参数来限制远程登录的用户和 IP
地址。只有允许的用户才能从指定的 IP 地址登录到服务器。
8、定期更新和审查:保持操作系统和 SSH
服务的最新版本,并定期审查服务器日志以检测任何可疑活动。如果有任何异常行为被检测到,应立即采取行动以保护服务器免受攻击。
9、使用主机安全软件:使用支持多重防护规则的主机安全,远程防护用于对远程桌面登录进行防护,防止非法登录,增强远程桌面安全。像是德迅卫士这种主机安全软件,远程登录服务器时需要进行二次验证,验证通过才可以登录服务器,这样也可以提高服务器的远程安全。
这些是在 Linux 上保护 SSH
服务器连接的一些常见方法,保护服务器的安全性是一个持续的过程,需要我们不断的关注以应对不断变化的威胁,结合多种安全措施来提高服务器的使用安全性,保障我们的业务安全。
学习网络安全技术的方法无非三种:
第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。
第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
第三种就是去找培训。
接下来,我会教你零基础入门快速入门上手网络安全。
网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。
第一阶段:基础准备 4周~6周
这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
第二阶段:web渗透
学习基础 时间:1周 ~ 2周:
① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
配置渗透环境 时间:3周 ~ 4周:
① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。
渗透实战操作 时间:约6周:
① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
以上就是入门阶段
第三阶段:进阶
已经入门并且找到工作之后又该怎么进阶?详情看下图
给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
![](https://i-blog.csdnimg.cn/blog_migrate/3b1d63fb65c8a1b01941105d0561ef81.jpeg)