阿里云盾/云监控的建设是一个庞大且系统的工程,包括但不限于对公网流量的检测和对疑似节点的Replay attack,据官方解释,该云盾通过安装在服务器上轻量级Agent与云端威胁情报联动,保护服务器免受网站后门的威胁,同时对于可疑的登录事件进行实时告警,增强服务器的安全防护基线。与此同时,前者又会在系统中产生 Alibaba.Security.Heimdall
的访问记录,获取用户搭建网站的敏感信息,云盾会对从IDC机房入口的流量做分析,自动对流量进行漏洞分析与测试。所以,打造一个较为纯净的运维环境是十分必要的。
卸载云盾
curl -sSL http://update.aegis.aliyun.com/download/quartz_uninstall.sh | sudo bash
sudo rm -rf /usr/local/aegis
sudo rm /usr/sbin/aliyun-service
sudo rm /lib/systemd/system/aliyun.service
代码备份
#!/bin/bash
#check linux Gentoo os
var=`lsb_release -a | grep Gentoo`
if [ -z "${var}" ]; then
var=`cat /etc/issue | grep Gentoo`
fi
if [ -d "/etc/runlevels/default" -a -n "${var}" ]; then
LINUX_RELEASE="GENTOO"
else
LINUX_RELEASE="OTHER"
fi
stop_aegis(){
killall -9 aegis_cli >/dev/null 2>&1
killall -9 aegis_update >/dev/null 2>&1
killall -9 aegis_cli >/dev/null 2>&1
printf "%-40s %40s\n" "Stopping aegis" "[ OK ]"
}
stop_quartz(){
killall -9 aegis_quartz >/dev/null 2>&1
printf "%-40s %40s\n" "Stopping quartz" "[ OK ]"
}
remove_aegis(){
if [ -d /usr/local/aegis ];then
rm -rf /usr/local/aegis/aegis_client
rm -rf /usr/local/aegis/aegis_update
fi
}
remove_quartz(){
if [ -d /usr/local/aegis ];then
rm -rf /usr/local/aegis/aegis_quartz
fi
}
uninstall_service() {
if [ -f "/etc/init.d/aegis" ]; then
/etc/init.d/aegis stop >/dev/null 2>&1
rm -f /etc/init.d/aegis
fi
if [ $LINUX_RELEASE = "GENTOO" ]; then
rc-update del aegis default 2>/dev/null
if [ -f "/etc/runlevels/default/aegis" ]; then
rm -f "/etc/runlevels/default/aegis" >/dev/null 2>&1;
fi
elif [ -f /etc/init.d/aegis ]; then
/etc/init.d/aegis uninstall
for ((var=2; var<=5; var++)) do
if [ -d "/etc/rc${var}.d/" ];then
rm -f "/etc/rc${var}.d/S80aegis"
elif [ -d "/etc/rc.d/rc${var}.d" ];then
rm -f "/etc/rc.d/rc${var}.d/S80aegis"
fi
done
fi
}
stop_aegis
stop_quartz
uninstall_service
remove_aegis
printf "%-40s %40s\n" "Uninstalling aegis" "[ OK ]"
remove_quartz
printf "%-40s %40s\n" "Uninstalling aegis_quartz" "[ OK ]"
屏蔽云盾 IP
检查服务器记录时发现一堆 Alibaba.Security.Heimdall
的访问记录。查询后发现是云盾。
根据官方介绍:
云盾会通过公网模拟黑客入侵攻击,进行安全扫描。所以服务器有安全防护时,需要对云盾扫描ip进行放行。
原方法:使用 UFW / iptables
此处使用 UFW,iptables
用户请参考下方网友评论。注意:如果已有接受 80 端口之类的规则,新增的拒绝 IP 规则在其后将不会生效。所以要在 /etc/ufw/before.rules
设置。
sudo nano
编辑此文件并找到 # End required lines
,在其后添加:
# Block Ali Yun Dun https://help.aliyun.com/knowledge_detail/37436.html
-A ufw-before-input -s 140.205.201.0/24 -j DROP
-A ufw-before-input -s 140.205.225.0/24 -j DROP
-A ufw-before-input -s 106.11.222.0/23 -j DROP
-A ufw-before-input -s 106.11.224.0/24 -j DROP
-A ufw-before-input -s 106.11.228.0/22 -j DROP
保存后运行 sudo ufw reload
。完毕!
删除阿里云登录界面欢迎信息
Welcome to Ubuntu 17.04 (GNU/Linux 4.10.0-19-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Welcome to Alibaba Cloud Elastic Compute Service ! Last login from ***.***.***.***
源自文件:
sudo nano /etc/motd
使用 Caddy 作为静态服务器
Caddy 是一款由 Go 编写的 Web Server,与 Nginx 相比,最大的特点就是部署简单并默认启用 HTTPS,它是第一个无需额外配置即可提供 HTTPS 特性的 Web 服务器。同样是使用 Let’s Encrypt,之前使用 Nginx 需要手工配置证书,还需要编写三个月更新证书的 cron 计划任务。另外 Caddy 默认启用更快的 HTTP/2 协议。
安装 Caddy
Caddy 官方支持多种安装方式,我是使用脚本的方式,服务器为Ubuntu 16.04 64位。 首先更新下系统,然后安装 wget 和 curl 再下载 caddy 安装文件并赋予可执行权限。
apt update && sudo apt upgrade -y && sudo apt autoremove -y
apt install wget -y && apt install curl -y
wget https://getcaddy.com -O getcaddy
chmod +x getcaddy
然后根据需求可选安装插件,比如我安装了http.cache, http.expires, http.ipfilter, http.minify等插件:
./getcaddy personal http.cache,http.expires,http.ipfilter,http.minify,http.nobots,http.ratelimit
生产环境配置&使用
安装完成后需要进行一些配置方便在生产环境使用。
先设置相关权限。
chown root:root /usr/local/bin/caddy
chmod 755 /usr/local/bin/caddy
setcap 'cap_net_bind_service=+eip' /usr/local/bin/caddy
setcap 'cap_net_bind_service=+eip' 是使服务程序运行在非root帐户下时,也能够banding到低端口。
下面新建配置文件目录,并新建一个 Caddyfile 文件,并写入一条 import 指令。
mkdir -p /etc/caddy
chown -R root:www-data /etc/caddy
mkdir -p /etc/ssl/caddy
chown -R www-data:root /etc/ssl/caddy
chmod 770 /etc/ssl/caddy
touch /etc/caddy/Caddyfile
echo 'import ./vhosts/*' > /etc/caddy/Caddyfile
然后创建网站文件的存放目录。
mkdir -p /var/www
chown www-data:www-data /var/www
chmod 755 /var/www
创建好上面的文件和目录之后,我们还需要把 caddy 配置成一个服务,方便管理和开机自动运行。
curl -s https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service # 从 github 下载 systemd 配置文件
chown root:root /etc/systemd/system/caddy.service # 配置权限
chmod 744 /etc/systemd/system/caddy.service
systemctl daemon-reload #重新加载 systemd 配置
systemctl enable caddy.service # 设置 caddy 服务自启动
systemctl start caddy.service # 启动 caddy 状态
Caddy当前状态
systemctl status caddy
service caddy status
重启下Caddy 服务
systemctl restart caddy.service
systemctl restart caddy
service caddy restart
更详细的内容可以去官网上看文档学习: https://caddyserver.com/docs