1. 主机信息
主机信息如上所示。
2. 安装ntp
# 一般主机默认安装ntp
sudo apt isntall ntp
systemctl enable ntp
systemctl start ntp
3. 安装fail2ban
上图是主机被尝试攻击的日志。
云主机暴露在网上,虽然密码强度足够且经常更换密码,但是还是存在一定的风险。
因此还是需要安装fail2ban进行保护(刚开始选择denyhosts,但是似乎不再维护)。
sudo apt install fail2ban
sudo systemctl enable fail2ban.service
sudo systemctl start fail2ban.service
通过fail2ban-client,可以查看封禁的具体信息。
4 Openresty代理
代理设置:
worker_processes 4;
error_log logs/error.log info;
pid logs/nginx.pid;
worker_rlimit_nofile 8192;
events {
worker_connections 4096;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
gzip on;
upstream halo {
server 127.0.0.1:8090;
}
server {
listen 443 ssl reuseport;
server_name www.2tuan.site;
client_max_body_size 4m;
client_body_buffer_size 1m;
proxy_buffers 16 64k;
proxy_buffer_size 64k;
ssl_certificate 2tuan.site_bundle.crt;
ssl_certificate_key 2tuan.site.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
proxy_pass http://halo;
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
proxy_pass http://halo;
expires 7d;
access_log off;
}
location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) {
deny all;
}
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://halo;
}
}
server {
listen 80 reuseport;
server_name www.2tuan.site;
return 301 https://$host$request_uri;
}
}
Openretsy的代理配置,基本参照Halo官方文档给出的示例,仅对缓存进行了部分修改,原因如下所示:
Openresty在代理后端的图片文件,以及js文件时,因为代理缓冲区设置较小(代理数据不会直接下发),导致代理数据只能缓存至磁盘上,进而降低了系统的整体表现。
因此,针对性的调整了proxy_buffers以及proxy_buffer_size两个参数,重启Openresty服务配置即生效。
5. 修改ssh登录端口
需要注意,以下的修改方式仅适用于sshd.service。
如果不清楚当前systemd使用的是sshd.service还是sshd.socket,可以按照如下方式查看(红框部分):
修改如下文件:
vim /etc/ssh/sshd_config
文件中将Port行注释解除,端口号设置为自己喜欢的端口。
此外,需要将防火墙设置进行修改:
# 下行中的***请替换为实际使用的端口
ufw allow ***
# 需要注意,删除22很有可能不生效
ufw delete allow ssh
6. Docker日志大小设置
配置添加于:/etc/docker/daemon.json,具体内容如下所示:
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
}
}
设置后重启docker服务,新增的docker服务即会遵循日志设置。