Server Ubuntu: Automatické provádění (bezpečnostních) aktualizací

Ruční aktualizace systému

Při přihlášení na server se v konzoli pravidelně objevuje hlášení systému:

32 packages can be updated.
23 updates are security updates.

V tomto okamžiku je doporučeno provést aktualizaci balíčků systému:

$ sudo apt-get update
$ sudo apt-get upgrade
$ reboot

Automatická aktualizace

Na serveru Ubuntu lze jednoduše nastavit stahování a instalaci aktualizací automaticky.

Řešením je tzv. unattended upgrades – upgrade bez dozoru.

Instalace

$ sudo apt-get install -y unattended-upgrades

Nastavení

Soubor: /etc/apt/apt.conf.d/50unattended-upgrades

Nastavení pro aktualizaci jen bezpečnostních aktualizací

Unattended-Upgrade::Allowed-Origins {
 "${distro_id}:${distro_codename}-security";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};

(Pokud chcete aktualizovat i ostatní typy balíčku, odkomentujte další řádky.)

Povolíme automatický restart systému:

Unattended-Upgrade::Automatic-Reboot "true";

Povolíme provádění aktualizace po malých částěch:

Unattended-Upgrade::MinimalSteps "true";

Můžeme zvolit čas restartu (ideálně v nočních hodinách):

Unattended-Upgrade::Automatic-Reboot-Time "02:00";

Můžeme nastavit emailovou adresu pro zaslání zpráv o výsledcích aktualizací:

Unattended-Upgrade::Mail "info@zooom.cz";

Nakonec nastavíme četnost provádění automatické aktualizace 1x za den:

Soubor: /etc/apt/apt.conf.d/10periodic

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

Hotovo!

O provádění položek „Periodic“ se stará soubor /etc/cron.daily/apt.

Informace o provedených aktualizacích jsou logovány do souboru /var/log/unattended-upgrades.

 

Linuxový server: Cron – automaticky prováděné úlohy v linuxu

Cron je nástroj – plánovač úloh, který v operačních systémech automaticky spouští zadaný příkaz, skript či program v předem nastaveném čase a intervalu. Pokračování textu Linuxový server: Cron – automaticky prováděné úlohy v linuxu

Let’s Encrypt – zabezpečení webu SSL certifikátem ZDARMA na serveru Apache na Ubuntu

Instalace potřebných balíčků

$ sudo apt-get update
$ sudo apt-get install git

Instalace Let’s Encrypt

$ sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

Vystavení SSL certifikátu

$ cd /opt/letsencrypt
$ ./letsencrypt-auto --apache -d example.com -d www.example.com

Vygenerované soubory certifikátu najdeme ve složce: /etc/letsencrypt/live

Seznam domén s vysavenými certifikáty na serveru

/etc/letsencrypt/live

Ověření nastavení a stavu SSL certifikátu

https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

Obnovení platnosti certifikátu (renew)

$ cd /opt/letsencrypt
$ ./letsencrypt-auto certonly --apache --renew-by-default -d example.com -d www.example.com
$ service apache2 restart

Automatické obnvení platnosti certifikátu

Certifikáty Let’s Encrypt mají platnost 90 dnů. Je však doporučeno provádět obnovení pro jistotu již po 60 dnech.

Řešením je nastavit cron, který bude obnovení provádět automaticky.

Shell skript (ke stažení zde, případně zde): ověří datum expirace SSL certifikátu vystaveného pro danou doménu a v případě potřeby provede prodloužení certifikátu. Skript bude spouštěn v pravidelných intervalech 1x za týden.

Stažení skriptu a nastavení přístupových práv k souboru:

$ sudo curl -L -o /usr/local/sbin/le-renew http://do.co/le-renew
$ sudo chmod +x /usr/local/sbin/le-renew

Ruční spuštění skriptu

$ sudo le-renew example.com

Automatické spouštění skriptu

Přidáme nový úkol do tabulky cronu, který jendou týdně skript spustí.

Editace tabulky cronu:

$ sudo crontab -e

Pro každou zabezpečenou doménu přidáme řádek:

30 2 * * 1 /usr/local/sbin/le-renew example.com >> /var/log/le-renew.log

Aktualizace klienta Let’s Encrypt

V případě vydání nové verze klienta Let’s Encrypt je vhodné provést jeho aktualizaci na serveru:

$ cd /opt/letsencrypt
$ sudo git pull

Zdroje