Wprowadzenie

Redis (skrót od Remote Dictionary Service) jest pamięciową bazą NoSQL przechowującą dane jako pary klucz – wartość.
Dzięki przechowywaniu danych w pamięci RAM charakteryzuje się wysoką wydajnością. W porównaniu do Memcached zapewnia trwałość danych poprzez ich zapis na dysku twardym.
W tym poradniku opiszę jak zainstalować i poprawnie skonfigurować redis-a w systemie Centos 7

Instalacja redis

Aby zainstalować redis musimy najpierw dodać repozytorium Extra Packages for Enterprise Linux (EPEL):

yum install epel-release

 

Następnie instalujemy redis:

yum install redis

Po zainstalowaniu uruchamiamy go i dodajemy do autostartu:

systemctl start redis.service
systemctl enable redis.service

Sprawdzamy czy działa poprawnie:

# service redis status
Redirecting to /bin/systemctl status redis.service
● redis.service - Redis persistent key-value database
   Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/redis.service.d
           └─limit.conf
   Active: active (running) since pią 2018-04-06 17:15:13 CEST; 30s ago
 Main PID: 26425 (redis-server)
   CGroup: /system.slice/redis.service
           └─26425 /usr/bin/redis-server 127.0.0.1:6379

Jeśli redis jest aktywny możemy wysłać do niego ping – otrzymamy odpowiedź PONG:

# redis-cli ping
PONG

Zabezpieczenie redis

Po instalacji warto dokonać przynajmniej podstawowej weryfikacji i zabezpieczenia serwera:

1. W pliku /etc/redis.conf sprawdzamy czy redis nasłuchuje tylko na interfejsie lokalnym – następująca linijka musi być odchaszowana:

bind 127.0.0.1

2. Dodatkowo polecam ustawić hasło dostępu – w tym samym pliku linijkę :

# requirepass foobared

zmieniamy na:

requirepass trudnehaslo

Oczywiście ciąg “trudnehaslo” zmieniamy na losowy ciąg znaków, by był trudny do odgadnięcia.

3. Warto też sprawdzić i poprawić uprawnienia do plików/katalogów:

# ls -l /var/lib | grep redis
drwxr-x--- 2 redis redis 4096 06-20 12:02 redis
# ls -l /etc/redis.conf
-rw-r----- 1 redis root 46729 2017-08-18  /etc/redis.conf

O ile katalog /var/lib/redis ma poprawne uprawnienia, o tyle plik /etc/redis.conf na grupę root, co nie jest zbyt bezpiecznym rozwiązaniem.
Zmieniamy mu grupę:

chown redis:redis /etc/redis.conf

I restartujemy redis – gotowe 🙂

Co więcej?

Przedstawiłem tylko podstawowe metody zabezpieczenia serwera redis .Polecam przejrzeć cały plik /etc/redis.conf, gdyż jest tam wiele ciekawych ustawień jak chociażby poziom logowania, możliwość zmiany poleceń, sposób zapisu do bazy itp.
Odpowiednie dostrojenie serwera może znacząco zwiększyć nie tylko bezpieczeństwo ale też wydajność rozwiązania – warto więc poświęcić na to dłuższą chwilę i zapoznać się z dokumentacją.

Oceń wpis