GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat a zabezpečit Memcached na Ubuntu 18.04

Memcached je bezplatný, vysoce výkonný a distribuovaný systém ukládání objektů do mezipaměti napsaný v jazyce C. Používá se pro zrychlení dynamických databází řízených webových stránek ukládáním dat a objektů do mezipaměti RAM. Memcached funguje tak, že ukládá obsah tabulky databáze webových stránek a dotazů do paměti, čímž výrazně zvyšuje výkon webových stránek. Pomocí Memcached můžete vytvořit a nasadit vysoce škálovatelné a vysoce výkonné webové stránky. Memcached nyní používá mnoho společností včetně Facebooku, Redditu, Wikipedie, Craigslist, Yellowbot, YouTube a dalších.

V tomto tutoriálu vysvětlíme podrobné pokyny, jak nainstalovat a zabezpečit Memcache na Ubuntu 18.04 VPS.

Předpoklady

  • Nový server Ubuntu 18.04 VPS na Atlantic.Net Cloud.
  • Na vašem VPS je nastaveno heslo uživatele root.

Krok 1 – Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému serveru Atlantic.Net Cloud. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte ke svému serveru Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

Krok 2 – Instalace Apache a PHP

Nejprve budete muset nainstalovat webový server Apache a PHP na váš server. Můžete je nainstalovat pomocí následujícího příkazu:

apt-get install apache2 php php-dev php-pear libapache2-mod-php  -y

Jakmile jsou všechny balíčky nainstalovány, spusťte webový server Apache a povolte jeho spuštění po restartu systému pomocí následujícího příkazu:

systemctl spustí apache2systemctl povolí apache2

Krok 3 – Instalace Memcached

apt-get install memcached libmemcached-tools php-memcached -y

Po instalaci musíte restartovat službu Apache, aby se změny projevily:

systemctl restartujte apache2

Dále můžete zkontrolovat stav služby Memcached pomocí následujícího příkazu:

stav systemctl memcached

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

● memcached.service – démon memcached   Načteno:načteno (/lib/systemd/system/memcached.service; povoleno; přednastaveno dodavatelem:povoleno)   Aktivní:aktivní (běží) od pá 2019-08-30 09:30:02 UTC; Před 41 s     Dokumenty:muž:memcached(1) Hlavní PID:19088 (memcached)    Úkoly:10 (limit:1114)   CGroup:/system.slice/memcached.service             └8/1219 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pidAug 30 09:30:02 ubuntu1804 systemd[1]:Spuštěn démon memcached.
netstat -plunt | grep memcached

Výstup:

tcp        0      0 127.0.0.1:11211         0.0.0.0:*               POSLECHNOUT      19088/memcached

Můžete také zkontrolovat aktuální statistiky vašeho serveru Memcached pomocí následujícího příkazu:

echo "nastavení statistik" | nc localhost 11211

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

STAT maxbytes 67108864STAT maxconns 1024STAT tcpport 11211STAT udpport 0STAT inter 127.0.0.1STAT verbosity 0STAT oldest 0STAT evictions onSTAT domain_socket NULLSTAT umask 700STAT growth_factor 1.25STAT chunk_size 48STAT num_threads 4STAT num_threads_per_udp 4STAT stat_key_prefix :STAT detail_enabled noSTAT reqs_per_event 20STAT cas_enabled yesSTAT tcp_backlog 1024STAT binding_protocol auto- vyjednávat

Krok 4 – Konfigurace Memcached

Výchozí konfigurační soubor Memcache je umístěn na /etc/memcached.conf. Nyní otevřete konfigurační soubor Memcached a nastavte Memcached tak, aby naslouchal na localhost (127.0.0.1) s 2 GB paměti a umožňoval maximálně 1000 připojení:

nano /etc/memcached.conf

Proveďte následující změny:

# Spusťte memcached jako démona. Tento příkaz je implicitní a není potřeba pro výstup-d# Log memcached do /var/log/memcachedlogfile /var/log/memcached.log# memory-m 2048# Výchozí připojovací port je 11211-p 11211# Spusťte démona jako vykořenit. Start-memcached se standardně spustí jako root, pokud v tomto konfiguračním souboru není přítomen příkaz no# -u-u memcache# Určete, na které IP adrese se má naslouchat. Výchozí nastavení je poslouchat na všech IP adresách-l 127.0.0.1# Omezit počet současných příchozích připojení. Výchozí nastavení démona je 1024-c 500# Použijte soubor pidfile-P /var/run/memcached/memcached.pid

