Google Cloud 服务器部署笔记

云服务器配置

实例配置详情

配置项选择
区域us-west1 (俄勒冈)
操作系统Debian e2-micro
启动磁盘类型标准永久性磁盘
磁盘大小30 GB
数据保护无备份
网络允许 HTTP、HTTPS 流量
外部 IPv4 地址临时
网络服务层级标准

修改ssh配置

修改服务器的SSH配置文件 /etc/ssh/sshd_config

MaxAuthTries 2        # 每个连接最多试2次
MaxSessions 2         # 每个用户最多3个会话
MaxStartups 2:4:6  # 防连接洪水

修改ssh配置后

sudo systemctl restart sshd

环境部署

1. 安装 Podman

sudo apt update && sudo apt install -y podman

2. 安装 Podman-compose

方式说明

pip 安装 podman-compose 可能报错,改用 pipx 安装。

安装步骤

# 安装 pipx
sudo apt update
sudo apt install -y pipx
(apt 包管理器会自动检查并安装依赖。
pipx 的依赖包中通常已经包含了 python3 和 python3-venv 等必要组件
所以系统会自动把 Python 一起装上。)

# 添加 pipx 在 PATH 中
pipx ensurepath

# 重新加载 shell 配置
source ~/.bashrc

# 使用 pipx 安装 podman-compose
pipx install podman-compose

# 验证安装
podman-compose --version

备注

  • 实例已开启 HTTP / HTTPS 防火墙规则,便于部署 Web 服务。
  • 外部 IP 为临时分配,重启实例可能变更,如需固定 IP 可后续升级为静态 IP。
  • 使用 podman 作为容器引擎,兼容 Docker 镜像与 Docker Compose 编排语法。

在 Debian 系统上,你的系统显示使用的是 Debian 6.1.162-1 内核。需要说明的是:Debian 默认不使用 SELinux,而是使用 AppArmor

以下是查看和关闭防火墙及 SELinux/AppArmor 的方法:


1. 防火墙状态查看与关闭

Debian 默认使用 iptablesnftables,通常通过 ufw(Uncomplicated Firewall)管理。

查看防火墙状态

# 查看 ufw 状态
sudo ufw status

# 查看是否有其他防火墙服务
systemctl list-units | grep -E "firewall|iptables|nftables|ufw"
如果输出为空,系统没有安装任何防火墙管理服务(ufw、netfilter-persistent 等)。
但需要注意的是,iptables 规则可能仍然存在,因为 iptables 规则是直接在内核中生效的,不需要服务来运行。


# 如果未安装 ufw,查看 iptables 规则
sudo iptables -L -n -v

# 查看 nftables 规则(如果使用)
sudo nft list ruleset

关闭防火墙(ufw)

# 停止并禁用 ufw
sudo ufw disable

# 清空所有 iptables 规则(更彻底)
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t mangle -F

# 保存空规则(如果安装了 iptables-persistent)
sudo netfilter-persistent save

在你的系统上:

  • 没有运行 ufw、firewalld 等防火墙管理服务
  • 但需要检查 iptables 规则 是否为空
  • 如果 iptables 规则为空,说明系统没有启用防火墙
  • 如果 iptables 有规则,则防火墙正在内核层面运行

2. SELinux 状态查看与关闭

Debian 不使用 SELinux,如果你确认系统安装了 SELinux 包,可以检查:

查看 SELinux 状态

# 检查 SELinux 状态(如果安装了 selinux-utils)
getenforce

# 或查看配置文件
cat /etc/selinux/config

如果命令不存在,说明系统没有安装 SELinux。

如果存在 SELinux,临时关闭

sudo setenforce 0

永久关闭 SELinux

sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 或
sudo vi /etc/selinux/config
# 将 SELINUX=enforcing 改为 SELINUX=disabled

3. AppArmor 状态查看与关闭(Debian 默认)

Debian 使用 AppArmor 作为强制访问控制系统。

查看 AppArmor 状态

# 查看状态
sudo aa-status

# 或查看运行状态
sudo systemctl status apparmor

临时关闭 AppArmor

sudo systemctl stop apparmor

永久关闭 AppArmor

# 禁用服务(下次启动不启动)
sudo systemctl disable apparmor

# 立即停止并禁用
sudo systemctl stop apparmor
sudo systemctl disable apparmor

# 可选:卸载 AppArmor
sudo apt remove --purge apparmor -y

总结检查命令

运行以下命令快速查看所有安全组件的状态:

echo "=== UFW Status ==="
sudo ufw status 2>/dev/null || echo "UFW not installed"

echo -e "\n=== IPTables Rules ==="
sudo iptables -L -n | head -10

echo -e "\n=== AppArmor Status ==="
sudo systemctl status apparmor --no-pager | head -5
sudo aa-status --enabled 2>/dev/null || echo "AppArmor not active"

echo -e "\n=== SELinux Status ==="
getenforce 2>/dev/null || echo "SELinux not installed"

如果你的目标是完全关闭所有安全限制(仅用于测试环境),通常需要:

  1. 关闭 ufw(sudo ufw disable
  2. 清空 iptables(sudo iptables -F
  3. 停止并禁用 AppArmor(sudo systemctl disable --now apparmor

⚠️ 注意:在关闭防火墙和 AppArmor 后,系统安全性会显著降低,仅建议在隔离的测试环境中操作。

标签: none

添加新评论