{"id":20124,"date":"2026-07-29T11:49:51","date_gmt":"2026-07-29T09:49:51","guid":{"rendered":"https:\/\/webhosting.de\/redis-security-offene-ports-absichern-cache-server-fortgeschritten\/"},"modified":"2026-07-29T11:49:51","modified_gmt":"2026-07-29T09:49:51","slug":"bezpieczenstwo-redis-zabezpieczanie-otwartych-portow-serwer-pamieci-podrecznej-zaawansowane","status":"publish","type":"post","link":"https:\/\/webhosting.de\/pl\/redis-security-offene-ports-absichern-cache-server-fortgeschritten\/","title":{"rendered":"Bezpiecze\u0144stwo Redis: unikanie otwartych port\u00f3w i niezabezpieczonych instancji"},"content":{"rendered":"<p>Otwarte porty i niezabezpieczone instancje to najcz\u0119stsze punkty w\u0142amania, je\u015bli chodzi o <strong>bezpiecze\u0144stwo Redis<\/strong> Poka\u017c\u0119 dok\u0142adnie, jak zamykam porty, zabezpieczam instancje i znacznie zmniejszam ryzyko, wprowadzaj\u0105c zaledwie kilka zmian w pliku redis.conf.<\/p>\n\n<h2>Punkty centralne<\/h2>\n\n<p>Aby\u015b m\u00f3g\u0142 szybko zacz\u0105\u0107, zwi\u0119\u017ale podsumuj\u0119 najwa\u017cniejsze aspekty i ustalam priorytety tego, co nale\u017cy zrobi\u0107 w pierwszej kolejno\u015bci. Om\u00f3wi\u0119 typowe b\u0142\u0119dy konfiguracyjne, kt\u00f3re prowadz\u0105 do pozostawienia otwartych port\u00f3w, oraz przedstawi\u0119 praktyczne ustawienia zapewniaj\u0105ce bezpiecze\u0144stwo \u015brodowiska produkcyjnego. Ponadto k\u0142ad\u0119 nacisk na uwierzytelnianie, szyfrowanie i rygorystyczne ograniczenia sieciowe, aby ataki nie przynios\u0142y \u017cadnego skutku. Poni\u017csze punkty stanowi\u0105 Tw\u00f3j plan szybkiego startu, zanim przejd\u0119 do bardziej szczeg\u00f3\u0142owych informacji i przyk\u0142ad\u00f3w.<\/p>\n<ul>\n  <li><strong>Sie\u0107<\/strong> izolowa\u0107: nigdy nie udost\u0119pnia\u0107 Redis publicznie, dost\u0119p tylko z sieci prywatnych.<\/li>\n  <li><strong>Konfiguracja<\/strong> Zabezpieczenia: poprawnie skonfigurowa\u0107 opcje bind, protected-mode, Ports oraz polecenia zmiany nazw.<\/li>\n  <li><strong>Auth<\/strong> wymusi\u0107: requirepass oraz listy kontroli dost\u0119pu (ACL) w celu precyzyjnego przyznawania uprawnie\u0144.<\/li>\n  <li><strong>Szyfrowanie<\/strong> W\u0142\u0105cz: TLS dla transportu, szyfrowanie na poziomie systemu operacyjnego dla trwa\u0142o\u015bci.<\/li>\n  <li><strong>Monitoring<\/strong> &amp; Aktualizacje: logi, alerty, kopie zapasowe, regularne wdra\u017canie nowych wersji.<\/li>\n<\/ul>\n<p>W pierwszej kolejno\u015bci skupiam si\u0119 na zamkni\u0119ciu otwartych <strong>Porty<\/strong>, nast\u0119pnie uwierzytelnianie, a potem szyfrowanie. Potem zajmuj\u0119 si\u0119 rejestrowaniem, tworzeniem kopii zapasowych i aktualizacjami, aby dzia\u0142ania zwi\u0105zane z bezpiecze\u0144stwem przynosi\u0142y trwa\u0142e efekty. Dzi\u0119ki temu powierzchnia ataku pozostaje niewielka, a instancja pozostaje pod twoj\u0105 kontrol\u0105.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/07\/sicherheit-serverraum-3241.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Otwarte porty: ryzyko i typowe sposoby ataku<\/h2>\n\n<p>Otwarty port standardowy 6379 dzia\u0142a jak tabliczka z napisem \u201eProsz\u0119 sprawdzi\u0107 tutaj\u201c. Atakuj\u0105cy automatycznie skanuj\u0105 Internet i testuj\u0105 niezabezpieczone <strong>Wyst\u0105pienia<\/strong> w ci\u0105gu kilku sekund. Bez uwierzytelniania odczytuj\u0105 dane, ustawiaj\u0105 klucze lub \u0142aduj\u0105 modu\u0142y. W praktyce cz\u0119sto prowadzi to do wycieku danych lub uruchomienia kopania kryptowalut. Eliminuj\u0119 to ryzyko poprzez \u015bcis\u0142e ograniczenie dost\u0119pno\u015bci i dopuszczanie wy\u0142\u0105cznie zdefiniowanych adres\u00f3w \u017ar\u00f3d\u0142owych.<\/p>\n\n<h2>Prawid\u0142owe od\u0142\u0105czenie od sieci i ustawienie powi\u0105za\u0144<\/h2>\n\n<p>Pod\u0142\u0105czam Redis <strong>localhost<\/strong> lub do prywatnego adresu IP w podsieci wewn\u0119trznej. W ten spos\u00f3b architektura sieci zapobiega bezpo\u015bredniemu pod\u0142\u0105czeniu us\u0142ugi do publicznej sieci Internet. W konfiguracjach rozproszonych umieszczam w\u0119z\u0142y w prywatnej sieci VLAN lub VPC i udost\u0119pniam dost\u0119p wy\u0142\u0105cznie poprzez VPN lub wewn\u0119trzne po\u0142\u0105czenia peeringowe. Dzi\u0119ki temu ka\u017cdy pakiet pozostaje w kontrolowanych segmentach. To proste rozdzielenie znacznie zmniejsza ryzyko.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/07\/redis_security_meeting_9786.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Konfiguracja w pliku redis.conf: bind, port, protected-mode<\/h2>\n\n<p>Zaczynam od <strong>redis.conf<\/strong>, poniewa\u017c cz\u0119sto ju\u017c kilka wierszy ma decyduj\u0105ce znaczenie. Za pomoc\u0105 polece\u0144 `bind 127.0.0.1` lub `bind 127.0.0.1 10.0.x.y` ograniczam interfejsy. Zmieniam domy\u015blny port, aby utrudni\u0107 proste skanowanie, i pozostawiam w\u0142\u0105czon\u0105 opcj\u0119 \u201eprotected-mode yes\u201d. Dodatkowo zmieniam nazwy niebezpiecznych polece\u0144 lub je wy\u0142\u0105czam. W przypadku cz\u0119stych b\u0142\u0119d\u00f3w konfiguracji pomaga mi poni\u017csza tabela.<\/p>\n\n<table>\n  <thead>\n    <tr>\n      <th><strong>Ustawienie<\/strong><\/th>\n      <th><strong>Ryzyko zwi\u0105zane z nieprawid\u0142ow\u0105 konfiguracj\u0105<\/strong><\/th>\n      <th><strong>Zalecane dzia\u0142anie<\/strong><\/th>\n      <th><strong>Przyk\u0142ad<\/strong><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>bind<\/td>\n      <td>Publiczne <strong>Dost\u0119pno\u015b\u0107<\/strong> dla ka\u017cdego serwera<\/td>\n      <td>Pod\u0142\u0105cz tylko do localhost\/prywatnego adresu IP<\/td>\n      <td>bind 127.0.0.1 10.0.1.50<\/td>\n    <\/tr>\n    <tr>\n      <td>port<\/td>\n      <td>\u0141atwe skanowanie do <strong>6379<\/strong><\/td>\n      <td>Ustawienie alternatywnego portu<\/td>\n      <td>port 6389<\/td>\n    <\/tr>\n    <tr>\n      <td>tryb chroniony<\/td>\n      <td>Nieograniczony dost\u0119p przy otwartej <strong>IP<\/strong><\/td>\n      <td>Pozostaw aktywne<\/td>\n      <td>tryb chroniony: tak<\/td>\n    <\/tr>\n    <tr>\n      <td>polecenie zmiany nazwy<\/td>\n      <td>Nadu\u017cycia o charakterze bardziej krytycznym <strong>Polecenia<\/strong><\/td>\n      <td>Zmieni\u0107 nazw\u0119 czy wy\u0142\u0105czy\u0107<\/td>\n      <td>rename-command CONFIG \u201e\u201c<\/td>\n    <\/tr>\n    <tr>\n      <td>tls-port\/port<\/td>\n      <td>Tekst jawny-<strong>Ruch uliczny<\/strong> dost\u0119pny<\/td>\n      <td>U\u017cywaj wy\u0142\u0105cznie portu TLS<\/td>\n      <td>tls-port 6379 \/ port 0<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<p>Aby uzyska\u0107 bardziej szczeg\u00f3\u0142owe informacje na temat b\u0142\u0119d\u00f3w konfiguracji, odsy\u0142am do poni\u017cszego przegl\u0105du na temat <a href=\"https:\/\/webhosting.de\/pl\/konfiguracja-zabezpieczen-hosting-unikanie-bledow-konfiguracja\/\">Jak unikn\u0105\u0107 b\u0142\u0119d\u00f3w konfiguracyjnych<\/a>. Dodatkowo opatrzam plik komentarzami, aby u\u0142atwi\u0107 jego zrozumienie, co pozwala na szybsze przeprowadzenie p\u00f3\u017aniejszych audyt\u00f3w. Przejrzysta konfiguracja oszcz\u0119dza czas i zapobiega awariom. Nawet niewielkie ulepszenia bezpiecze\u0144stwa przynosz\u0105 tu ogromne korzy\u015bci. To si\u0119 op\u0142aca od razu.<\/p>\n\n<h2>Konsekwentne stosowanie uwierzytelniania i list ACL<\/h2>\n\n<p>Stawiam na siln\u0105 <strong>Uwierzytelnianie<\/strong> zawsze, nawet w sieciach wewn\u0119trznych. Za pomoc\u0105 `requirepass` wymuszam procedur\u0119 uwierzytelniania (AUTH), a has\u0142a zmieniam regularnie. Od wersji Redis 6 korzystam z list kontroli dost\u0119pu (ACL): dzi\u0119ki temu mog\u0119 tworzy\u0107 u\u017cytkownik\u00f3w, zezwala\u0107 tylko na niezb\u0119dne polecenia i ogranicza\u0107 zakres kluczy. Pozwala to na wyra\u017ane rozdzielenie dost\u0119pu do \u015brodowiska produkcyjnego, administracyjnego i analitycznego. Mniejsze uprawnienia oznaczaj\u0105 mniejsze szkody w razie awarii.<\/p>\n\n<h2>Jak unieszkodliwi\u0107 niebezpieczne polecenia<\/h2>\n\n<p>Wiele atak\u00f3w rozpoczyna si\u0119 za pomoc\u0105 pot\u0119\u017cnych <strong>Polecenia<\/strong> takie jak CONFIG, MODULE LOAD czy SLAVEOF\/REPLICAOF. Ograniczam dost\u0119p standardowym u\u017cytkownikom za pomoc\u0105 listy ACL i dezaktywuj\u0119 newralgiczne polecenia za pomoc\u0105 rename-command, ustawiaj\u0105c je na pusty ci\u0105g znak\u00f3w. W ten spos\u00f3b eliminuj\u0119 ca\u0142e \u015bcie\u017cki ataku. Tam, gdzie funkcje s\u0105 mi naprawd\u0119 potrzebne, dokumentuj\u0119 je i ograniczam ich dost\u0119p do kont administracyjnych. Dzi\u0119ki temu instancja pozostaje \u0142atwa w obs\u0142udze i bezpieczna.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/07\/redis-security-offene-ports-2948.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>W\u0142\u0105cz szyfrowanie transmisji za pomoc\u0105 protoko\u0142u TLS<\/h2>\n\n<p>W\u0142\u0105czam TLS, aby nikt nie m\u00f3g\u0142 <strong>Ruch uliczny<\/strong> mo\u017ce podgl\u0105da\u0107 lub manipulowa\u0107 danymi. W konfiguracji ustawiam tls-port, dezaktywuj\u0119 port tekstu jawnego za pomoc\u0105 port 0 oraz wprowadzam certyfikat, klucz i CA. Opcjonalnie sprawdzam certyfikaty klient\u00f3w, aby dodatkowo uwierzytelni\u0107 dost\u0119p urz\u0105dze\u0144. Nowoczesne klienty bez wi\u0119kszego wysi\u0142ku obs\u0142uguj\u0105 protok\u00f3\u0142 TLS. Nast\u0119pnie wszystkie po\u0142\u0105czenia przebiegaj\u0105 przez bezpieczny kana\u0142.<\/p>\n\n<h2>Uniemo\u017cliwi\u0107 odszyfrowanie danych w stanie u\u015bpienia<\/h2>\n\n<p>Je\u015bli chodzi o pliki trwa\u0142e, stawiam na <strong>Szyfrowanie<\/strong> systemu plik\u00f3w. Pliki RDB i AOF s\u0105 wtedy bezpiecznie przechowywane na dysku, nawet je\u015bli kto\u015b spr\u00f3buje odczyta\u0107 zawarto\u015b\u0107 pami\u0119ci masowej. Dane wra\u017cliwe dodatkowo szyfruj\u0119 w aplikacji, zanim przeka\u017c\u0119 je do Redis. Dzi\u0119ki temu nie musz\u0119 przechowywa\u0107 danych w postaci zwyk\u0142ego tekstu w pami\u0119ci podr\u0119cznej. Zmniejsza to ryzyko w przypadku kradzie\u017cy lub nieprawid\u0142owych kopii zapasowych.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/07\/RedisSecurityOffice1234.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Bezpiecze\u0144stwo sieci i zapory sieciowe w praktyce<\/h2>\n\n<p>W\u0142\u0105czam zapor\u0119 sieciow\u0105 hosta i zezwalam na Redis-<strong>Port<\/strong> tylko dla okre\u015blonych zakres\u00f3w adres\u00f3w IP. W chmurze uzupe\u0142niam to o grupy zabezpiecze\u0144, kt\u00f3re precyzyjnie okre\u015blaj\u0105 protoko\u0142y, porty i sieci \u017ar\u00f3d\u0142owe. Ponadto regularnie przeprowadzam skanowanie port\u00f3w, aby wykry\u0107 zapomniane otwarte porty. Wy\u0142\u0105czam zb\u0119dne us\u0142ugi, aby \u017cadne \u201eporty cieniowe\u201d nie pozostawa\u0142y otwarte. Praktyczny poradnik znajdziesz tutaj: <a href=\"https:\/\/webhosting.de\/pl\/konfiguracje-zapory-serwera-zwiekszenie-bezpieczenstwa-hostingu\/\">Konfiguracje zapory sieciowej<\/a>.<\/p>\n\n<h2>Wdro\u017cenie monitorowania, rejestrowania i aktualizacji<\/h2>\n\n<p>Centralnie analizuj\u0119 logi Redis i ustawiam <strong>Alerty<\/strong> na nieudane pr\u00f3by logowania lub podejrzane polecenia. Anomalie wykrywam na wczesnym etapie, \u015bledz\u0105c wska\u017aniki takie jak liczba po\u0142\u0105cze\u0144, liczba polece\u0144 na sekund\u0119 czy op\u00f3\u017anienia. Regularnie planuj\u0119 tworzenie kopii zapasowych i testuj\u0119 proces przywracania danych. Szybko instaluj\u0119 aktualizacje zabezpiecze\u0144, poniewa\u017c cz\u0119sto usuwaj\u0105 one krytyczne luki. Dodatkowo w regularnych odst\u0119pach czasu sprawdzam konfiguracje i dokumentuj\u0119 wszelkie odchylenia.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/07\/RedisSecurityDesks_1234.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Role, uprawnienia i procedury operacyjne<\/h2>\n\n<p>Uruchamiam Redis za pomoc\u0105 <strong>U\u017cytkownik serwisu<\/strong> bez uprawnie\u0144 roota, aby w\u0142amanie nie mia\u0142o wp\u0142ywu na ca\u0142y system. \u015aci\u015ble rozdzielam role: administratorzy, programi\u015bci i operatorzy otrzymuj\u0105 wy\u0142\u0105cznie te uprawnienia, kt\u00f3rych potrzebuj\u0105. Konta aplikacji znajduj\u0105 si\u0119 w oddzielnych profilach ACL i widz\u0105 wy\u0142\u0105cznie swoje prefiksy kluczy. Zmiany dokumentuj\u0119 w spos\u00f3b przejrzysty, aby u\u0142atwi\u0107 przeprowadzanie audyt\u00f3w. Taka struktura zapewnia porz\u0105dek i zmniejsza ryzyko b\u0142\u0119d\u00f3w obs\u0142ugi.<\/p>\n\n<h2>Bezpieczny wyb\u00f3r \u015brodowisk hostowanych<\/h2>\n\n<p>W przypadku ofert typu \u201eManaged\u201d sprawdzam, czy obejmuj\u0105 one ochron\u0119 zapor\u0105 sieciow\u0105, <strong>Izolacja sieciowa<\/strong>, TLS i ACL s\u0105 domy\u015blnie w\u0142\u0105czone. Ponadto dbam o regularne aktualizacje i niezawodny monitoring. Kto potrzebuje wi\u0119kszej wydajno\u015bci i kontroli, powinien rozwa\u017cy\u0107 takie opcje jak <a href=\"https:\/\/webhosting.de\/pl\/redis-wspoldzielony-vs-dedykowany-wydajnosc-bezpieczenstwo-cacheboost\/\">Redis wsp\u00f3\u0142dzielony a Redis dedykowany<\/a> sprawd\u017a. Odpowiednia platforma zmniejsza nak\u0142ad pracy i wype\u0142nia typowe luki. Dzi\u0119ki temu mo\u017cna skupi\u0107 si\u0119 na aplikacji i danych.<\/p>\n\n<h2>Bezpieczne korzystanie z replikacji, klastr\u00f3w i serwer\u00f3w Sentinel<\/h2>\n\n<p>Zabezpieczam replikacj\u0119 i komunikacj\u0119 w klastrze r\u00f3wnie rygorystycznie, jak dost\u0119p klient\u00f3w. Obejmuje to uwierzytelnianie, szyfrowanie oraz prawid\u0142owe zg\u0142aszanie punkt\u00f3w ko\u0144cowych.<\/p>\n<ul>\n  <li>Replikacja: Ustawiam <strong>replica-read-only yes<\/strong>, aby repliki nie zezwala\u0142y na operacje zapisu. W celu uwierzytelnienia zapisuj\u0119 <strong>masteruser<\/strong> oraz <strong>masterauth<\/strong> na replikach i u\u017cywam do tego w\u0142asnych u\u017cytkownik\u00f3w ACL z minimalnymi uprawnieniami.<\/li>\n  <li>Nieaktualne dane: Za pomoc\u0105 <strong>replica-serve-stale-data no<\/strong> Zapobiegam w ten spos\u00f3b sytuacji, w kt\u00f3rej odizolowana replika dostarcza nieaktualne dane. Zapewnia to integralno\u015b\u0107 danych i ogranicza powierzchni\u0119 ataku w partycjach.<\/li>\n  <li>Klaster: W\u0142\u0105czam <strong>tls-cluster yes<\/strong>, aby Gossip-Bus dzia\u0142a\u0142 w trybie szyfrowanym. Ponadto ustawiam <strong>adres IP og\u0142osze\u0144 klastra<\/strong>, <strong>port og\u0142osze\u0144 klastra<\/strong> oraz <strong>port magistrali og\u0142osze\u0144 klastra<\/strong> na adresy\/porty wewn\u0119trzne. W ten spos\u00f3b zapobiegam og\u0142aszaniu przez w\u0119z\u0142y swoich publicznych adres\u00f3w IP.<\/li>\n  <li>Sentinel: R\u00f3wnie\u017c Sentinel dzia\u0142a wy\u0142\u0105cznie w sieciach prywatnych. W przypadku monitorowanych serwer\u00f3w g\u0142\u00f3wnych stosuj\u0119 <strong>sentinel auth-user<\/strong> oraz <strong>sentinel auth-pass<\/strong>. Nie udost\u0119pniam interfejsu administracyjnego na zewn\u0105trz i zezwalam wy\u0142\u0105cznie na dost\u0119p z okre\u015blonych zakres\u00f3w adres\u00f3w IP operator\u00f3w.<\/li>\n  <li>Dost\u0119pno\u015b\u0107 a bezpiecze\u0144stwo: Kalibruj\u0119 <strong>min-replik-do-zapisania<\/strong> oraz <strong>min-replicas-max-lag<\/strong>, aby w przypadku cz\u0119\u015bciowej awarii ostro\u017cnie ogranicza\u0107 operacje zapisu. Chocia\u017c s\u0142u\u017cy to przede wszystkim zapewnieniu sp\u00f3jno\u015bci danych, zapobiega to r\u00f3wnie\u017c nadu\u017cyciom w przypadku b\u0142\u0119d\u00f3w sieciowych.<\/li>\n<\/ul>\n\n<h2>Ochrona przed atakami DoS i ochrona zasob\u00f3w w konfiguracji<\/h2>\n\n<p>Opr\u00f3cz uwierzytelniania i ogranicze\u0144 sieciowych wzmacniam zabezpieczenia Redis przed przeci\u0105\u017ceniem i atakami na pami\u0119\u0107. Dzi\u0119ki temu us\u0142uga dzia\u0142a stabilnie, nawet je\u015bli klienci zachowuj\u0105 si\u0119 nieprawid\u0142owo lub z\u0142o\u015bliwie.<\/p>\n<ul>\n  <li><strong>maxclients<\/strong>: Ograniczam liczb\u0119 jednoczesnych po\u0142\u0105cze\u0144 do realistycznej warto\u015bci z pewnym zapasem. W ten spos\u00f3b zapobiegam przeci\u0105\u017ceniu systemu przez spam po\u0142\u0105czeniowy.<\/li>\n  <li><strong>limit bufora wyj\u015bciowego klienta<\/strong>Dla <em>normalny<\/em>, <em>pubsub<\/em> oraz <em>replika<\/em> wyznaczam \u015bcis\u0142e ograniczenia. Chroni to przed niekontrolowanym wzrostem zajmowanej pami\u0119ci spowodowanym przez powolne urz\u0105dzenia.<\/li>\n  <li><strong>timeout<\/strong> oraz <strong>tcp-keepalive<\/strong>: Nieaktywne po\u0142\u0105czenia od\u0142\u0105czam automatycznie, aby po\u0142\u0105czenia-\u201ezombie\u201d nie zajmowa\u0142y zasob\u00f3w.<\/li>\n  <li><strong>pr\u00f3g monitorowania op\u00f3\u017anienia<\/strong> oraz <strong>slowlog<\/strong>: Aktywuj\u0119 punkty pomiarowe, aby wcze\u015bnie wykrywa\u0107 wzorce nadu\u017cy\u0107 (np. skanowanie KEYS). Powiadomienia o nietypowo d\u0142ugim czasie wykonywania polece\u0144 pomagaj\u0105 w wczesnym wykrywaniu takich sytuacji.<\/li>\n  <li><strong>maxmemory<\/strong> oraz polityka: Ustanawiam <em>maxmemory<\/em>-limit oraz odpowiednia polityka wykluczania. Nie jest to funkcja zabezpieczaj\u0105ca sama w sobie, ale chroni ca\u0142e \u015brodowisko przed sytuacjami braku pami\u0119ci (OOM) i awaryjnymi restartami.<\/li>\n<\/ul>\n\n<h2>ACL-Design: praktyczne wzory i bezpieczne przechowywanie<\/h2>\n\n<p>Uwa\u017cam, \u017ce ACL s\u0105 proste, powtarzalne i mo\u017cna je wersjonowa\u0107. Zasady te nie tylko ustalam w czasie wykonywania, ale tak\u017ce zapisuj\u0119 je w pliku i nadaj\u0119 mu restrykcyjne uprawnienia dost\u0119pu.<\/p>\n<ul>\n  <li><strong>Podstawa<\/strong>: Wy\u0142\u0105czam domy\u015blnego u\u017cytkownika (<em>user default off<\/em>). W przypadku aplikacji tworz\u0119 dedykowanych u\u017cytkownik\u00f3w, kt\u00f3rzy otrzymuj\u0105 wy\u0142\u0105cznie te kategorie polece\u0144, kt\u00f3re s\u0105 naprawd\u0119 niezb\u0119dne (<em>+@read<\/em>, <em>+@write<\/em>, <em>-@dangerous<\/em>).<\/li>\n  <li><strong>Zakresy<\/strong>: Ograniczam kluczowe obszary za pomoc\u0105 prefiks\u00f3w, np. <em>~app:*<\/em>. Dzi\u0119ki temu aplikacja nie mo\u017ce przypadkowo ingerowa\u0107 w obce przestrzenie nazw.<\/li>\n  <li><strong>Przyk\u0142ad<\/strong>: <em>aplikacja u\u017cytkownika na &gt;S3cur3P@ss ~app:* +@read +@write -@dangerous -config -module -eval -evalsha<\/em> oraz oddzielny u\u017cytkownik administracyjny z <em>+@wszyscy<\/em>, do kt\u00f3rego dost\u0119p mo\u017cna uzyska\u0107 wy\u0142\u0105cznie za po\u015brednictwem serwer\u00f3w typu bastion.<\/li>\n  <li><strong>Wytrwa\u0142o\u015b\u0107<\/strong>: Korzystam z <em>aclfile \/etc\/redis\/users.acl<\/em> i ustaw uprawnienia pliku na 600. Zmiany zapisuj\u0119 za pomoc\u0105 <em>ACL SAVE<\/em> i odnotuj je w dzienniku zmian.<\/li>\n  <li><strong>Rotacja<\/strong>: Regularnie zmieniam has\u0142a i numeruj\u0119 wersje zmian w listach kontroli dost\u0119pu (ACL), aby w razie incydentu m\u00f3c szybko przywr\u00f3ci\u0107 poprzedni stan.<\/li>\n<\/ul>\n\n<h2>Sprawdzanie skrypt\u00f3w i modu\u0142\u00f3w<\/h2>\n\n<p>Ograniczam powierzchni\u0119 ataku <strong>Skrypty Lua<\/strong> oraz <strong>Modu\u0142y<\/strong> konsekwentnie. Niepotrzebne funkcje s\u0105 usuwane, a niebezpieczne polecenia s\u0105 dla u\u017cytkownik\u00f3w aplikacji zabronione.<\/p>\n<ul>\n  <li><strong>EVAL tylko w razie potrzeby<\/strong>: Odbieram u\u017cytkownikom nieb\u0119d\u0105cym administratorami dost\u0119p do <em>EVAL<\/em> oraz <em>EVALSHA<\/em>. W przeciwnym razie skrypty dzia\u0142aj\u0105 z uprawnieniami u\u017cytkownika, kt\u00f3ry je uruchamia, i mog\u0105 przenosi\u0107 ogromne ilo\u015bci danych.<\/li>\n  <li><strong>Ograniczenia j\u0119zyka Lua<\/strong>Z <em>lua-time-limit<\/em> zapobiegam sytuacji, w kt\u00f3rej wadliwe skrypty na d\u0142ugo blokuj\u0105 serwer. W razie potrzeby przerywam dzia\u0142anie za pomoc\u0105 <em>SCRIPT KILL<\/em> od.<\/li>\n  <li><strong>Utwardzanie modu\u0142\u00f3w<\/strong>: <em>ZA\u0141ADOWANIE MODU\u0141\u00d3W<\/em> Wy\u0142\u0105czam to za pomoc\u0105 <em>polecenie zmiany nazwy<\/em> lub zezw\u00f3l na to wy\u0142\u0105cznie administratorom. Modu\u0142y \u0142aduj\u0119 wy\u0142\u0105cznie podczas uruchamiania z zaufanej \u015bcie\u017cki z ochron\u0105 przed zapisem.<\/li>\n  <li><strong>Kategorie niebezpieczne<\/strong>: Zamiast blokowa\u0107 poszczeg\u00f3lne polecenia, u\u017cywam <em>-@dangerous<\/em> ca\u0142e grupy ryzyka (np. DEBUG, CONFIG, MODULE, SHUTDOWN). Jest to przejrzyste i niezawodne.<\/li>\n<\/ul>\n\n<h2>Bezpieczne wdro\u017cenie \u015brodowiska kontenerowego i Kubernetes<\/h2>\n\n<p>W \u015brodowisku kontenerowym i w Kubernetes obowi\u0105zuj\u0105 te same zasady \u2013 uzupe\u0142nione o mechanizmy kontroli platformy. Zapobiegam publicznej ekspozycji, ograniczam uprawnienia i reguluj\u0119 \u015bcie\u017cki przep\u0142ywu danych.<\/p>\n<ul>\n  <li><strong>Zasady sieciowe<\/strong>: Zezwalam na komunikacj\u0119 mi\u0119dzy podami wy\u0142\u0105cznie w ramach udost\u0119pnionych przestrzeni nazw\/wdro\u017ce\u0144. Us\u0142ugi Redis dzia\u0142aj\u0105 wewn\u0119trznie; nie ma port\u00f3w NodePort ani LoadBalancer skierowanych do Internetu.<\/li>\n  <li><strong>Bezpiecze\u0144stwo pod\u00f3w<\/strong>: Redis dzia\u0142a <em>runAsNonRoot<\/em>, z <em>readOnlyRootFilesystem<\/em> oraz minimalnymi mo\u017cliwo\u015bciami systemu Linux. W\u0142\u0105czam profile Seccomp\/AppArmor i ustalam limity zasob\u00f3w.<\/li>\n  <li><strong>Sekrety<\/strong>: Has\u0142a i certyfikaty s\u0105 zapisywane jako <em>Sekret<\/em>-Wolumin z ograniczonymi uprawnieniami \u2013 nie znajduje si\u0119 ani w obrazie kontenera, ani w logach. Rotacja odbywa si\u0119 automatycznie.<\/li>\n  <li><strong>Tom<\/strong>: Dane i konfiguracj\u0119 rozdzielam wyra\u017anie. Tylko wolumin danych jest zapisywalny, natomiast punkty montowania konfiguracji pozostaj\u0105 tylko do odczytu.<\/li>\n  <li><strong>Funkcjonalno\u015b\u0107\/Gotowo\u015b\u0107<\/strong>: W przypadku test\u00f3w stanu (Health-Checks) przeprowadzam uwierzytelnianie (np. za pomoc\u0105 u\u017cytkownika ACL z uprawnieniami tylko do odczytu), aby sondy nie sta\u0142y si\u0119 tylnymi drzwiami.<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/07\/sicherer-serverraum-8392.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Automatyzacja, izolacja w \u015brodowisku Systemd oraz bezpieczne wdra\u017canie<\/h2>\n\n<p>Dbam o bezpiecze\u0144stwo w procesie automatyzacji, aby ka\u017cda instancja by\u0142a wdra\u017cana w identyczny i bezpieczny spos\u00f3b. Wszelkie odchylenia s\u0105 wtedy natychmiast zauwa\u017calne.<\/p>\n<ul>\n  <li><strong>Szablony<\/strong>: <em>redis.conf<\/em>, plik ACL i jednostka systemd s\u0105 zarz\u0105dzane w systemie kontroli wersji. Przed ka\u017cdym wdro\u017ceniem automatycznie sprawdzam bind, porty, TLS i listy ACL.<\/li>\n  <li><strong>Zabezpieczanie systemu systemd<\/strong>: W tej jednostce aktywuj\u0119 <em>NoNewPrivileges=yes<\/em>, <em>PrivateTmp=yes<\/em>, <em>ProtectSystem=ostry<\/em>, <em>ProtectHome=tak<\/em> i ustawi\u0107 <em>UMask=027<\/em>. Skutecznie ogranicza to dost\u0119p do plik\u00f3w oraz uprawnienia w czasie wykonywania.<\/li>\n  <li><strong>CICD-Gates<\/strong>: Potoki przerywaj\u0105 dzia\u0142anie, je\u015bli jaki\u015b port jest publicznie dost\u0119pny, brakuje certyfikat\u00f3w lub ryzykowne polecenia nie zosta\u0142y przemianowane. W ten spos\u00f3b zapobiegam regresjom.<\/li>\n  <li><strong>Obrazy i pakiety<\/strong>: Skanuj\u0119 obrazy kontener\u00f3w i pakiety systemu operacyjnego pod k\u0105tem luk w zabezpieczeniach. Wdra\u017cam aktualizacje stopniowo, monitoruj\u0105c przy tym wska\u017aniki oraz limity b\u0142\u0119d\u00f3w.<\/li>\n<\/ul>\n\n<h2>Przygotowanie na sytuacje awaryjne: ustrukturyzowany plan reagowania<\/h2>\n\n<p>Planuj\u0119 dzia\u0142ania na wypadek sytuacji kryzysowej, zanim ona nast\u0105pi. Dzi\u0119ki temu mog\u0119 szybko zareagowa\u0107, ograniczy\u0107 szkody i sprawnie przywr\u00f3ci\u0107 normalne funkcjonowanie.<\/p>\n<ul>\n  <li><strong>Ograniczanie<\/strong>: Natychmiast blokuj\u0119 \u015bcie\u017cki sieciowe (grupy zabezpiecze\u0144, zapor\u0119 sieciow\u0105), wy\u0142\u0105czam publiczn\u0105 ekspozycj\u0119 i zawieszam podejrzane instancje w celu zabezpieczenia dowod\u00f3w.<\/li>\n  <li><strong>Identyfikacja<\/strong>Z <em>INFO dla klient\u00f3w<\/em>, <em>LISTA ACL<\/em>, <em>ROLA<\/em>, <em>CONFIG GET<\/em> oraz <em>LISTA MODU\u0141\u00d3W<\/em> Sprawdzam stan, aktywnych u\u017cytkownik\u00f3w, replikacj\u0119 i za\u0142adowane modu\u0142y.<\/li>\n  <li><strong>Rotacja danych uwierzytelniaj\u0105cych<\/strong>: Ustawiam nowe has\u0142a\/klucze ACL, blokuj\u0119 u\u017cytkownik\u00f3w budz\u0105cych podejrzenia (<em>ACL SETUSER user off<\/em>) i zawieszam prawa do czasu wyja\u015bnienia sprawy.<\/li>\n  <li><strong>Czyszczenie<\/strong>: Niedozwolone obszary kluczy identyfikuj\u0119 za pomoc\u0105 strategii prefiksowej, usuwam z\u0142o\u015bliwe modu\u0142y w trybie offline i por\u00f3wnuj\u0119 konfiguracj\u0119 ze stanem docelowym.<\/li>\n  <li><strong>Przywr\u00f3cenie<\/strong>: Przywracam system z zweryfikowanych kopii zapasowych, wprowadzam aktualizacje i wdra\u017cam wzmocnione konfiguracje. Nast\u0119pnie przeprowadzam analiz\u0119 po awarii, okre\u015blaj\u0105c jasne dzia\u0142ania naprawcze.<\/li>\n<\/ul>\n\n<h2>Praktyczne zastosowanie: lista kontrolna w formie tekstowej<\/h2>\n\n<p>Zaczn\u0119 od sprawdzenia, czy s\u0105 jakie\u015b otwarte <strong>Porty<\/strong> i natychmiast ograniczam dost\u0119p, gdy adres 6379 jest widoczny publicznie. Nast\u0119pnie pod\u0142\u0105czam Redis do localhost lub prywatnego adresu IP i wdra\u017cam zapor\u0119 sieciow\u0105 na ho\u015bcie oraz w chmurze. W kolejnym kroku aktywuj\u0119 requirepass, zmieniam has\u0142o oraz konfiguruj\u0119 listy kontroli dost\u0119pu (ACL) dla u\u017cytkownik\u00f3w i obci\u0105\u017ce\u0144. Nast\u0119pnie wy\u0142\u0105czam lub zmieniam nazwy wra\u017cliwych polece\u0144, w\u0142\u0105czam TLS i wy\u0142\u0105czam port tekstu jawnego. Na koniec wdra\u017cam rejestrowanie, alerty, kopie zapasowe, regularne aktualizacje oraz cykliczne kontrole konfiguracji.<\/p>\n\n<h2>Kr\u00f3tkie podsumowanie<\/h2>\n\n<p>Redis pozostaje bezpieczny, je\u015bli ustawi\u0119 <strong>Powierzchnia ataku<\/strong> ograniczam rozmiar, ograniczam dost\u0119p i szyfruj\u0119 komunikacj\u0119. Po\u0142\u0105czenie izolacji sieciowej, silnego uwierzytelniania i restrykcyjnych uprawnie\u0144 do polece\u0144 skutecznie powstrzymuje typowe ataki. Dzi\u0119ki protoko\u0142owi TLS zabezpieczam transmisj\u0119 danych, a dzi\u0119ki szyfrowaniu w systemie operacyjnym \u2013 trwa\u0142o\u015b\u0107 danych. Monitorowanie, kopie zapasowe i aktualizacje zapewniaj\u0105 nieprzerwane dzia\u0142anie na co dzie\u0144. Kto konsekwentnie wdra\u017ca te kroki, unika otwartych port\u00f3w, chroni wra\u017cliwe dane i niezawodnie kontroluje instancje.<\/p>","protected":false},"excerpt":{"rendered":"<p>W niniejszym przewodniku dotycz\u0105cym bezpiecze\u0144stwa Redis wyja\u015bniono, jak unikn\u0105\u0107 otwartych port\u00f3w i niezabezpieczonych instancji \u2013 za pomoc\u0105 zap\u00f3r sieciowych, uwierzytelniania Redis, list kontroli dost\u0119pu (ACL), protoko\u0142u TLS oraz monitorowania.<\/p>","protected":false},"author":1,"featured_media":20117,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[794],"tags":[],"class_list":["post-20124","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicherheit-computer_und_internet"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"117","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":"1","_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"redis security","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"20117","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/20124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/comments?post=20124"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/20124\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media\/20117"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media?parent=20124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/categories?post=20124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/tags?post=20124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}