53 lines
1.9 KiB
Markdown
53 lines
1.9 KiB
Markdown
# Postfix SMTP Hitelesítés Beállítása (Fedora 43)
|
|
|
|
Ez a dokumentum összefoglalja a lépéseket, amelyekkel lokális felhasználói hitelesítést (SASL) állítottunk be egy meglévő Postfix SMTP relay szerveren.
|
|
|
|
## 1. Szükséges csomagok telepítése
|
|
A SASL hitelesítéshez a Cyrus SASL könyvtárakra van szükség.
|
|
```bash
|
|
sudo dnf install cyrus-sasl cyrus-sasl-plain
|
|
```
|
|
|
|
## 2. SASL konfigurálása
|
|
Létrehoztuk a `/etc/sasl2/smtpd.conf` fájlt, amely meghatározza, hogyan ellenőrizze a Postfix a jelszavakat.
|
|
```conf
|
|
# /etc/sasl2/smtpd.conf
|
|
pwcheck_method: saslauthd
|
|
mech_list: plain login
|
|
```
|
|
|
|
## 3. Postfix konfiguráció módosítása
|
|
Beállítottuk a Postfix-et, hogy használja a SASL hitelesítést és engedélyezze a hitelesített kliensek számára a levélküldést.
|
|
```bash
|
|
sudo postconf -e 'smtpd_sasl_auth_enable = yes'
|
|
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
|
|
sudo postconf -e 'smtpd_sasl_local_domain = $myhostname'
|
|
sudo postconf -e 'broken_sasl_auth_clients = yes'
|
|
sudo postconf -e 'smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination'
|
|
```
|
|
|
|
## 4. Lokális felhasználó létrehozása
|
|
Létrehoztunk egy rendszerszintű felhasználót, aki csak hitelesítésre szolgál (nincs shell hozzáférése).
|
|
```bash
|
|
sudo useradd -M -s /sbin/nologin mdmuser
|
|
sudo passwd mdmuser
|
|
```
|
|
|
|
## 5. Szolgáltatások indítása és engedélyezése
|
|
Elindítottuk a hitelesítésért felelős démont és újraindítottuk a Postfix-et.
|
|
```bash
|
|
sudo systemctl enable --now saslauthd
|
|
sudo systemctl restart postfix
|
|
```
|
|
|
|
## 6. Ellenőrzés és Tesztelés
|
|
A hitelesítés meglétét `telnet`-tel ellenőriztük:
|
|
```bash
|
|
telnet localhost 25
|
|
# EHLO teszt.local parancs után látni kell:
|
|
# 250-AUTH PLAIN LOGIN
|
|
```
|
|
|
|
A sikeres küldést a logokban az alábbi bejegyzés igazolja:
|
|
`sasl_method=PLAIN, sasl_username=mdmuser@antares-apo.local, status=sent`
|