็†ฑ้–€ๅˆ†้กž
 ่ผ‰ๅ…ฅไธญ…
็›ฎ้Œ„

๐Ÿ“ง Mailserver ๆžถ่จญๆ•™ๅญธๅŸบ็คŽ็ฏ‡

    ๐Ÿ“ง Mailserver ๆžถ่จญๆ•™ๅญธๅŸบ็คŽ็ฏ‡

    ๆƒณๅœจ Linux ไธŠ่‡ช่กŒๆžถ่จญ้ƒตไปถไผบๆœๅ™จ?ๆœฌ็ฏ‡ๅฐ‡ไปฅ Rocky / CentOS ็ณปๅˆ— ็‚บไพ‹, ๆ•™ไฝ ๅพž้›ถ้–‹ๅง‹ๅฎ‰่ฃ่ˆ‡่จญๅฎš Postfix(ๅฏ„ไฟกไผบๆœๅ™จ) ่ˆ‡ Dovecot(ๆ”ถไฟกไผบๆœๅ™จ), ๅปบ็ซ‹ๅฎŒๆ•ด็š„ SMTP / IMAP ้ƒตไปถ็’ฐๅขƒ,ไธฆ่ชชๆ˜Žๆฏๅ€‹ๅ…ƒไปถ็š„ๅŠŸ่ƒฝ่ˆ‡้—œ่ฏ。

    ๐Ÿ“˜ ไธ€、Mailserver ๆžถๆง‹ๅœ–(Postfix × Dovecot)

    
      ┌────────────────────────────┐
      │          User (Client)     │
      │   ──────────────────────   │
      │   ▸ Thunderbird / Outlook  │
      │   ▸ Webmail / Telnet Test  │
      └────────────┬───────────────┘
                   │  SMTP (25/587) ๅ‚ณ้€้ƒตไปถ
                   ▼
            ┌─────────────┐
            │  Postfix    │ ←── Fail2Ban、Firewalld ้˜ฒ่ญท
            │  (MTA)      │
            └─────┬───────┘
                  │  ๆœฌๆฉŸๆŠ•้ž (Local Delivery)
                  ▼
            ┌─────────────┐
            │  Dovecot    │ ←── IMAP (143/993)、POP3 (110/995)
            │  (MDA/IMAP) │
            └─────────────┘
      

    ๐Ÿงฑ ไบŒ、ๅฎ‰่ฃๅฟ…่ฆๅฅ—ไปถ

    # ๆ›ดๆ–ฐๅฅ—ไปถๅบซ
    sudo dnf update -y
    
    # ๅฎ‰่ฃ Postfix ่ˆ‡ Dovecot
    sudo dnf install postfix dovecot mailx -y
    
    # ้–‹ๆฉŸ่‡ชๅ‹•ๅ•Ÿ็”จๆœๅ‹™
    sudo systemctl enable --now postfix
    sudo systemctl enable --now dovecot
    
    # ๆชขๆŸฅ้‹่กŒ็‹€ๆ…‹
    sudo systemctl status postfix
    sudo systemctl status dovecot
      

    ๅฎ‰่ฃๅพŒ็ณป็ตฑๆœƒๅปบ็ซ‹้ ่จญ่จญๅฎšๆช”:

    • /etc/postfix/main.cf:ไธป่ฆ้ƒตไปถๆœๅ‹™่จญๅฎš
    • /etc/dovecot/dovecot.conf:้ƒตไปถๆ”ถๅ–ๅ”ๅฎš่จญๅฎš

    ⚙️ ไธ‰、Postfix ๅŸบๆœฌ่จญๅฎš

    # ็ทจ่ผฏไธป่ฆ่จญๅฎšๆช”
    sudo nano /etc/postfix/main.cf
    
    # ไปฅไธ‹็‚บๆœ€ๅฐๅฏ้‹ไฝœ่จญๅฎš(็ฏ„ไพ‹)
    myhostname = mail.example.com
    mydomain = example.com
    myorigin = $mydomain
    inet_interfaces = all
    inet_protocols = ipv4
    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
    relayhost =
    home_mailbox = Maildir/
    mynetworks = 127.0.0.0/8
    smtpd_banner = $myhostname ESMTP
      

    ่จญๅฎšๅฎŒๆˆๅพŒ้‡ๆ–ฐๅ•Ÿๅ‹•ๆœๅ‹™:

    sudo systemctl restart postfix

    ๐Ÿ“จ ๅ››、Dovecot ๆ”ถไฟกๆœๅ‹™่จญๅฎš

    Dovecot ่ฒ ่ฒฌๆไพ› IMAP/POP3 ๆ”ถไฟกๅŠŸ่ƒฝ,ไธฆๅญ˜ๆ”พ็”จๆˆถ้ƒตไปถ่‡ณ Maildir ๆ ผๅผ。

    # ๅ•Ÿ็”จ Maildir ่ˆ‡่ช่ญ‰ๆฉŸๅˆถ
    sudo nano /etc/dovecot/conf.d/10-mail.conf
    mail_location = maildir:~/Maildir
    
    sudo nano /etc/dovecot/conf.d/10-auth.conf
    disable_plaintext_auth = no
    auth_mechanisms = plain login
    
    sudo nano /etc/dovecot/conf.d/10-master.conf
    # ๅ•Ÿ็”จ IMAP ่ˆ‡ POP3
    service imap-login {
      inet_listener imap {
        port = 143
      }
      inet_listener imaps {
        port = 993
        ssl = yes
      }
    }
    service pop3-login {
      inet_listener pop3 {
        port = 110
      }
      inet_listener pop3s {
        port = 995
        ssl = yes
      }
    }
      

    ้‡ๆ–ฐๅ•Ÿๅ‹•ๆœๅ‹™:

    sudo systemctl restart dovecot

    ๐Ÿงฉ ไบ”、ๅปบ็ซ‹ๆธฌ่ฉฆไฝฟ็”จ่€…่ˆ‡้ƒตไปถ็›ฎ้Œ„

    # ๆ–ฐๅขžๆธฌ่ฉฆๅธณ่™Ÿ
    sudo useradd mailuser -m
    sudo passwd mailuser
    
    # ๅปบ็ซ‹ Maildir ็›ฎ้Œ„
    sudo mkdir /home/mailuser/Maildir
    sudo chown -R mailuser:mailuser /home/mailuser/Maildir
      

    ๆธฌ่ฉฆๅฏ„ไฟก:

    echo "Mailserver ๆธฌ่ฉฆไฟกไปถๅ…งๅฎน" | mail -s "ๆธฌ่ฉฆไฟก" mailuser@localhost

    ๆŸฅ็œ‹ไฟกไปถๆ˜ฏๅฆๆˆๅŠŸๆŠ•้ž:

    sudo tail -n 20 /var/log/maillog

    ๐Ÿ” ๅ…ญ、้˜ฒ็ซ็‰†้–‹ๆ”พ่ˆ‡ๆœๅ‹™้ฉ—่ญ‰

    # ้–‹ๅ•Ÿ้ƒตไปถๆœๅ‹™ๅธธ็”จ port
    sudo firewall-cmd --permanent --add-service=smtp
    sudo firewall-cmd --permanent --add-service=imap
    sudo firewall-cmd --permanent --add-service=pop3
    sudo firewall-cmd --reload
    
    # ้ฉ—่ญ‰้€ฃ็ทš(ๅฏไฝฟ็”จ Telnet ๆˆ– openssl)
    telnet localhost 25
    openssl s_client -connect localhost:993
      
    ๐Ÿ’ก ๅฐๆ็คบ: ่‹ฅไฟกไปถๆœชๆˆๅŠŸๅฏ„้€,่ซ‹ๆชขๆŸฅ /var/log/maillog ่ˆ‡ /etc/postfix/master.cf ๆ˜ฏๅฆๅ•Ÿ็”จไบ† smtpd ๆจก็ต„。

    ๐Ÿ“ˆ ไธƒ、ๅพŒ็บŒๅปถไผธๅปบ่ญฐ

    • ๅ•Ÿ็”จ STARTTLS / SSL ๆ†‘่ญ‰(ๅฏๆญ้… Let's Encrypt)
    • ๅŠ ๅ…ฅ SPF / DKIM / DMARC ้ฉ—่ญ‰ๆฉŸๅˆถๅผทๅŒ–ไฟกไปปๅบฆ
    • ๆ•ดๅˆ Fail2Ban ๅตๆธฌๆšดๅŠ›็™ปๅ…ฅ่ˆ‡้ƒตไปถ็‚ธๅฝˆๆ”ปๆ“Š
    • ๅฎ‰่ฃ Roundcube Webmail ๆไพ›ไฝฟ็”จ่€…ไป‹้ข

    ๐Ÿ“˜ ็ต่ชž

    ๆญๅ–œไฝ ๅฎŒๆˆไบ† Linux Mailserver ๆžถ่จญ็š„ๅŸบ็คŽ็’ฐๅขƒ! ๅพžๅฏ„ไฟก็š„ Postfix ๅˆฐๆ”ถไฟก็š„ Dovecot, ไฝ ๅทฒๅปบ็ซ‹ๅฏๅœจๆœฌๅœฐ็ถฒ่ทฏๆญฃๅธธ้‹ไฝœ็š„ SMTP / IMAP ไผบๆœๅ™จ。 ไธ‹ไธ€ๆญฅๅฐ‡ๅœจ「้€ฒ้šŽ็ฏ‡」ไป‹็ดน TLS、SPF、DKIM、Fail2Ban ๆ•ดๅˆ็š„ๅฎ‰ๅ…จๅผทๅŒ–็ญ–็•ฅ。


    ๐Ÿ”— ๅปถไผธ้–ฑ่ฎ€

    — WWFandy・Mailserver ็ณปๅˆ—ๅŸบ็คŽ็ฏ‡

    ๐Ÿ”— ๅˆ†ไบซ้€™็ฏ‡ LINE Facebook X

    ๆฒ’ๆœ‰็•™่จ€:

    ๅผต่ฒผ็•™่จ€

    ๅญ—็ดš