SaltyFish's Bowl

上次之后,虽然不用过天天被炸的日子了,但是,他防呆不防傻啊
莫得办法,只能是再添加一些操作,防止BOOM了

前言

说出来你可能不信,我更换了服务器后,在清理Aria2下载的文件时,一个手抖,把rm -rf /home/Download/*随手敲成了rm -rf /home………………

而我刚换的服务器,是没有Vultr那样,可以创建快照的…………

惊不惊喜,意不意外

费了半天劲,终于把用户数据恢复过来后,也算是勉强能用了。

顺便修改了一下博客界面,看起来舒服多了,Anesome

弄好了之后,总得做点措施,防止再次BOOM掉了…………

当然了,再做点其他的安全措施

TO DO List

  1. 使用nginx反向代理aria2 RPC端口

  2. 启用防火墙,仅开放使用端口

  3. 创建一个新的账户用于登录系统,禁止root账户ssh登录

  4. 用一个自动备份脚本备份服务器

开搞

使用nginx反向代理aria2 rpc

为什么要用nginx反向代理呢,嗯……服务器开放的端口还是少一点吧

  1. 修改nginx.conf文件,开启反向代理

将以下内容添加到nginx.conf中合适的server段中,我是添加到了AriaNg的Server段中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
location /yourlocal {  #local可以随便写
proxy_pass https://127.0.0.1:yourport/jsonrpc; #此处是Port 是RPC的监听地址
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme; # 真实用户访问协议
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 0;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 18000;
proxy_send_timeout 18000;
proxy_read_timeout 18000;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
  1. 执行nginx -s relaod后启用

  2. 打开Aria WebUI,在服务器设置中端口填写443,local填写在nginx中填写的local名,即可正常连接

  1. 修改aria.conf 仅允许本机访问rpc

修改aria.conf ,将rpc-allow-origin-allrpc-listen-all修改为false

重新启动aria2服务

启用防火墙,仅开放使用端口

由于我的服务器使用的系统为Ubuntu 16.04.6 LTS,所以我使用系统自带的ufw来配置防火墙

1
2
3
4
5
6
7
8
# 使用root权限操作
ufw allow 443 # 开放https
ufw allow 80 # 开放http
ufw allow 7777 # 开放ssh
ufw allow 51413:51999/tcp # Aria2
ufw allow 51413:51999/udp
ufw default deny # 设置默认拒绝
ufw enable # 启动ufw

创建一个新的账户用于登录系统,禁止root账户ssh登录

  1. 新建账户
1
2
3
4
5
6
7
8

useradd -g www -s /bin/bash -m yourname #创建账户

usermod -a -G sudo yourname #赋予sudo权限

cp -R /root/.ssh /home/yourname #将原来的ssh_key 复制到新建账户中

chown -R yourname:www /home/yourname/.ssh

此时,便可以本地使用新建账户登录

  1. 修改sshd.config

PasswordAuthenticationPermitRootLogin修改为no

保存后执行/etc/init.d/ssh restart应用设置

写一个自动备份的脚本备份服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#/bin/bash

#PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
#export PATH

filesystem=`df |awk ' $1 ~ /\/dev/ && $NF ~ /^\/$/ {print $1 }'`

used_cap=$(df |awk ' $1 ~ /\/dev/ && $NF ~ /^\/$/ {print strtonum($5)}' )

bak_date=`date +"%Y-%m-%d"`

if [ $used_cap -ge 40 ]; then
echo "NO Available Speace left !"
exit 1
fi

mkdir /root/backup
echo "backup started ! please wait....
current time : `date`"

tar cpvf /root/backup/backup_${bak_date}.tar --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/media --exclude=/root/backup --exclude=/tmp --exclude=/home/wwwlog --exclude=/home/wwwroot/Downloads /

lzma -e -z -v -7 --threads=2 /root/backup/backup_${bak_date}.tar

openssl rc4 -k yourpassword -salt -in /root/backup/backup_${bak_date}.tar.lzma -out /root/backup/backup_${bak_date}.tar.lzma.rc4

备份完的文件可以复制回本地当做备份使用,如果系统出现问题,可以重新安装完系统后还原即可

后记

折腾完了,估计应该不会boom了吧…………

好吧,就先这样吧,肝活动去了…………

崩坏3三周年真好玩


扫码领红包

 评论




博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站使用 Volantis 作为主题 , 总访问量为 字数统计:26.6k。 载入天数...载入时分秒...