Uložte a zavřete soubor. Potom restartujte službu Memcached a použijte změny:

systemctl restart memcached

Krok 5 – Test Memcached

Memcached je nyní nainstalován a spuštěn. Dále zkontrolujte, zda je povoleno rozšíření Memcache PHP a zda funguje správně. Chcete-li tak učinit, vytvořte soubor info.php v kořenovém adresáři Apache:

nano /var/www/html/info.php

Přidejte následující řádky:

Uložte a zavřete soubor. Poté otevřete webový prohlížeč a zadejte adresu URL http://ip-vaseho-serveru/info.php. Měli byste získat následující stránku s povoleným Memcached:

Je dobrou praxí odstranit soubor info.php po testování, abyste ochránili svůj server před hackery.

Rm -rf /var/www/html/info.php

Krok 6 – Zabezpečení Memcached pomocí SASL

Bez jakéhokoli zabezpečení může Memcached přispět k útokům typu Denial of Service. Doporučuje se zabezpečit Memcached podporou SASL a autentizací uživatele.

Nejprve zkontrolujte připojení Memcached bez jakéhokoli zabezpečení spuštěním následujícího příkazu:

memcstat --servers="127.0.0.1"

Výstup:

Server:127.0.0.1 (11211)             pid:16805             doba provozu:764               čas:1566107468 . . . 1                                    až 1   

Dále otevřete konfigurační soubor Memcached a povolte podporu SASL a podrobné protokolování pomocí následujícího příkazu:

nano /etc/memcached.conf

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

-S-vv

Uložte a zavřete soubor. Potom restartujte službu Memcached:

systemctl restart memcached

Dále zkontrolujte protokol Memcached a zkontrolujte, zda byla povolena podpora SASL:

journalctl -u memcached

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

18. srpna 05:52:37 hitesh30 09:47:14 ubuntu1804 systemd-memcached-wrapper[19941]:Inicializováno SASL.

Poté znovu zkontrolujte připojení Memcached pomocí následujícího příkazu:

memcstat --servers="127.0.0.1"

Neměli byste získat žádný výstup; to znamená, že v Memcached byla povolena podpora SASL.

Dále budete muset přidat ověřeného uživatele pro Memcached.

Chcete-li to provést, nejprve nainstalujte balíček SASL pomocí následujícího příkazu:

apt-get install sasl2-bin -y

Po instalaci vytvořte adresář a soubor pro konfiguraci SASL:

mkdir /etc/sasl2nano /etc/sasl2/memcached.conf

Přidejte následující řádky:

mech_list:plainlog_level:5sasldb_path:/etc/sasl2/memcached-sasldb2

Uložte a zavřete soubor. Poté vytvořte databázi SASL s uživatelem s názvem memcacheadmin pomocí následujícího příkazu:

saslpasswd2 -a memcached -c -f /etc/sasl2/memcached-sasldb2 user1

Budete vyzváni k zadání hesla:

Heslo:Znovu (pro ověření):

Dále změňte vlastnictví databáze SASL:

chown memcache:memcache /etc/sasl2/memcached-sasldb2

Nakonec restartujte službu Memcached, abyste použili změny konfigurace:

systemctl restart memcached

Dále znovu zkontrolujte připojení Memcached pomocí našich ověřovacích údajů:

memcstat --servers="127.0.0.1" --username=user1 [email protected]

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

Server:127.0.0.1 (11211)             pid:18776             doba provozu:30               čas:1. doba před 2.                     

To znamená, že Memcached je nyní zabezpečený podporou SASL a autentizací uživatele.


Linux
  1. Jak nainstalovat a zabezpečit Redis na Ubuntu 20.04

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

  3. Jak nainstalovat a nakonfigurovat Elasticsearch na Ubuntu 18.04

  1. Jak nainstalovat Memcached na Ubuntu 16.04 / 14.04 / LinuxMint 18 / 17

  2. Jak nainstalovat a zabezpečit MongoDB 4 v CentOS 8

  3. Jak nainstalovat a nakonfigurovat Fail2ban na Ubuntu?

  1. Jak nainstalovat a zabezpečit phpMyAdmin na Ubuntu

  2. Jak nainstalovat PHP 7.4 a 8.0 na Ubuntu 18.04 nebo 20.04

  3. Jak nainstalovat Anaconda na Ubuntu 18.04 a 20.04