GNU/Linux >> Znalost Linux >  >> Debian

Nainstalujte a zabezpečte Redis Server na Debian 10

Redis také známý jako "Remote Dictionary Server" je open-source a in-memory databáze, kterou lze použít jako databázi, mezipaměť a zprostředkovatele zpráv. Redis podporuje různé datové struktury, jako jsou řetězce, hash, seznamy, sady a mnoho dalších. Redis je napsán v programovacím jazyce C a funguje ve většině systémů POSIX, jako je Linux, Free BSD a OS X. Redis je schopen spouštět tisíce příkazů za sekundu. Redis přichází s bohatou sadou funkcí včetně replikace, automatického převzetí služeb při selhání, skriptování Lua, vyřazení klíčů LRU, transakcí a mnoha dalších.

V tomto tutoriálu se naučíme, jak nainstalovat a zabezpečit Redis na serveru Debian 10.

Požadavky

  • Server se systémem Debian 10.
  • Na vašem serveru je nastaveno heslo uživatele root.

Začínáme

Než začnete, budete muset aktualizovat svůj systém na nejnovější verzi. Můžete to provést spuštěním následujícího příkazu:

apt-get update -y
apt-get upgrade -y

Jakmile je váš server aktualizován, restartujte server, aby se změny projevily.

Nainstalovat Redis

Ve výchozím nastavení je Redis k dispozici v úložišti Debian 10. Můžete jej nainstalovat pouhým spuštěním následujícího příkazu:

apt-get install redis-server -y

Po instalaci Redis spusťte službu Redis a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl start redis-server
systemctl enable redis-server

Stav serveru Redis můžete také ověřit pomocí následujícího příkazu:

systemctl status redis-server

Měli byste získat následující výstup:

? redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-09-06 05:57:45 EDT; 4s ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
  Process: 2284 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
 Main PID: 2285 (redis-server)
    Tasks: 4 (limit: 1138)
   Memory: 6.8M
   CGroup: /system.slice/redis-server.service
           ??2285 /usr/bin/redis-server 127.0.0.1:6379

Sep 06 05:57:45 debian systemd[1]: Starting Advanced key-value store...
Sep 06 05:57:45 debian systemd[1]: redis-server.service: Can't open PID file /run/redis/redis-server.pid (yet?) after start: No such file or di
Sep 06 05:57:45 debian systemd[1]: Started Advanced key-value store.

Ve výchozím nastavení Redis naslouchá na localhost na portu 6379. Můžete to zkontrolovat pomocí následujícího příkazu:

ps -ef | grep redis

Měli byste vidět následující výstup:

redis     2285     1  0 05:57 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root      2294   706  0 05:59 pts/0    00:00:00 grep redis

Dále otestujte připojení Redis pomocí následujícího příkazu:

redis-cli

Měli byste vidět následující výstup:

127.0.0.1:6379> 

Nyní zkontrolujte připojení Redis pomocí příkazu ping:

127.0.0.1:6379> ping

Pokud je vše v pořádku, měli byste vidět následující výstup:

PONG

Jakmile skončíte. Můžete přejít k dalšímu kroku.

Konfigurovat Redis jako mezipaměť

Redis můžete nakonfigurovat jako mezipaměť úpravou souboru /etc/redis/redis.conf:

nano /etc/redis/redis.conf

Na konec souboru přidejte následující řádky:

maxmemory 64mb
maxmemory-policy allkeys-lru

Když je dosaženo maximální paměti 64 MB. Redis odstraní jakýkoli klíč podle algoritmu LRU. Po dokončení uložte a zavřete soubor. Poté restartujte službu Redis pomocí následujícího příkazu:

systemctl restart redis-server

Jakmile skončíte. Můžete přejít k dalšímu kroku.

Konfigurovat Redis Authentication

Ve výchozím nastavení můžete v prostředí Redis spustit jakýkoli příkaz. Proto se doporučuje nakonfigurovat Redis Authentication pro klienty tak, aby před spuštěním jakýchkoli příkazů vyžadovali heslo. Ověřování heslem můžete nakonfigurovat přímo v konfiguračním souboru Redis. Chcete-li tak učinit, otevřete soubor /etc/redis/redis.conf pomocí vašeho preferovaného editoru:

