1. Блог
  2. Мануали

Як оновити Exim на сервері та перевірити версію

Як оновити Exim на сервері та перевірити версію

Exim — один із найпоширеніших поштових серверів: він використовується типово в Debian і входить до складу cPanel, DirectAdmin і HestiaCP. Через це вразливості в Exim активно шукають і експлуатують, і своєчасне оновлення — обов’язкова частина обслуговування сервера.

Перевірка поточної версії

exim -bV | head -n 1

У Debian і Ubuntu команда може називатися exim4:

exim4 -bV | head -n 1

У відповіді буде рядок на кшталт Exim version 4.98 #2 built .... Дізнатися версію встановленого пакета можна й через менеджер пакетів:

dpkg -l | grep exim4        # Debian, Ubuntu
rpm -q exim                 # AlmaLinux, Rocky Linux

Оновлення в Debian і Ubuntu

sudo apt update
sudo apt install --only-upgrade exim4 exim4-base exim4-config exim4-daemon-light

Якщо встановлено варіант із розширеними можливостями, замість exim4-daemon-light вкажіть exim4-daemon-heavy. Простіше оновити всі пакети системи одразу:

sudo apt update && sudo apt upgrade

Оновлення в AlmaLinux і Rocky Linux

Exim постачається з репозиторію EPEL:

sudo dnf update exim

Сервери з панеллю керування

Панелі керування самі збирають або постачають Exim, тому оновлювати його потрібно засобами панелі, а не вручну — інакше її конфігурація може зламатися.

  • cPanel: /scripts/upcp оновлює панель разом з Exim. Перевірте, що в WHM → Update Preferences увімкнено автоматичні оновлення.
  • DirectAdmin: оновлення виконується через CustomBuild: da build update і потім da build exim.
  • HestiaCP: Exim встановлюється з репозиторію дистрибутива й оновлюється командою apt upgrade. Докладніше про панель — у статті про встановлення HestiaCP.

Після оновлення

Переконайтеся, що служба запустилася й пошта надсилається:

sudo systemctl status exim4      # Debian, Ubuntu
sudo systemctl status exim       # AlmaLinux, Rocky Linux, cPanel

Перевірте чергу повідомлень:

exim -bpc

Команда виводить кількість листів у черзі. Різке зростання після оновлення означає, що доставка зупинилася, — причина буде в журналі:

sudo tail -n 50 /var/log/exim4/mainlog     # Debian, Ubuntu
sudo tail -n 50 /var/log/exim/main.log     # AlmaLinux, Rocky Linux

Перевірте синтаксис конфігурації:

exim -bV > /dev/null && echo "Конфігурація в порядку"

Автоматичні оновлення безпеки

Щоб не залежати від ручного запуску, увімкніть автоматичне встановлення виправлень безпеки.

Debian і Ubuntu:

sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

AlmaLinux і Rocky Linux:

sudo dnf install dnf-automatic
sudo systemctl enable --now dnf-automatic-install.timer

Якщо оновлення недоступне

Іноді про вразливість уже відомо, а виправлений пакет ще не вийшов. У такому разі:

  • обмежте доступ до портів 25, 465 і 587 файрволом, якщо сервер не повинен приймати пошту ззовні;
  • стежте за бюлетенями безпеки свого дистрибутива та панелі керування;
  • якщо версія дистрибутива більше не підтримується, оновлення Exim для неї не вийде — плануйте переїзд на актуальний випуск.

Чи потрібен вам власний поштовий сервер

Якщо Exim встановлено лише для надсилання системних сповіщень, закрийте порт 25 для вхідних з’єднань — це прибирає більшу частину ризиків. Для повноцінної пошти на власному сервері зручніші готові рішення на кшталт Mailcow, які оновлюються однією командою. Сам сервер захистіть за допомогою Fail2Ban.