Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| l3:serveri:mail_server_zimbra [2022/05/26 18:43] – [Let's encrypt sertifikat] milano | l3:serveri:mail_server_zimbra [2022/07/11 10:52] (current) – milano | ||
|---|---|---|---|
| Line 8: | Line 8: | ||
| - Kako je server na lokalnoj IP adresi (192.168.0.250) iza firewall-a, ne može uspešno razrešiti javni IP mail.melany.rs pa mu je potreban interni DNS da ga " | - Kako je server na lokalnoj IP adresi (192.168.0.250) iza firewall-a, ne može uspešno razrešiti javni IP mail.melany.rs pa mu je potreban interni DNS da ga " | ||
| - Interni DNS se može dobiti upotrebom daemona BIND ili dnsmasq | - Interni DNS se može dobiti upotrebom daemona BIND ili dnsmasq | ||
| - | |||
| ===== DNSMASQ ===== | ===== DNSMASQ ===== | ||
| Line 16: | Line 15: | ||
| ===== Let's encrypt sertifikat ===== | ===== Let's encrypt sertifikat ===== | ||
| - | - MOC, u okviru skripte / | + | - MOC, u okviru skripte |
| - | - CRON na zimbri kupi fajlove i prenosi ih u / | + | - CRON na zimbri kupi fajlove i prenosi ih u '' |
| - | - Zatim kombinuje lanac chain.pem sa X1 root sertifikatom komandom (baš u ovom poretku): cat isrgrootx1.pem.txt chain.pem > zmchain.pem | + | - Zatim kombinuje lanac '' |
| - | - Fajlovi se prenose u / | + | - Fajlovi se prenose u '' |
| - | - Privatni ključ se kopira u / | + | - Privatni ključ se kopira u '' |
| - | - I konačno se registruje novi sertifikat: zmcertmgr deploycrt comm / | + | - I konačno se registruje novi sertifikat: |
| - | - Restart servera: zmcontrol restart | + | - Restart servera: |
| + | |||
| + | Sve je ovo automatizovano, | ||
| + | < | ||
| + | # | ||
| + | # Milano, 28.05.2022. | ||
| + | # Preuzimam fajlove nakon što je MOC izvršio Certbot proveru koju radi svake subote u 5:30. | ||
| + | # | ||
| + | 40 5 * * 6 / | ||
| + | </ | ||
| + | |||
| + | ==== Preduslovi za funkcionisanje '' | ||
| + | |||
| + | - Na Zimbri je napravljen '' | ||
| + | - MOC eksponira '' | ||
| + | - Na Zimbri, u folderu ''/ | ||
| + | |||
| + | ===== Fail2Ban zaštita ===== | ||
| + | |||
| + | Učestalo je zaključavanje '' | ||
| + | Kako bi sprečili // | ||
| + | |||
| + | Za instalaciju je praćeno uputstvo sa [[https:// | ||
| + | Pošto stranica može da " | ||
| + | |||
| + | **1. Install pip** | ||
| + | |||
| + | < | ||
| + | |||
| + | **2. Install dependencies required by Fail2Ban** | ||
| + | |||
| + | < | ||
| + | pip3 install pyinotify | ||
| + | pip3 install dnspython | ||
| + | </ | ||
| + | |||
| + | **3. Download and extract Fail2Ban** | ||
| + | |||
| + | < | ||
| + | cd /tmp/ | ||
| + | wget -c https:// | ||
| + | </ | ||
| + | |||
| + | **4. Install Fail2Ban** | ||
| + | |||
| + | < | ||
| + | tar -xvf 0.9.4.tar.gz | ||
| + | cd fail2ban-0.9.4 | ||
| + | python3 setup.py install | ||
| + | </ | ||
| + | |||
| + | **5. Copy Fail2Ban service to systemd** | ||
| + | |||
| + | < | ||
| + | |||
| + | **6. Adjust bin location on Fail2Ban service** | ||
| + | |||
| + | < | ||
| + | |||
| + | Adjust the following lines. Change ''/ | ||
| + | |||
| + | < | ||
| + | ExecStart=/ | ||
| + | ExecStop=/ | ||
| + | ExecReload=/ | ||
| + | </ | ||
| + | |||
| + | Create fail2ban folder | ||
| + | |||
| + | < | ||
| + | mkdir / | ||
| + | nano / | ||
| + | </ | ||
| + | |||
| + | Add this line at the bottom | ||
| + | |||
| + | < | ||
| + | |||
| + | Reload systemd | ||
| + | |||
| + | < | ||
| + | |||
| + | **7. Create zimbra.jail** | ||
| + | |||
| + | < | ||
| + | |||
| + | Fill with the following lines and save | ||
| + | |||
| + | < | ||
| + | [zimbra-submission] | ||
| + | enabled = true | ||
| + | filter = zimbra-submission | ||
| + | logpath = / | ||
| + | maxretry = 3 | ||
| + | findtime = 3600 | ||
| + | bantime = 36000 | ||
| + | action = iptables-multiport[name=zimbra-submission, | ||
| + | |||
| + | [zimbra-webmail] | ||
| + | enabled = true | ||
| + | filter = zimbra-webmail | ||
| + | logpath = / | ||
| + | maxretry = 3 | ||
| + | findtime = 3600 | ||
| + | bantime = 36000 | ||
| + | action = iptables-multiport[name=zimbra-webmail, | ||
| + | |||
| + | [zimbra-admin] | ||
| + | enabled = true | ||
| + | filter = zimbra-admin | ||
| + | logpath = / | ||
| + | maxretry = 3 | ||
| + | findtime = 3600 | ||
| + | bantime = 36000 | ||
| + | action = iptables-multiport[name=zimbra-admin, | ||
| + | </ | ||
| + | |||
| + | **8. Create filters** | ||
| + | – Zimbra Admin | ||
| + | |||
| + | < | ||
| + | |||
| + | – Zimbra Webmail | ||
| + | |||
| + | < | ||
| + | |||
| + | – Zimbra SMTP/ | ||
| + | |||
| + | < | ||
| + | |||
| + | **9. Ignore localhost and Zimbra IP** | ||
| + | |||
| + | Open file / | ||
| + | |||
| + | < | ||
| + | |||
| + | **10. Enable and restart Fail2Ban** | ||
| + | |||
| + | < | ||
| + | systemctl enable fail2ban | ||
| + | systemctl restart fail2ban | ||
| + | </ | ||
| + | |||
| + | |||