前言
目前最喜欢的Linux发行版,本文实则也是一篇Debian12安装初始化笔记
安装时
以’debian-12.11.0-amd64-netinst.iso’为例,仅勾选’SSH server’和’standard system utilities’
登入root
更新源&更新软件
1
| apt update && apt upgrade -y
|
配置自动安全更新
1 2
| apt install unattended-upgrades apt-listchanges -y dpkg-reconfigure -plow unattended-upgrades
|
安装1Panel
1 2 3 4 5 6
| # 安装curl apt install curl -y
# 此命令以1Panel官网为准 # 若安装时乱码,选English,无影响 bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"
|
赋予用户sudo权限
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| # 检查用户 id <username>
# 若无则创建 adduser <username>
# 再次检查 id <username>
# 安装 apt install sudo -y
# 将用户添加到'sudo'组 usermod -aG sudo <username>
# 检查用户是否已在'sudo'组中 groups <username> # (推荐)直接检查用户的sudo权限 sudo -l -U <username>
|
为新用户配置SSH密钥认证
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 26
| # 切换到新用户 su - <username>
# 生成 ED25519 密钥对 (推荐,比 RSA 更安全且密钥更短) # -t 指定类型,-f 指定文件名,-N '' 设置空密码(按需设置密码) ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N ''
# 确保.ssh目录存在并设置严格权限 mkdir -p ~/.ssh chmod 700 ~/.ssh
# 将公钥追加到 authorized_keys 文件中 cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
# 设置 authorized_keys 文件的严格权限 chmod 600 ~/.ssh/authorized_keys
# (重要!)将私钥 (~/.ssh/id_ed25519) 安全地复制到你的本地电脑上 # 例如使用 scp、sftp 或复制粘贴(确保终端安全) # 在本地电脑上保护好这个私钥文件!
# 删除服务器上的私钥(可选,增加安全性,但需确保已备份) # rm ~/.ssh/id_ed25519
# 退出用户,返回之前的 shell exit
|
进入1Panel
SSH设置(按需设置)
1 2 3 4 5 6
| # 连接端口:设置为高位端口 # 监听地址:设置为仅IPv4 # root用户:设置为禁止SSH登录 # 密码认证:关闭 # 密钥认证:开启 # 反向解析:开启
|
Fail2ban与防火墙(按需设置)
1 2
| # Fail2ban:修改监听SSH端口 # ufw:禁ping、放行端口
|
登入新用户
检查Swap
1 2
| # 若NAME显示≠/swapfile且需修改,建议新增Swap而非修改 sudo swapon --show
|
删除和创建Swap
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| # 若需修改Swap大小,则需先禁用并删除(若NAME显示≠/swapfile...) sudo swapoff /swapfile sudo rm /swapfile
# 创建新的Swap文件 sudo fallocate -l <size> /swapfile
# 设置严格权限 sudo chmod 600 /swapfile
# 将文件格式化为 Swap 空间 sudo mkswap /swapfile
# 启用 Swap 文件 sudo swapon /swapfile
# 验证 sudo swapon --show
# 【关键】设置开机自动挂载 sudo nano /etc/fstab # 在文件的末尾添加 # (Ctrl+O 保存, Enter 确认, Ctrl+X 退出) /swapfile none swap sw 0 0
|
检查和修改Swappiness
1 2 3 4 5 6 7 8 9 10 11 12 13
| # 检查当前的 Swappiness 值 cat /proc/sys/vm/swappiness
# 临时修改(重启后失效) sudo sysctl vm.swappiness=10
# 永久修改(推荐) sudo nano /etc/sysctl.conf # 在文件末尾添加或修改 # (Ctrl+O 保存, Enter 确认, Ctrl+X 退出) vm.swappiness=10 # 执行以使配置立即生效 sudo sysctl -p
|
修改Swap优先级(可选)
额外的安全实践(可选)
安装 Rootkit 检查器
目的:定期扫描系统,检查是否存在已知的 rootkit 或恶意软件。
安装和配置 AIDE (Advanced Intrusion Detection Environment)
目的:文件完整性监控。AIDE 创建系统文件的数据库快照,定期比较以检测未经授权的更改。
检查并移除不必要的服务/端口
配置内核参数强化 (Kernel Hardening via sysctl)
定期审查日志
目的:发现异常活动、登录尝试、错误等。
位置:主要日志位于 /var/log 目录下,如 auth.log (认证日志), syslog, fail2ban.log, ufw.log, unattended-upgrades/ 等。
工具:可以使用 journalctl (systemd 日志), grep, less, tail 等命令查看。安装 logwatch 可以每天生成日志摘要邮件。
1 2 3
| sudo apt install logwatch -y # 配置 /etc/logwatch/conf/logwatch.conf (如设置接收邮箱 MailTo =) # 手动运行测试: sudo logwatch
|
定期备份