运维学习笔记

第一讲 服务器安全加固

学习要点

公网服务器会遭到SSH暴力破解攻击。本讲完成服务器加固:使用密钥登录替代密码登录,配置两层防火墙,部署fail2ban自动封禁攻击者;牢记VNC是紧急自救通道。

核心概念

运维好习惯:私钥不外泄;高危修改前留自救后路;新功能验证可用之后,再关闭旧不安全方式。

关键命令(带注释)

# 查看SSH登录失败日志,观察暴力破解记录
sudo journalctl -u sshd | grep -i failed | tail -30

# 本地电脑生成ed25519密钥对
ssh-keygen -t ed25519 -C "服务器study账号"

# 校验ssh配置语法,无报错再重载
sudo sshd -t
sudo systemctl reload sshd

# firewalld放行ssh服务
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

# 查看fail2ban状态,查看被封禁IP列表
sudo fail2ban-client status sshd

常见故障

第二讲 网站上线:Nginx与域名DNS解析

学习要点

实现域名访问网站;理解DNS解析原理;安装Nginx,编写站点配置,发布静态网页;掌握403、404、访问超时故障排查。

核心概念

Nginx配置修改之后,必须先执行 nginx -t 校验语法,再执行 reload,防止配置错误造成网站中断。

关键命令(带注释)

# 验证域名DNS解析
nslookup example.com
nslookup www.example.com

# 安装、启动nginx并设置开机自启
sudo dnf install -y nginx
sudo systemctl enable --now nginx
nginx -v

# 创建网站目录,修改归属和权限
sudo mkdir -p /var/www/mysite
sudo chown -R study:study /var/www/mysite
sudo chmod 755 /var/www/mysite

# nginx配置检查,重载生效
sudo nginx -t
sudo systemctl reload nginx

# 实时跟踪网站访问日志
sudo tail -f /var/log/nginx/mysite_access.log

常见故障

第三讲 HTTPS证书与自动续期

学习要点

理解HTTP明文的安全风险;掌握HTTPS(TLS)加密原理;使用certbot申请Let’s Encrypt免费证书;配置Nginx HTTPS站点,配置证书全自动续期。

核心概念

使用--dry‑run演练模式先测试,演练成功之后再正式申请证书,避免申请失败次数被CA限流。privkey.pem私钥严禁泄露。

关键命令(带注释)

# 安装certbot证书工具
sudo dnf install -y certbot
certbot --version

# 演练申请证书(测试环境,不会生成正式证书)
sudo certbot certonly --webroot -w /var/www/mysite \
-d example.com -d www.example.com --dry-run

# 查看本机全部证书信息、路径、到期时间
sudo certbot certificates

# 启用证书自动续期定时器
sudo systemctl enable --now certbot-renew.timer
systemctl list-timers 'certbot*'

# 模拟完整续期演练
sudo certbot renew --dry-run

常见故障