Tento tutoriál vám ukáže, jak nastavit automatickou aktualizaci zabezpečení, neboli bezobslužné aktualizace, na Ubuntu. Pokud nežijete pod jeskyní, pravděpodobně znáte masivní únik dat Equifax. V období od května do července 2017 bylo odcizeno 143 milionů zákaznických informací Equifax, včetně jména, rodného čísla, data narození, řidičského průkazu a 200 000 čísel kreditních karet.
V březnu 2017 byla nalezena kritická zranitelnost v Apache Structs a nadace Apache pro ni vydala opravu, když oznámila existenci zranitelnosti. Equifax však tuto zranitelnost dva měsíce neopravoval, což vedlo k masivnímu úniku dat. Společnosti provozující složité aplikace mohou před instalací aktualizací provést rozsáhlé testování, ale pokud máte jednoduchý linuxový server pro osobní použití, můžete zapnout automatickou aktualizaci zabezpečení a opravit zranitelná místa co nejdříve.
Konfigurace automatické aktualizace zabezpečení (bezobslužné upgrady) na serveru Ubuntu
Nejprve nainstalujte unattended-upgrades
balíček.
Aktualizace sudo aptudo apt install bezobslužné aktualizace
Musíte nainstalovat update-notifier-common
za účelem nastavení automatického restartu.
sudo apt install update-notifier-common
Poté upravte 50unattended-upgrades
soubor.
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
V tomto souboru můžete nakonfigurovat, které balíčky se mají automaticky aktualizovat. Ve výchozím nastavení se automaticky instalují pouze bezpečnostní aktualizace, jak naznačují následující řádky. Tuto sekci tedy není třeba měnit.
Unattended-Upgrade::Allowed-Origins { "${distro_id}:${distro_codename}"; "${distro_id}:${distro_codename}-security"; // Rozšířená údržba zabezpečení; nemusí nutně existovat pro // každé vydání a tento systém jej nemusí mít nainstalovaný, ale pokud je // k dispozici, zásady pro aktualizace jsou takové, že by se odtud měly // ve výchozím nastavení instalovat i bezobslužné aktualizace. "${distro_id}ESMApps:${distro_codename}-apps-security"; "${distro_id}ESM:${distro_codename}-infra-security";// "${distro_id}:${distro_codename}-updates";// "${distro_id}:${distro_codename}-proposed";/ / "${distro_id}:${distro_codename}-backports";};
- První původ
"${distro_id}:${distro_codename}"
je nezbytný, protože aktualizace zabezpečení mohou získat nové závislosti ze zdrojů, které se netýkají zabezpečení. Tento původ neposkytuje aktualizace softwaru. - Druhý zdroj je pro pravidelné aktualizace zabezpečení.
- Třetí a čtvrtý zdroj (ESMApps a ESM) jsou pro rozšířenou údržbu zabezpečení, tedy pro ty, kteří používají vydání Ubuntu, které dosáhlo konce životnosti. Můžete to nechat tak, jak je.
E-mailové upozornění
Někdy Ubuntu může selhat při instalaci aktualizací zabezpečení, takže je vyžadována ruční aktualizace. Pokud chcete dostávat e-mailová upozornění po každé aktualizaci zabezpečení, vyhledejte následující řádek a odkomentujte jej. (Odstraňte dvojitá lomítka na začátku.)
Ubuntu 18.04
//Unattended-Upgrade::Mail "root";
Ubuntu 20.04
//Unattended-Upgrade::Mail "";
Můžete zadat e-mailovou adresu pro příjem oznámení, jak je uvedeno níže.
Unattended-Upgrade::Mail "[email protected]";
Pokud chcete dostávat e-mailová upozornění pouze v případě, že během aktualizace zabezpečení dojde k chybě, odkomentujte následující řádek.
Ubuntu 18.04
//Unattended-Upgrade::MailOnlyOnError "true";
Na Ubuntu 20.04 musíte najít následující řádek
//Unattended-Upgrade::MailReport "on-change";
Odkomentujte a změňte při změně na
Unattended-Upgrade::MailReport "only-on-error";
Automaticky odstranit nepoužívané závislosti
Pravděpodobně budete muset provést sudo apt autoremove
po každé aktualizaci vyhledejte následující řádek:
//Unattended-Upgrade::Remove-Unused-Dependencies "false";
Odkomentujte tento řádek a změňte false
true
.
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Automatické restartování
Když je nainstalována aktualizace zabezpečení pro jádro Linuxu, musíte restartovat server Ubuntu, abyste mohli použít aktualizaci jádra. Pokud server používáte pouze vy nebo několik lidí, může být pohodlné automatické restartování. Najděte následující řádek.
//Unattended-Upgrade::Automatic-Reboot "false";
Odkomentujte jej a změňte false
true
pro povolení automatického restartu
Unattended-Upgrade::Automatic-Reboot "true";
Můžete také určit čas, kdy bude restart proveden. Ve výchozím nastavení se restart provádí ihned po instalaci aktualizace jádra. Nastavil jsem, aby se restartoval ve 4 ráno. Ujistěte se, že jste pro váš server nastavili správné časové pásmo.
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
Uložte a zavřete soubor.
Pokud server používá mnoho uživatelů nebo vyžaduje vysokou dobu provozu (jako například tento blog), neměli byste povolovat automatické restartování. Místo toho můžete použít Canonical livepatch k opravě linuxového jádra bez restartu.
- Canonical LivePatch Service:Oprava linuxového jádra na Ubuntu bez restartu
Povolit automatickou aktualizaci zabezpečení
Nyní, když je nakonfigurována automatická aktualizace zabezpečení, musíme ji povolit vytvořením 20auto-upgrades
soubor.
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
Zkopírujte a vložte následující dva řádky do souboru.
APT::Periodic::Update-Package-Lists "1";APT::Periodic::Unattended-Upgrade "1";
- První řádek znamená
apt
proveďte „apt-get update
“ automaticky každý den. Pokud je nastaveno na 2, pak každý druhý den. (0=vypnuto) - Druhý řádek znamená
apt
pro automatickou instalaci aktualizací zabezpečení. (1=povoleno, 0=vypnuto)
Uložte a zavřete soubor.
Spustit bezobslužný upgrade v určitou dobu
Bezobslužná aktualizace se spouští náhodně mezi 12:00 a 7:00, aby se zabránilo prudkému nárůstu zatížení zrcadlových serverů kvůli tomu, že všichni spouštějí aktualizace ve stejnou dobu. Bezobslužný upgrade můžete spustit ručně pomocí:
sudo unattended-upgrade -v
Tento příkaz můžete také přidat do své úlohy Cron.
sudo crontab -e
Přidejte následující řádek na konec souboru Crontab, takže bezobslužný upgrade bude probíhat každý den ve 2:00.
0 2 * * * sudo /usr/bin/unattended-upgrade -v
Nastavení relé SMTP
Abyste mohli dostávat e-mailová upozornění po každé aktualizaci zabezpečení, váš server musí být schopen odesílat e-maily. Pokud je toto váš e-mailový server, pak zbývá pouze nainstalovat bsd-mailx
balíček.
sudo apt install bsd-mailx
Pokud se nejedná o e-mailový server, musíte nastavit přenos SMTP. Můžeme nainstalovat Postfix SMTP server a poté předávat e-maily prostřednictvím poskytovatelů e-mailových služeb.
Existuje několik poskytovatelů e-mailových služeb (ESP), který může fungovat jako přenosový hostitel. Některé účtují malý poplatek, některé nabízejí kvóty zdarma každý měsíc. V tomto článku bych vám rád ukázal, jak používat Sendinblue, což je poskytovatel e-mailových služeb, který vám umožňuje zdarma odeslat 300 e-mailů denně.
Vytvořte si bezplatný účet na sendinblue.com. Jakmile dokončíte svůj uživatelský profil, klikněte na Transactional
zobrazíte nastavení SMTP. Pokud neexistuje žádné nastavení SMTP, musíte kontaktovat zákaznický servis Sendinblue, abyste mohli aktivovat transakční e-mailovou službu.
Nyní musíte nakonfigurovat váš Postfix SMTP server tak, aby používal nastavení Sendinblue SMTP.
Nainstalujme Postfix SMTP server na Ubuntu pomocí následujícího příkazu.
sudo apt install postfix libsasl2-modules
Až uvidíte následující zprávu, stiskněte klávesu Tab a stiskněte Enter.
Poté zvolte druhou možnost:Internet Site
.
Dále nastavte název systémové pošty. Například zadám název své domény linuxbabe.com
.
Po instalaci Postfixu otevřete hlavní konfigurační soubor pomocí textového editoru příkazového řádku, jako je Nano.
sudo nano /etc/postfix/main.cf
Najděte následující řádek.
relayhost =
Ve výchozím nastavení je jeho hodnota prázdná. Nastavte hodnotu relayhost
na [smtp-relay.sendinblue.com]:587
.
relayhost =[smtp-relay.sendinblue.com]:587
Poté přidejte následující řádky na konec tohoto souboru.
# konfigurace odchozího přenosusmtp_sasl_auth_enable =yessmtp_sasl_password_maps =hash:/etc/postfix/sasl_passwdsmtp_sasl_security_options =noanonymoussmtp_tls_security_level =mayheader_size=06 =0409Uložte a zavřete soubor. Poté vytvořte
/etc/postfix/sasl_passwd
soubor.sudo nano /etc/postfix/sasl_passwdPřidejte hostitele přenosu SMTP a přihlašovací údaje SMTP do tohoto souboru, jak je uvedeno níže. Nahraďte
smtp_username
asmtp_password
s vaším vlastním uživatelským jménem a heslem, které vám poskytne SendinBlue. Všimněte si, že mezi uživatelským jménem a heslem je dvojtečka.[smtp-relay.sendinblue.com]:587 smtp_username:smtp_passowrdUložte a zavřete soubor. Poté vytvořte odpovídající hash db soubor pomocí
postmap
.sudo postmap /etc/postfix/sasl_passwdNyní byste měli mít soubor
/etc/postfix/sasl_passwd.db
. Restartujte Postfix, aby se změny projevily.sudo systemctl restart postfixVe výchozím nastavení
sasl_passwd
asasl_passwd.db
soubor může číst každý uživatel na serveru. Změňte oprávnění na 600, aby tyto dva soubory mohl číst a zapisovat pouze root.sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.dbOd této chvíle bude Postfix posílat e-maily přes Sendinblue.
Přidat adresy odesílatelů
Klikněte na rozbalovací nabídku v pravém horním rohu řídicího panelu účtu Sendinblue a vyberte možnost Odesilatelé a adresy IP přidejte svou doménu a adresu odesílatele.
Odeslání zkušebního e-mailu
Nyní můžeme odeslat testovací e-mail pomocí
mailx
příkaz jako níže.sudo apt install bsd-mailxecho "toto je testovací e-mail." | mailx -r from-address -s hello to-addressPokud jsou konfigurace SMTP správné, obdržíte e-mail.
E-mail se neodesílá?
Můžete zkontrolovat protokol pošty (
/var/log/mail.log
), abyste ladili, proč se e-mail neodesílá.Pokud hostitele přenosu zabalíte do hranatých závorek v
/etc/postfix/main.cf
soubor.relayhost =[smtp-relay.sendinblue.com]:587Potom také musíte zabalit název hostitele do
/etc/postfix/sasl_passwd
soubor.[smtp-relay.sendinblue.com]:587 [e-mail chráněný]:Vaše heslo GmailNezapomeňte znovu vygenerovat hash db soubor.
sudo postmap /etc/postfix/sasl_passwdRestartujte Postfix, aby se změny projevily.
sudo systemctl restart postfixZakázat přijímání e-mailů
Standardně je Postfix nakonfigurován tak, aby přijímal příchozí poštu. Postfix můžete nakonfigurovat tak, aby pouze posílal e-maily, ale nepřijímal žádné příchozí e-maily. Najděte následující řádek v
/etc/postfix/main.cf
soubor.inet_interfaces =allZměňte jej na následující text, aby Postfix naslouchal pouze na localhost.
inet_interfaces =pouze zpětná smyčkaE-mailový přehled
Existují 3 možné e-maily zaslané bezobslužným upgradem:
- Vrácený bezobslužný upgrade:Pravda. To znamená, že balíčky jsou úspěšně nainstalovány.
- Vrácený bezobslužný upgrade:False. To znamená, že při instalaci aktualizací došlo k nějaké chybě. Obvykle vyžaduje lidský zásah. Pokud obdržíte tento e-mail, musíte ručně spustit
sudo apt upgrade
. - Vrácen bezobslužný upgrade:Žádný. Jsou k dispozici aktualizace, ale systém je odmítl nainstalovat.
Protokoly
Protokoly lze nalézt v /var/log/unattended-upgrades/
adresář.
Zaškrtněte možnost Restartovat
checkrestart
vám může pomoci zjistit, které procesy je třeba po upgradu restartovat. Je dostupný z debian-goodies
balíček.
sudo apt install debian-goodiessudo checkrestart