AnonAddy 自建邮件转发服务部署指南

AnonAddy 自建邮件转发服务部署指南

前言

AnonAddy 是一款开源的邮件转发服务,允许用户创建无限数量的临时邮箱别名,用于保护真实邮箱地址不被泄露。本文将详细介绍如何在 Ubuntu 22.04 服务器上自建 AnonAddy 服务,涵盖从服务器准备到完整部署的全过程。

准备工作

服务器要求

  1. 一台全新的 Ubuntu 22.04 服务器
  2. 已安装 Fail2ban 和防火墙(如 UFW)
  3. 开放以下端口:
    • 25(SMTP)
    • 22(SSH,可修改为其他端口)
    • 443(HTTPS)
    • 80(HTTP)

服务器安全配置

在开始前,请确保已完成以下安全配置:

  • 禁用 root 登录
  • 仅允许密钥认证
  • 启用双因素认证
  • 配置自动安全更新

服务器初始设置

选择云服务提供商

选择支持开放 25 端口的云服务商(部分提供商默认会关闭此端口,需联系客服开通)。

检查 IP 信誉

部署前,使用多 RBL 检查工具确认服务器 IP 不在主要黑名单中。若 IP 因缺乏反向 DNS 设置被列入预防性黑名单,可在完成设置后申请移除。

设置主机名

sudo hostnamectl set-hostname mail.example.com

mail.example.com 替换为您自己的域名。

DNS 记录配置

基础记录

  1. MX 记录(邮件交换记录):

    MX @ mail.example.com 优先级 10
    
  2. 通配符记录(如需支持子域名):

    MX * mail.example.com
    A * <IPv4地址>
    AAAA * <IPv6地址>
    
  3. 显式 A/AAAA 记录:

    A mail.example.com <IPv4地址>
    A app.example.com <IPv4地址>
    AAAA mail.example.com <IPv6地址>
    AAAA app.example.com <IPv6地址>
    

反向 DNS 设置

设置 PTR 记录指向您的 FQDN(完全限定域名),如 mail.example.com。可通过云服务商控制面板配置。

邮件服务器安装与配置

Postfix 安装

sudo apt update
sudo apt install postfix

安装时选择"Internet Site"类型,系统邮件名填写主域名(如 example.com)。

Postfix 配置

编辑 /etc/postfix/main.cf 文件,配置包括:

  • TLS 证书路径
  • 安全协议和加密套件
  • 主机名和域名设置
  • 邮件传输限制
  • 反垃圾邮件策略

Master 配置

/etc/postfix/master.cf 文件末尾添加:

anonaddy unix - n n - - pipe
  flags=F user=johndoe argv=php /var/www/anonaddy/artisan anonaddy:receive-email --sender=${sender} --recipient=${recipient} --local_part=${user} --extension=${extension} --domain=${domain} --size=${size}

policy unix - n n - 0 spawn
  user=johndoe argv=php /var/www/anonaddy/postfix/AccessPolicy.php

Web 服务器配置

Nginx 安装

添加官方源并安装最新版 Nginx:

sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt update
sudo apt install nginx

生成 DH 参数

sudo mkdir /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 4096

Nginx 配置

创建服务器块配置文件 /etc/nginx/conf.d/example.com.conf,配置包括:

  • HTTP 到 HTTPS 重定向
  • TLS 证书路径
  • 安全头设置
  • PHP FastCGI 配置
  • 静态文件处理

PHP 环境配置

PHP 8.2 安装

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2-fpm php8.2-common php8.2-mysql php8.2-dev php8.2-gmp php8.2-mbstring php8.2-dom php8.2-gd php8.2-imagick php8.2-opcache php8.2-soap php8.2-zip php8.2-cli php8.2-curl php8.2-mailparse php8.2-gnupg php8.2-redis -y

PHP-FPM 配置

编辑 /etc/php/8.2/fpm/pool.d/www.conf,设置正确的用户和组。

SSL 证书获取

使用 acme.sh 获取 Let's Encrypt 证书:

sudo su
cd ~
git clone https://github.com/acmesh-official/acme.sh.git
cd acme.sh
./acme.sh --install

数据库与缓存服务

MariaDB 安装

sudo apt install mariadb-server mariadb-client
sudo mysql_secure_installation

Redis 安装

sudo apt install redis-server

应用部署与配置

克隆代码库

cd /var/www
git clone https://github.com/anonaddy/anonaddy.git
cd anonaddy
composer install --no-dev

环境配置

复制 .env.example.env 并配置数据库连接、应用密钥等参数。

数据库迁移

php artisan migrate --seed

服务启动与验证

启动服务

sudo systemctl restart nginx
sudo systemctl restart postfix
sudo systemctl restart php8.2-fpm

创建管理员账户

php artisan user:create

高级安全配置

DNSSEC 与 DANE

配置 DNSSEC 并添加 TLSA 记录实现 DANE 验证。

MTA-STS 与 TLS 报告

添加 MTA-STS 策略和 TLS 报告配置。

CAA 记录

添加认证机构授权记录限制证书颁发机构。

维护与更新

应用更新

cd /var/www/anonaddy
git pull origin master
composer install --no-dev
php artisan migrate

故障排除

常见问题包括:

  • 邮件投递失败
  • TLS 证书问题
  • DNS 配置错误
  • 服务启动失败

可通过检查日志文件定位问题:

  • /var/log/mail.log
  • /var/log/nginx/error.log
  • /var/log/php8.2-fpm.log

结语

通过本文的详细指导,您应该已经成功部署了自己的 AnonAddy 邮件转发服务。自建服务不仅能提供更高的隐私保护,还能根据需求进行定制化配置。建议定期检查服务器日志并保持软件更新,以确保服务的安全性和稳定性。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值