nano /etc/redis/redis.conf

V části SECURITY najděte následující řádek:

# requirepass foobared

Zrušte komentář a nahraďte jej požadovaným heslem, jak je znázorněno níže:

requirepass AlsW34%#df

Po dokončení uložte a zavřete soubor. Poté restartujte službu Redis, abyste použili změny konfigurace:

systemctl restart redis-server

Nyní otevřete prostředí Redis pomocí následujícího příkazu:

redis-cli

Nyní spusťte následující příkaz bez ověření:

127.0.0.1:6379> INFO server

To nebude fungovat, protože se neověříte. Měla by se zobrazit následující chyba:

NOAUTH Authentication required.

Dále spusťte následující příkaz pro ověření pomocí hesla zadaného v konfiguračním souboru Redis:

127.0.0.1:6379> AUTH AlsW34%#df

Měli byste získat následující výstup:

OK

Nyní znovu spusťte předchozí příkaz:

127.0.0.1:6379> INFO server

To proběhne úspěšně a měli byste vidět následující výstup:

# Server
redis_version:5.0.3
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:afa0decbb6de285f
redis_mode:standalone
os:Linux 4.19.0-5-amd64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:8.3.0
process_id:2308
run_id:2cf0470a9492deddf98bcc72fa9ec94e941edf6c
tcp_port:6379
uptime_in_seconds:50
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:7483371
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf

Jakmile skončíte. Můžete přejít k dalšímu kroku.

Přejmenovat konkrétní příkazy

Z bezpečnostních důvodů se doporučuje přejmenovat některé příkazy, které jsou považovány za nebezpečné.

Zde přejmenujeme příkaz "config". Příkaz config se používá k načtení hesla Redis. Podívejme se na příklad:

Nejprve se připojte a ověřte Redis shell pomocí následujícího příkazu:

redis-cli
127.0.0.1:6379> AUTH AlsW34%#df

Dále získejte heslo Redis pomocí následujícího příkazu:

127.0.0.1:6379> config get requirepass

Měli byste získat následující výstup:

1) "requirepass"
2) "AlsW34%#df"
127.0.0.1:6379> 

Příkaz config můžete přejmenovat úpravou souboru /etc/redis/redis.conf:

nano /etc/redis/redis.conf

Najděte následující řádek:

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

Odkomentujte a nahraďte požadovaným řetězcem:

rename-command CONFIG H2sW_Config        

Uložte a zavřete soubor. Poté restartujte službu Redis pomocí následujícího příkazu:

systemctl restart redis-server

Dále se připojte a ověřte Redis shell pomocí následujícího příkazu:

redis-cli
127.0.0.1:6379> AUTH AlsW34%#df

Dále získejte heslo Redis pomocí příkazu config:

127.0.0.1:6379> config get requirepass

Tento příkaz jsme přejmenovali, takže byste měli dostat následující chybu:

(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`, 

Nyní spusťte přejmenovaný příkaz, jak je znázorněno níže:

127.0.0.1:6379> H2sW_Config get requirepass

Měli byste získat následující výstup:

1) "requirepass"
2) "AlsW34%#df"

Nakonec ukončete prostředí Redis pomocí následujícího příkazu:

127.0.0.1:6379> exit

Závěr

Gratulujeme! úspěšně jste nainstalovali a zabezpečili server Redis v Debianu 10. Doufám, že nyní máte dostatek znalostí k zabezpečení serveru Redis pomocí ověřování heslem. Neváhejte se mě zeptat, pokud máte nějaké dotazy.


Debian
  1. Jak nainstalovat a nakonfigurovat OpenVPN Server na Debian 10

  2. Jak nainstalovat a zabezpečit MongoDB na Debian 11

  3. Jak nainstalovat Redis Server na Debian 11

  1. Jak nainstalovat a nakonfigurovat Redis 6.0 na Debian 11

  2. Jak nainstalovat a nakonfigurovat Redis 6 na Debian 11

  3. Jak nainstalovat a zabezpečit Redis na Ubuntu 18.04

  1. Jak nainstalovat a nakonfigurovat VNC na Debian 9

  2. Jak nainstalovat a zabezpečit MariaDB na Debian 11

  3. Jak nainstalovat a nakonfigurovat VNC Server na Debian 10