Úvod do Redis
Redis představuje vysoce výkonné datové úložiště, které pro uchovávání informací využívá operační paměť (in-memory). Tato technologie je navržena tak, aby umožňovala extrémně rychlé operace čtení a zápisu dat, což z ní činí ideální volbu pro aplikace s vysokými nároky na rychlost a odezvu. Redis se uplatňuje v mnoha oblastech, jako je ukládání do vyrovnávací paměti, správa front zpráv, budování sociálních sítí nebo vývoj her.
V tomto průvodci si krok za krokem ukážeme, jak nainstalovat a zabezpečit databázi Redis na operačním systému Rocky Linux 8. Probereme instalaci potřebných softwarových balíčků, konfiguraci databáze Redis, ověření správné instalace a aplikaci klíčových bezpečnostních opatření.
Postup instalace Redis
1. Aktualizace softwaru
Před zahájením instalace nového softwaru je vždy vhodné provést aktualizaci systému, abyste měli k dispozici nejaktuálnější verze balíčků. Spusťte následující příkaz v terminálu:
sudo dnf update -y
2. Instalace Redis
Redis je dostupný v oficiálních repozitářích pro Rocky Linux 8. Pro instalaci použijte tento příkaz:
sudo dnf install redis -y
3. Spuštění služby Redis
Po úspěšné instalaci aktivujte službu Redis následujícím příkazem:
sudo systemctl start redis
4. Povolení automatického spouštění Redis
Pro zajištění, že se Redis automaticky spustí po každém restartu systému, použijte tento příkaz:
sudo systemctl enable redis
Konfigurace Redis
1. Úprava konfiguračního souboru
Konfigurační soubor pro Redis se nachází v cestě /etc/redis.conf
. Pro jeho úpravu použijte textový editor, například vi:
sudo vi /etc/redis.conf
2. Změna portu
Ve výchozím nastavení naslouchá Redis na portu 6379. Tento port lze změnit úpravou direktivy port
v konfiguračním souboru:
port 6379
3. Nastavení hesla pro přístup
Z bezpečnostních důvodů je důležité chránit přístup k Redis heslem. Přidejte do konfiguračního souboru následující řádek, přičemž heslo
nahraďte vaším zvoleným heslem:
requirepass heslo
4. Uložení změn
Po provedení změn uložte soubor a ukončete textový editor.
Testování instalace Redis
1. Připojení k Redis
Pro ověření funkčnosti se můžete k Redis připojit pomocí klienta Redis CLI, a to příkazem:
redis-cli
Pokud se zobrazí výzva Redis, instalace byla úspěšná.
2. Autentizace heslem
Pokud jste nastavili heslo, budete vyzváni k jeho zadání:
Enter password:
Zadejte své heslo a potvrďte stisknutím klávesy Enter.
3. Test zápisu hodnoty
Pro otestování ukládání hodnot zadejte do klienta následující příkaz:
set mykey myvalue
4. Test čtení hodnoty
Pro načtení uložené hodnoty použijte příkaz:
get mykey
V konzoli byste měli vidět výstup myvalue
.
Zabezpečení databáze Redis
1. Pravidelná aktualizace
Pro ochranu před známými zranitelnostmi je nutné pravidelně aktualizovat Redis. Aktualizaci provedete příkazem:
sudo dnf update redis -y
2. Omezení přístupu
Přístup k databázi Redis můžete omezit na konkrétní IP adresy, a to pomocí direktivy bind
v konfiguračním souboru Redis:
bind 127.0.0.1 ::1
Tím zajistíte, že Redis bude dostupný pouze z lokálního počítače.
3. Nastavení soukromého klíče
Pro ověřování klientů se můžete také rozhodnout pro nastavení soukromého klíče. Do konfiguračního souboru přidejte následující řádky:
tls-auth-clients yes
tls-cert-file /etc/pki/tls/certs/server.crt
tls-key-file /etc/pki/tls/private/server.key
4. Záznam událostí (logování)
Pro účely ladění a auditování je možné aktivovat logování událostí. Toho dosáhnete přidáním následujících řádků do konfiguračního souboru:
loglevel notice
logfile /var/log/redis/redis.log
Závěr
V tomto návodu jsme si prošli celý proces instalace a zabezpečení databáze Redis na Rocky Linux 8. Zahrnovalo to instalaci samotné databáze, nastavení její konfigurace, ověření správné funkčnosti a aplikaci důležitých bezpečnostních opatření. Dodržováním těchto kroků zajistíte, že bude vaše instance Redis bezpečná a spolehlivá.
Často kladené otázky
1. Jaký je výchozí port pro Redis?
Standardně Redis naslouchá na portu 6379.
2. Jak se nastavuje heslo pro Redis?
Heslo pro Redis se nastavuje pomocí řádku requirepass
v konfiguračním souboru /etc/redis.conf
.
3. Jak se omezí přístup k Redis na konkrétní IP adresy?
Přístup k Redis se omezuje pomocí direktivy bind
v konfiguračním souboru.
4. Jak se zapíná logování událostí v Redis?
Logování se zapíná nastavením loglevel
na notice
a specifikováním cílového souboru logfile
v konfiguračním souboru.
5. Co je to Redis Sentinel?
Redis Sentinel je nástroj pro správu clusteru databáze Redis, který sleduje a řídí servery Redis, zajišťuje vysokou dostupnost a odolnost proti výpadkům.
6. Jak se nastavuje trvalé ukládání dat v Redis?
Trvalé ukládání dat (persistence) se konfiguruje pomocí direktivy save
v konfiguračním souboru Redis.
7. Co je replikace v Redis?
Replikace v Redis umožňuje vytváření kopií dat na různých serverech, což zajišťuje redundanci a snižuje riziko ztráty dat.
8. Jak se monitoruje výkon Redis?
Výkon databáze Redis lze monitorovat pomocí nástrojů jako Redis-cli nebo RedisInsight.
9. Je Redis vhodný pro aplikace, které kladou vysoké nároky na zabezpečení?
Redis bez adekvátních bezpečnostních opatření není vhodný pro aplikace s vysokými nároky na zabezpečení. Doporučuje se nastavit heslo, omezit přístup a aktivovat logování.
10. Jaké jsou alternativy k Redis?
Mezi alternativy k Redis patří například Memcached, MongoDB nebo Cassandra.