| Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія |
| linux:webserver:redis [28/05/2024 06:17] – osvex | linux:webserver:redis [Невідома дата] (поточний) – зовнішнє редагування (Невідома дата) 127.0.0.1 |
|---|
| Если она запускается без ошибок, при вводе данной команды вы должны получить примерно следующий результат: | Если она запускается без ошибок, при вводе данной команды вы должны получить примерно следующий результат: |
| |
| <code bash> | **Output** |
| Output | <code> |
| | redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)Active: active (running)since Wed 2018-06-2718:48:52UTC; 12s ago Docs: http://redis.io/documentation, man:redis-server(1)Process: 2421ExecStop=/bin/kill-sTERM $MAINPID(code=exited, status=0/SUCCESS)Process: 2424ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)Main PID: 2445(redis-server)Tasks: 4(limit: 4704)CGroup: /system.slice/redis-server.service └─2445/usr/bin/redis-server 127.0.0.1:6379. . . |
| ● redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-06-27 18:48:52 UTC; 12s ago Docs: http://redis.io/documentation, man:redis-server(1) Process: 2421 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS) Process: 2424 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS) Main PID: 2445 (redis-server) Tasks: 4 (limit: 4704) CGroup: /system.slice/redis-server.service └─2445 /usr/bin/redis-server 127.0.0.1:6379 . . . | |
| |
| </code> | </code> |
| Здесь вы можете видеть, что служба Redis запущена и уже активирована, т.е. для нее настроен запуск при загрузке сервера. | Здесь вы можете видеть, что служба Redis запущена и уже активирована, т.е. для нее настроен запуск при загрузке сервера. |
| |
| **Примечание:** данную опцию рекомендуется использовать во многих стандартных случаях использования Redis. Однако если вы предпочитаете запускать Redis каждый раз вручную при загрузке сервера, воспользуйтесь следующей командой: | <WRAP tip>Данную опцию рекомендуется использовать во многих стандартных случаях использования Redis. Однако если вы предпочитаете запускать Redis каждый раз вручную при загрузке сервера, воспользуйтесь следующей командой: |
| <code bash> | |
| sudo systemctl disable redis | |
| |
| | **sudo systemctl disable redis** |
| |
| </code> | </WRAP>\\ |
| | \\ |
| Чтобы убедиться, что Redis работает правильно, подключитесь к серверу с помощью клиента командной строки: | Чтобы убедиться, что Redis работает правильно, подключитесь к серверу с помощью клиента командной строки: |
| |
| <code bash> | <code bash> |
| ping | ping |
| | |
| |
| </code> | </code> |
| Убедившись, что вы можете получить значение, закройте диалоговое окно Redis и вернитесь в командную строку: | Убедившись, что вы можете получить значение, закройте диалоговое окно Redis и вернитесь в командную строку: |
| |
| <prefixed custom_prefix language-bash> | <code> |
| | exit |
| |
| </prefixed> | </code> |
| |
| - ''exit '' | В качестве последнего теста мы проверим, может ли Redis сохранять данные даже после остановки или перезапуска. Для этого необходимо перезапустить ''Redis'': |
| В качестве последнего теста мы проверим, может ли Redis сохранять данные даже после остановки или перезапуска. Для этого необходимо перезапустить Redis: | <code> |
| | sudo systemctl restart redis |
| |
| <prefixed command language-bash> | </code> |
| | |
| </prefixed> | |
| |
| - ''sudo systemctl restart redis '' | |
| Откройте клиент командной строки и проверьте, что ваше тестовое значение все еще доступно: | Откройте клиент командной строки и проверьте, что ваше тестовое значение все еще доступно: |
| |
| <prefixed command language-bash> | <code> |
| | redis-cli |
| |
| </prefixed> | get test |
| |
| - ''redis-cli ''<prefixed custom_prefix language-bash> | </code> |
| </prefixed> | |
| |
| - ''get test '' | |
| Значение вашего ключа должно оставаться доступным: | Значение вашего ключа должно оставаться доступным: |
| |
| | **Output** |
| <code> | <code> |
| | "It's working!" |
| |
| </code> | </code> |
| |
| ''Output'' | |
| |
| ''"It's working!" '' | |
| |
| Выйдите в командную строку после завершения: | Выйдите в командную строку после завершения: |
| |
| <prefixed custom_prefix language-bash> | <code> |
| | exit |
| |
| </prefixed> | </code> |
| | |
| - ''exit '' | |
| После этого установку Redis можно считать выполненной и готовой к работе. Однако некоторые настройки по умолчанию являются небезопасными и предоставляют злоумышленникам возможность атаковать ваш сервер и получить доступ к [[http://redis.io/topics/security|данным.Остальные шаги в этом руководстве описывают методы для устранения этих факторов уязвимости, как указано на официальном веб-сайте Redis]]. Хотя эти шаги не являются обязательными, и Redis будет функционировать, если вы решите не выполнять эти действия, но //мы настоятельно// рекомендуем вам выполнить описанные ниже шаги, чтобы повысить безопасность вашей системы. | |
| |
| | После этого установку Redis можно считать выполненной и готовой к работе. Однако некоторые настройки по умолчанию являются небезопасными и предоставляют злоумышленникам возможность атаковать ваш сервер и получить доступ к [[http://redis.io/topics/security|данным.Остальные шаги в этом руководстве описывают методы для устранения этих факторов уязвимости, как указано на официальном веб-сайте Redis]]. Хотя эти шаги не являются обязательными, и Redis будет функционировать, если вы решите не выполнять эти действия, но //мы настоятельно// рекомендуем вам выполнить описанные ниже шаги, чтобы повысить безопасность вашей системы. |
| ===== Шаг 3 — Привязка к localhost ===== | ===== Шаг 3 — Привязка к localhost ===== |
| |
| |
| Чтобы исправить это, откройте файл конфигурации Redis для редактирования: | Чтобы исправить это, откройте файл конфигурации Redis для редактирования: |
| | <code> |
| |
| <prefixed command language-bash> | sudo nano /etc/redis/redis.conf |
| |
| </prefixed> | </code> |
| |
| - ''sudo nano /etc/redis/redis.conf '' | |
| Найдите эту строку и убедитесь, что она незакомментирована (удалите символ ''#'', если он существует): | Найдите эту строку и убедитесь, что она незакомментирована (удалите символ ''#'', если он существует): |
| |
| /etc/redis/redis.conf | ''/etc/redis/redis.conf'' |
| <code> | <code> |
| | bind 127.0.0.1 ::1 |
| ''bind 127.0.0.1 ::1 | |
| '' | |
| |
| </code> | </code> |
| Сохраните и закройте файл после завершения (нажмите ''CTRL + X'', ''Y'', затем ''ENTER''). | Сохраните и закройте файл после завершения (нажмите ''CTRL + X'', ''Y'', затем ''ENTER''). |
| |
| Затем перезапустите службу, чтобы systemd распознала изменения: | Затем перезапустите службу, чтобы ''systemd'' распознала изменения: |
| | <code> |
| | sudo systemctl restart redis |
| |
| <prefixed command language-bash> | </code> |
| |
| </prefixed> | |
| |
| - ''sudo systemctl restart redis '' | |
| Чтобы убедиться, что изменение вступило в силу, запустите следующую команду ''netstat'': | Чтобы убедиться, что изменение вступило в силу, запустите следующую команду ''netstat'': |
| | <code> |
| | sudo netstat -lnp | grep redis |
| |
| <prefixed command language-bash> | </code> |
| |
| </prefixed> | **Output** |
| | |
| - ''sudo netstat -lnp | grep redis '' | |
| <code> | <code> |
| |
| | tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 14222/redis-server tcp6 0 0 ::1:6379 :::* LISTEN 14222/redis-server |
| |
| </code> | </code> |
| |
| ''Output'' | Данный вывод указывает, что программа ''redis-server'' привязана к **localhost** (''127.0.0.1''), отражая изменения, которые вы только что внесли в файл конфигурации. Если вы увидите другой IP-адрес в этой колонке (например, ''0.0.0.0''), вам нужно еще раз проверить, что вы не закомментировали нужную строку и перезапустить службу Redis. |
| | |
| ''tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 14222/redis-server tcp6 0 0 ::1:6379 :::* LISTEN 14222/redis-server '' | |
| | |
| Данный вывод указывает, что программа ''redis-server'' привязана к **localhost** (''127.0.0.1''), отражая изменения, которые вы только что внесли в файл конфигурации. Если вы увидите другой IP-адрес в этой колонке (например, ''0.0.0.0''), вам нужно еще раз проверить, что вы не закомментировали нужную строку и перезапустить службу Redis. | |
| |
| Теперь, когда Redis использует только **localhost**, злоумышленникам будет труднее выполнять запросы или получить доступ к вашему серверу. Однако для Redis в настоящее время не настроено требование аутентификации пользователей перед внесением изменений в конфигурацию или данные, которые она хранит. Чтобы исправить это, Redis позволяет настроить требование аутентификации с помощью пароля перед внесением изменений через клиент Redis (''redis-cli''). | Теперь, когда Redis использует только **localhost**, злоумышленникам будет труднее выполнять запросы или получить доступ к вашему серверу. Однако для Redis в настоящее время не настроено требование аутентификации пользователей перед внесением изменений в конфигурацию или данные, которые она хранит. Чтобы исправить это, Redis позволяет настроить требование аутентификации с помощью пароля перед внесением изменений через клиент Redis (''redis-cli''). |
| |
| ===== Шаг 4 — Настройка пароля Redis ===== | ===== Шаг 4 — Настройка пароля Redis ===== |
| |
| Настройка пароля Redis позволяет использовать одну из двух встроенных функций безопасности — команду ''auth'', которая требует аутентификации клиентов для доступа к базе данных. Пароль настраивается непосредственно в файле конфигурации Redis, ''/etc/redis/redis.conf'', поэтому вам нужно снова открыть этот файл в предпочитаемом редакторе: | Настройка пароля Redis позволяет использовать одну из двух встроенных функций безопасности — команду ''auth'', которая требует аутентификации клиентов для доступа к базе данных. Пароль настраивается непосредственно в файле конфигурации Redis, ''/etc/redis/redis.conf'', поэтому вам нужно снова открыть этот файл в предпочитаемом редакторе: |
| | <code> |
| | sudo nano /etc/redis/redis.conf |
| |
| <prefixed command language-bash> | </code> |
| |
| </prefixed> | Прокрутите содержимое файла до раздела ''SECURITY'' и найдите следующую закомментированную директиву: |
| | |
| - ''sudo nano /etc/redis/redis.conf '' | |
| Прокрутите содержимое файла до раздела ''SECURITY'' и найдите следующую закомментированную директиву: | |
| | |
| /etc/redis/redis.conf | |
| |
| | ''/etc/redis/redis.conf'' |
| <code> | <code> |
| ''# requirepass foobared | # requirepass foobared |
| '' | |
| |
| </code> | </code> |
| |
| Разкомментируйте ее, удалив символ ''#'' и измените ''foobared'' на безопасный пароль. | Разкомментируйте ее, удалив символ ''#'' и измените ''foobared'' на безопасный пароль. |
| | |
| **Примечание:** над директивой ''requirepass'' в файле ''redis.conf'' располагается закомментированное предупреждение: | |
| |
| | **Примечание:** над директивой ''requirepass'' в файле ''redis.conf'' располагается закомментированное предупреждение: |
| <code> | <code> |
| ''# Warning: since Redis is pretty fast an outside user can try up to | # Warning: since Redis is pretty fast an outside user can try up to |
| # 150k passwords per second against a good box. This means that you should | # 150k passwords per second against a good box. This means that you should |
| # use a very strong password otherwise it will be very easy to break. | # use a very strong password otherwise it will be very easy to break. |
| # | # |
| '' | |
| |
| </code> | </code> |
| |
| Таким образом, очень важно, чтобы вы указали очень надежный и очень длинный пароль. Вместо того чтобы придумать пароль самостоятельно, вы можете использовать команду ''openssl'' для генерации случайного пароля, как в следующем примере. Использовав вывод первой команды во второй команде ''openssl'', как показано здесь, вы сможете удалить любые переносы строк, созданные при выполнении первой команды: | Таким образом, очень важно, чтобы вы указали очень надежный и очень длинный пароль. Вместо того чтобы придумать пароль самостоятельно, вы можете использовать команду ''openssl'' для генерации случайного пароля, как в следующем примере. Использовав вывод первой команды во второй команде ''openssl'', как показано здесь, вы сможете удалить любые переносы строк, созданные при выполнении первой команды |
| | <code> |
| | openssl rand 60 | openssl base64 -A |
| |
| <prefixed command language-bash> | </code> |
| |
| </prefixed> | Вывод должен выглядеть следующим образом: |
| |
| - ''openssl rand 60 | openssl base64 -A '' | **Output** |
| Вывод должен выглядеть следующим образом: | |
| <code> | <code> |
| |
| | RBOJ9cCNoGCKhlEBwQLHri1g+atWgn4Xn4HwNUbtzoVxAYxkiYBi7aufl4MILv1nxBqR4L6NNzI0X6cE |
| |
| </code> | </code> |
| |
| ''Output'' | |
| |
| ''RBOJ9cCNoGCKhlEBwQLHri1g+atWgn4Xn4HwNUbtzoVxAYxkiYBi7aufl4MILv1nxBqR4L6NNzI0X6cE '' | |
| |
| Скопируйте и вставьте вывод этой команды в качестве нового значения для ''requirepass''. Оно должно выглядеть следующим образом: | Скопируйте и вставьте вывод этой команды в качестве нового значения для ''requirepass''. Оно должно выглядеть следующим образом: |
| |
| <code> | |
| |
| |
| </code> | |
| |
| ''/etc/redis/redis.conf'' | ''/etc/redis/redis.conf'' |
| После установки пароля сохраните и закройте файл, а потом перезапустите Redis: | После установки пароля сохраните и закройте файл, а потом перезапустите Redis: |
| |
| <prefixed command language-bash> | <code> |
| | sudo systemctl restart redis.service |
| |
| </prefixed> | </code> |
| |
| - ''sudo systemctl restart redis.service '' | |
| Чтобы убедиться, что пароль работает, откройте командную строку Redis: | Чтобы убедиться, что пароль работает, откройте командную строку Redis: |
| |
| <prefixed command language-bash> | <code> |
| | redis-cli |
| |
| </prefixed> | </code> |
| |
| - ''redis-cli '' | |
| Ниже показана последовательность команд, используемых для проверки работы пароля Redis. Первая команда пытается задать ключ для значения перед аутентификацией: | Ниже показана последовательность команд, используемых для проверки работы пароля Redis. Первая команда пытается задать ключ для значения перед аутентификацией: |
| |
| <prefixed custom_prefix language-bash> | <code> |
| | set key1 10 |
| |
| </prefixed> | </code> |
| |
| - ''set key1 10 '' | |
| Это не сработает, потому что вы не выполнили аутентификацию, поэтому Redis возвращает ошибку: | Это не сработает, потому что вы не выполнили аутентификацию, поэтому Redis возвращает ошибку: |
| |
| | **Output** |
| <code> | <code> |
| | (error) NOAUTH Authentication required. |
| |
| </code> | </code> |
| |
| ''Output'' | |
| |
| ''(error) NOAUTH Authentication required. '' | |
| |
| Следующая команда выполняет аутентификацию с паролем, указанным в файле конфигурации Redis: | Следующая команда выполняет аутентификацию с паролем, указанным в файле конфигурации Redis: |
| |
| <prefixed custom_prefix language-bash> | <code> |
| | auth your_redis_password |
| |
| </prefixed> | </code> |
| |
| - ''auth your_redis_password '' | |
| Redis принимает пароль: | Redis принимает пароль: |
| |
| | **Output** |
| <code> | <code> |
| | OK |
| |
| </code> | </code> |
| |
| ''Output'' | |
| |
| ''OK '' | |
| |
| После этого запуск предыдущей команды будет успешным: | После этого запуск предыдущей команды будет успешным: |
| |
| <prefixed custom_prefix language-bash> | <code> |
| | set key1 10 |
| |
| </prefixed> | </code> |
| |
| - ''set key1 10 '' | **Output** |
| <code> | <code> |
| | OK |
| |
| </code> | </code> |
| |
| ''Output'' | ''get key1'' запрашивает в Redis значение нового ключа. |
| | <code> |
| | get key1 |
| |
| ''OK '' | </code> |
| |
| ''get key1'' запрашивает в Redis значение нового ключа. | **Output** |
| | |
| <prefixed custom_prefix language-bash> | |
| | |
| </prefixed> | |
| | |
| - ''get key1 '' | |
| <code> | <code> |
| | "10" |
| |
| </code> | </code> |
| |
| ''Output'' | |
| |
| ''"10" '' | |
| |
| Подтвердив, что вы можете выполнять команды в клиенте Redis после аутентификации, вы можете закрыть ''redis-cli'': | Подтвердив, что вы можете выполнять команды в клиенте Redis после аутентификации, вы можете закрыть ''redis-cli'': |
| | <code> |
| | quit |
| |
| <prefixed custom_prefix language-bash> | </code> |
| | |
| </prefixed> | |
| |
| - ''quit '' | |
| Затем мы рассмотрим переименование команд Redis, которые при ошибочном вводе или вводе злоумышленником могут причинить серьезный ущерб вашему компьютеру. | Затем мы рассмотрим переименование команд Redis, которые при ошибочном вводе или вводе злоумышленником могут причинить серьезный ущерб вашему компьютеру. |
| |
| Другой элемент безопасности, встроенные в Redis, подразумевает переименование или полное удаление определенных команд, которые считаются опасными. | Другой элемент безопасности, встроенные в Redis, подразумевает переименование или полное удаление определенных команд, которые считаются опасными. |
| |
| При использовании неавторизованными пользователями, такие команды могут использоваться для изменения конфигурации, уничтожения или выведения из строя ваших данных. Как и в случае пароля для аутентификации, переименование или отключение команд выполняется в том же разделе ''SECURITY'' в файле ''/etc/redis/redis.conf''. | При использовании неавторизованными пользователями, такие команды могут использоваться для изменения конфигурации, уничтожения или выведения из строя ваших данных. Как и в случае пароля для аутентификации, переименование или отключение команд выполняется в том же разделе ''SECURITY'' в файле ''/etc/redis/redis.conf''. |
| |
| Список команд, которые считаются опасными, включает: **FLUSHDB**, **FLUSHALL**, **KEYS**, **PEXPIRE**, **DEL**, **CONFIG**, **SHUTDOWN**, **BGREWRITEAOF**, **BGSAVE**, **SAVE**, **SPOP**, **SREM**, **RENAME** и **DEBUG**. Данный список не является всеобъемлющим, но переименование или удаление всех команд в этом списке служит хорошим отправным пунктом для повышения безопасности вашего сервера Redis. | Список команд, которые считаются опасными, включает: **FLUSHDB**, **FLUSHALL**, **KEYS**, **PEXPIRE**, **DEL**, **CONFIG**, **SHUTDOWN**, **BGREWRITEAOF**, **BGSAVE**, **SAVE**, **SPOP**, **SREM**, **RENAME** и **DEBUG**. Данный список не является всеобъемлющим, но переименование или удаление всех команд в этом списке служит хорошим отправным пунктом для повышения безопасности вашего сервера Redis. |
| |
| Решение о том, нужно ли отключить или переименовать команду, зависит от ваших потребностей или потребностей вашего сайта. Если вы знаете, что вы не будете использовать команду, которая может быть использована злоумышленниками, тогда вы можете отключить ее. В другом случае мы рекомендуем вам переименовать ее. | Решение о том, нужно ли отключить или переименовать команду, зависит от ваших потребностей или потребностей вашего сайта. Если вы знаете, что вы не будете использовать команду, которая может быть использована злоумышленниками, тогда вы можете отключить ее. В другом случае мы рекомендуем вам переименовать ее. |
| Чтобы активировать или отключить команды Redis, откройте файл конфигурации еще раз: | Чтобы активировать или отключить команды Redis, откройте файл конфигурации еще раз: |
| |
| <prefixed command language-bash> | <code> |
| | sudo nano /etc/redis/redis.conf |
| |
| </prefixed> | </code> |
| |
| - ''sudo nano /etc/redis/redis.conf '' | <WRAP warning> |
| **Предупреждение.** Седующие шаги с демонстрацией отключения или переименования команд являются примерами. Вы должны отключить или переименовать команды, имеющие смысл для вас. Вы можете просмотреть полный список команд самостоятельно и узнать, как они могут использоваться злоумышленниками, по адресу [[http://redis.io/commands|redis.io/commands]]. | |
| | **Предупреждение.** Седующие шаги с демонстрацией отключения или переименования команд являются примерами. Вы должны отключить или переименовать команды, имеющие смысл для вас. Вы можете просмотреть полный список команд самостоятельно и узнать, как они могут использоваться злоумышленниками, по адресу [[http://redis.io/commands|redis.io/commands]]. |
| | |
| | </WRAP> |
| |
| Чтобы отключить команду, просто укажите пустую строку в качестве имени (обозначается парой кавычек без символов между ними), как показано ниже: | Чтобы отключить команду, просто укажите пустую строку в качестве имени (обозначается парой кавычек без символов между ними), как показано ниже: |
| |
| /etc/redis/redis.conf | ''/etc/redis/redis.conf'' |
| <code> | <code> |
| |
| ''. . . | . . . |
| # It is also possible to completely kill a command by renaming it into | # It is also possible to completely kill a command by renaming it into |
| # an empty string: | # an empty string: |
| rename-command DEBUG "" | rename-command DEBUG "" |
| . . . | . . . |
| '' | |
| |
| </code> | </code> |
| Чтобы переименовать команду, дайте ей другое имя, как показано в приведенных ниже примерах. Переименованные команды должно быть трудно подобрать, но легко запомнить: | Чтобы переименовать команду, дайте ей другое имя, как показано в приведенных ниже примерах. Переименованные команды должно быть трудно подобрать, но легко запомнить: |
| |
| /etc/redis/redis.conf | ''/etc/redis/redis.conf'' |
| <code> | <code> |
| ''. . . | . . . |
| # rename-command CONFIG "" | # rename-command CONFIG "" |
| rename-command SHUTDOWN SHUTDOWN_MENOT | rename-command SHUTDOWN SHUTDOWN_MENOT |
| rename-command CONFIG ASC12_CONFIG | rename-command CONFIG ASC12_CONFIG |
| . . . | . . . |
| '' | |
| |
| </code> | </code> |
| После переименования команды примените изменения, перезапустив Redis: | После переименования команды примените изменения, перезапустив Redis: |
| |
| <prefixed command language-bash> | <code> |
| | sudo systemctl restart redis.service |
| |
| </prefixed> | </code> |
| |
| - ''sudo systemctl restart redis.service '' | |
| Чтобы протестировать новую команду, откройте командную строку Redis: | Чтобы протестировать новую команду, откройте командную строку Redis: |
| |
| <prefixed command language-bash> | <code> |
| | redis-cli |
| |
| </prefixed> | </code> |
| |
| - ''redis-cli '' | |
| Затем выполните аутентификацию: | Затем выполните аутентификацию: |
| |
| <prefixed custom_prefix language-bash> | <code> |
| | auth your_redis_password |
| |
| </prefixed> | </code> |
| |
| - ''auth your_redis_password '' | **Output** |
| <code> | <code> |
| | OK |
| |
| </code> | </code> |
| |
| ''Output'' | Предположим, вы переименовали команду ''CONFIG'' в ''ASC12_CONFIG'', как показано в предыдущем примере. Сначала попробуйте воспользоваться первоначальной команду ''CONFIG''. Команда не будет выполнена, потому что вы переименовали ее: |
| | <code> |
| | config get requirepass |
| |
| ''OK '' | </code> |
| | |
| Предположим, вы переименовали команду ''CONFIG'' в ''ASC12_CONFIG'', как показано в предыдущем примере. Сначала попробуйте воспользоваться первоначальной команду ''CONFIG''. Команда не будет выполнена, потому что вы переименовали ее: | |
| |
| <prefixed custom_prefix language-bash> | **Output** |
| | |
| </prefixed> | |
| | |
| - ''config get requirepass '' | |
| <code> | <code> |
| | (error) ERR unknown command 'config' |
| |
| </code> | </code> |
| |
| ''Output'' | |
| |
| ''(error) ERR unknown command 'config' '' | |
| |
| Вызов переименованной команды будет успешным. Регистр не имеет значения: | Вызов переименованной команды будет успешным. Регистр не имеет значения: |
| |
| <prefixed custom_prefix language-bash> | <code> |
| | asc12_config get requirepass |
| |
| </prefixed> | </code> |
| |
| - ''asc12_config get requirepass '' | **Output** |
| <code> | <code> |
| | 1) "requirepass" 2) "your_redis_password" |
| |
| </code> | </code> |
| |
| ''Output'' | |
| |
| ''1) "requirepass" 2) "your_redis_password" '' | |
| |
| После этого вы можете закрыть ''redis-cli'': | После этого вы можете закрыть ''redis-cli'': |
| | <code> |
| | exit |
| |
| <prefixed custom_prefix language-bash> | </code> |
| |
| </prefixed> | |
| |
| - ''exit '' | |
| Обратите внимание, что если вы уже используете командную строку Redis, а затем перезапустите Redis, вам нужно будет повторно выполнить аутентификацию. Иначе вы получите следующую ошибку при вводе команды: | Обратите внимание, что если вы уже используете командную строку Redis, а затем перезапустите Redis, вам нужно будет повторно выполнить аутентификацию. Иначе вы получите следующую ошибку при вводе команды: |
| |
| | **Output** |
| <code> | <code> |
| | NOAUTH Authentication required. |
| |
| </code> | </code> |
| |
| ''Output'' | В отношении практики переименования команд в конце раздела ''SECURITY'' файла ''/etc/redis/redis.conf'' есть следующее предостережение: |
| |
| ''NOAUTH Authentication required. '' | <WRAP important> |
| |
| В отношении практики переименования команд в конце раздела ''SECURITY'' файла ''/etc/redis/redis.conf'' есть следующее предостережение: | Обратите внимание, что изменение имени команд, зарегистрированных в файле AOF или передающихся “slave” компонентам системы, может вызывать проблемы. |
| |
| <blockquote> | </WRAP>\\ |
| | <WRAP info> |
| ''Обратите внимание, что изменение имени команд, зарегистрированных в файле AOF или передающихся “slave” компонентам системы, может вызывать проблемы.'' | |
| | |
| </blockquote> | |
| |
| //**Примечание:**// //проект Redis предпочитает использовать термины «master» и «slave», в то время как DigitalOcean предпочитает использовать варианты «primary» и «secondary». Чтобы не допустить путаницы, мы решили использовать здесь термины, используемые в документации Redis.// | //**Примечание:**// //проект Redis предпочитает использовать термины «master» и «slave», в то время как DigitalOcean предпочитает использовать варианты «primary» и «secondary». Чтобы не допустить путаницы, мы решили использовать здесь термины, используемые в документации Redis.// |
| Если вы используете AOF и работаете с конфигурацией master-slave, [[https://github.com/antirez/redis/issues/2783|изучите этот ответ на странице проблем проекта на GitHub]]. Ниже приводится ответ на вопрос автора: | Если вы используете AOF и работаете с конфигурацией master-slave, [[https://github.com/antirez/redis/issues/2783|изучите этот ответ на странице проблем проекта на GitHub]]. Ниже приводится ответ на вопрос автора: |
| |
| <blockquote> | </WRAP>\\ |
| | <WRAP info> |
| |
| Команды сохраняются в AOF и воспроизводятся в «slave» компоненте в таком же виде, как были отправлены, поэтому если вы попытаетесь использовать AOF для экземпляра, где не было выполнено переименование, могут возникнуть противоречия, так как команда не может быть выполнена (то же самое характерно для «slave» компонентов). | Команды сохраняются в AOF и воспроизводятся в «slave» компоненте в таком же виде, как были отправлены, поэтому если вы попытаетесь использовать AOF для экземпляра, где не было выполнено переименование, могут возникнуть противоречия, так как команда не может быть выполнена (то же самое характерно для «slave» компонентов). |
| |
| </blockquote> | </WRAP> |
| | |
| Таким образом, при переименовании необходимо убедиться, что переименованные команды применяются во всех экземплярах на установках типа «master-slave». | |
| |
| ===== Заключение ===== | Таким образом, при переименовании необходимо убедиться, что переименованные команды применяются во всех экземплярах на установках типа «''master-slave''». |
| | ==== Заключение ==== |
| |
| С помощью этого руководства вы установили и настроили Redis, подтвердили, что установка Redis работает правильно, и воспользовались встроенными функциями безопасности, чтобы сделать Redis менее уязвимой для атак злоумышленников. | С помощью этого руководства вы установили и настроили Redis, подтвердили, что установка Redis работает правильно, и воспользовались встроенными функциями безопасности, чтобы сделать Redis менее уязвимой для атак злоумышленников. |