jinzh notes
jinzh notes

vps安全和基本维护

vps安全和基本维护
内容纲要

前言

每个连接到互联网的人都是黑客的目标。

2021 年最令人难以置信的网络攻击统计数据,了解全球每天发生的网络攻击数量。

  • 在全球范围内,每天有30,000 个网站被黑客入侵。

  • 全球64% 的公司至少经历过一种形式的网络攻击。

  • 2021 年 3 月有2000 万条记录被泄露。

  • 2020 年,勒索软件案件增长了150%。

  • 电子邮件约占所有恶意软件的 94%。

  • 每 39 秒,网络上的某个地方就会发生一次新的攻击。

  • 每天平均有大约 24,000 个恶意移动应用程序在互联网上被阻止。

所以,网络安全防护很重要!

开始防护工作

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

SSH防护

事实上,很多vps被当做肉鸡,都是因为ssh登录密码被破解出来了,尤其是root用户被暴力破解出来,被安插后门程序,整个小鸡就变成了逼人的傀儡鸡(肉鸡)

更改ssh端口

vim /etc/ssh/sshd_config

然后更改其中的port字段,就是更改ssh端口,更改完成保存后,使用systemctl sshd restart重启ssh服务

更改ssh密码

很简单,使用psswd命令即可更改密码。
注意:密码输入时是不可见的

新建普通用户

1.新建用户

adduser admin

即可新建用户,会要求输入两次密码以及一些信息,除了密码之外的信息可以一路回车结束,有需要可以自行了解资料对其进行设置

2.安装sudo

新建普通用户后,我们后续需要以sudo让普通用户可以获取到root权限

apt install sudo  #Debain默认没有,Ubuntu自身应该是已经有安装的

3.进行sudo设置

visudo

保存使用 ctrl+K O ,回车 ,然后ctrl + K Q,即可保存退出!

在其中寻找User Privilege Specification字段,然后加入新的一行:

admin ALL=(ALL) NOPASSWD: ALL
#admin为用户名

设置 "NOPASSWD" 可以使admin用户使用root权限时,无需输入额外密码,如果要求在使用root权限时输入密码,可以更改为 sadmin ALL=(ALL:ALL) ALL

4.禁止root登录

禁止root通过ssh登录到vps,可以大幅度避免vps变成肉鸡的情况,同时也可以通过其他用户ssh登录后通过su命令切换到root用户使用

编辑ssh配置文件:

vim /etc/ssh/sshd_config
#如果是通过普通用户登录的话需要使用sudo

将其中的PermitRootLogin字段改为no

然后保存退出,重启ssh服务sudo systemctl sshd restart

此后,再使用root进行ssh登录时,vps会直接deny访问,并且一直要求输入密码了

ufw防火墙

安装

安装ufw防火墙(基于iptable),Debian需要手动安装,Ubuntu已经默认自带

apt install ufw

基本配置

设置基本默认值

ufw default deny incoming
ufw default allow outgoing

允许ssh连接

ufw allow ssh

允许http和https连接

ufw allow http
ufw allow https

启动ufw

ufw enable

管理防火墙规则

查看防火墙状态

ufw status
ufw status numbered

删除规则

ufw delete 5

增加规则

允许81端口,ufw规则较为复杂

ufw allow 81

重载配置

ufw reload

禁ping

直接编辑ufw的rule规则,也可以编辑iptable的规则

vim /etc/ufw/before.rules

找到# ok icmp codes for INPUT区域,将最后一行的echo-request -j ACCEPT中的ACCEPT改为DROP即可

禁止暴力破解

使用file2ban来禁止暴力破解

安装file2ban

apt install fail2ban

拷贝配置文件

cd /etc/fail2ban # 进入fail2ban目录
cp fail2ban.conf fail2ban.local  # 备份

编辑配置文件

vim fail2ban.conf
[sshd]
enable = ture
port = 22   #端口
filter =sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = -1

服务管理

service fail2ban restart #重启
fail2ban-client status #查看状态
fail2ban-client status sshd #查看sshd的详细状态

解禁ip

 fail2ban-client set sshd unbanip 192.0.0.1 #解禁指定IP

影翼

文章作者

发表回复

textsms
account_circle
email

jinzh notes

vps安全和基本维护
前言 每个连接到互联网的人都是黑客的目标。 2021 年最令人难以置信的网络攻击统计数据,了解全球每天发生的网络攻击数量。 在全球范围内,每天有30,000 个网站被黑客入侵。 全球64%…
扫描二维码继续阅读
2022-03-26