几个加固云服务器的方法(VPS版)

时间:2022-09-17 17:26:42

前不久我的月供hide.me账号终于永远沉睡了,平时也就不过去油管看些养猫视频也能被盯上……迫于学业和娱乐的重担(),我决定搭建一个VPS来解决这种麻烦。

方法:自行选购VPS咯,不管是土豪去买AWS或Azure,还是一般大众使用的Vultr、linode,或是质优(?)价廉的Bandwagon或host1plus都是您的选择。您若是还有更多的钱能合法地通过阿里云审核再去备案两个月,买个域名附带一台主机,但是谁也不晓得阿里是否在监控出入数据↶_↶。

几个加固云服务器的方法(VPS版)(图片来源于https://bbs.aliyun.com/simple/t536953.html

引用知乎上某位过来人的话

便宜+稳定=慢/配置低
稳定+速度快=贵
便宜+速度快=配置低
便宜+稳定+速度快+国内=贵+++
便宜+稳定+速度快+国外+不限制大陆用户(+支付宝)=都被拿来挖矿了哪还有你的份

闲言少叙,还是言归正传吧,大多数人还是想通过搭建openVPN或是*实现远程访问。不管是工作、Google学术、YouTube抑或是去at“Trump”看表演,”正常“的渠道都无比艰辛,人家VPS服务商也要你好歹不能被黑客攻击。这里我就介绍下CentOS、Debian以及Windows下安全加固方法。


示例机器1:CentOS6 bbr

(Google架构优化后的产品,属于默认套餐,讲真的我个人并不推荐使用,似乎精简的有点过头了,根本不能搭站)

安全加固方法:

安装安全组件

yum install yum-security

检查安全更新
yum –security check-update
只安装安全更新
yum update –security
检查特定软件有无安全更新
yum list-security software_name
列出更新的详细信息
yum info-security software_name

可能出现的问题:

There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
Exit code: 1

意思是,有未完成的yum事务,建议先运行yum-complete-transaction命令清除。

处理步骤:

# 安装 yum-complete-transaction

yum install yum-utils

# 运行 yum-complete-transaction

yum-complete-transaction --cleanup-only

# 清除可能存在的重复包

package-cleanup --dupes

# 清除可能存在的损坏包

package-cleanup --problems

错误2:

Is this ok [y/N]: Exiting on user Command
Your transaction was saved, rerun it with:
 yum load-transaction /tmp/yum_save_tx-2018-08-15-11-28AnIoXD.yumtx
解决方法:选择将上面的那段代码复制下来添加-y结尾跳过一步步用户选择。

PS:清除自己机器上原先的VPN软件方法(软件是hide.me,大多数VPN都挺鸡肋的)
清除原先的VPN插件时出现了“文件正在占用中”错误,为了解决这个问题,我从MSDN中下载了handle这个工具,放在了system32文件夹中。使用cmd,命令为handle c:\xxx\xxxx\xxx\xx,找到占用它的相关软件。

2.Debian

:(这是我比较青睐的一款系统,特别稳定,相同硬件条件下响应速度比CentOS快,唯一缺点就是安装LNMP时资料不多)(还可以参考:https://www.debian.cn/archives/998

2.1 Debian检查需要安全修复包

sudo apt-get upgrade -s | grep -i security

2.2 密码策略

root密码策略至少应该考虑以下几点:

1,密码强度,至少是字母+数字一共9位以上

2,不同的系统密码不能一样

3,根换密码策略(每90天更换一次)

4,密码分发管理,管理不同业务服务器的系统管理员掌握不同的密码

2.2.1 业务分离

生产环境中,不同的业务可以做水平分离,比如把不同的服务运行到不同的虚拟机 中,不需要远程访问的服务器可以绑定到 localhost( 比如只需要访问本机业务的 mysql) 上。

2.3 SSH安全配置

openssh目前的默认配置文件相比以前虽然要安全的多,但还是有必要对生产系统 中的ssh服务器进行基线检查。

配置文件:/etc/ssh/ssh_config

1,known_hosts保存相关服务器的签名,所以必须把主机名hash:

HashKnownHosts yes

2,SSH协议v1不安全:

Protocol 2

3,如果没用X11转发的情况:

X11Forwarding no

4,关闭rhosts:

IgnoreRhosts yes

5,关闭允许空密码登录:

PermitEmptyPasswords no

6,最多登录尝试次数:

MaxAuthTries 5

7,禁止root登录

PermitRootLogin no

(可选)

1,关闭密码认证,启用公钥认证:


   
   
   
  1. PubkeyAuthentication yes


  2. PasswordAuthentication no

2,允许或者禁止用户/组登录:

AllowGroups, AllowUsers, DenyUsers, DenyGroups


还有更详细的见https://blog.csdn.net/jlds123/article/details/38110779

3.Ubuntu作为Debian衍生品,很多规则可以套用
4.openSUSE资料不多

5.Windows

无非关闭远程桌面,关掉445、135~139、3389,密码增强策略,资料太多了就不赘述了