Меню Рубрики

Установка и настройка memcached ubuntu

Установка и защита Memcached на Ubuntu 16.04

Введение

Разные утилиты, которые используются для кэширования (например, Memcached), могут повышать производительность базы данных путем временного сохранения информации в памяти. Обычно это касается тех записей, которые вы либо недавно запрашивали, либо запрашиваете часто. В этом случае при использовании кэширования уменьшается количество прямых запросов к базе данных.

При использовании систем вроде Memcached крайне важно правильно защитить серверы, где они установлены, иначе атаки на сервер могут иметь очень печальные последствия.

Поэтому в этом руководстве будет рассказано не только о том, как установить, но и как защитить сервер с Memcached.

Требования

Перед тем, как приступить к выполнению инструкций, на вашем сервере должна быть установлена ОС Ubuntu 16.04 с пользователем, который может выполнять команды sudo, и файерволом.

Шаг 1: установка Memcached из официальных репозиториев

Если на вашем сервере еще нет Memcached, то вы можете установить эту утилиту из официальных репозиториев Ubuntu. Сначала необходимо обновить индекс пакетов:

Для удобства работы с Memcached можно также установить libmemcached-tools, библиотеку с несколькими полезными инструментами:

Теперь на вашем сервере Memcached установлен в качестве одного из сервисов, и пора перейти к настройке защиты.

Шаг 2: защита настроек Memcached

Для начала надо проверить, что Memcached слушает localhost 127.0.0.1. Для этого нужно посмотреть настройки в конфигурационном файле, который находится в /etc/memcached.conf.

Откройте /etc/memcached.conf, используя nano:

Потом найдите следующую строчку:

Если там так и стоит -l 127.0.0.1 , то ничего изменять не нужно. Однако на всякий случай можно отключить UDP, чтобы злоумышленники не могли это использовать во время атак. Настройка TCP останется нетронутой. В конце файла напишите:

Затем сохраните и закройте файл.

Перезапустите Memcached для того, чтобы изменения вступили в силу.

Убедитесь, что Memcached привязан к локальному интерфейсу и слушает только TCP:

Вывод будет примерно таким:

Шаг 3: добавление авторизованных пользователей

Для того, чтобы добавить авторизованных пользователей в Memcached, можно использовать SASL (Simple Authentication and Security Layer — простой уровень аутентификации и безопасности). Это фреймворк, который разделяет механизмы аутентификации от прикладных протоколов.

Сначала нужно включить поддержку SASL в конфигурационном файле Memcached, а затем перейти к добавлению пользователя.

Настройка поддержки SASL

Проверьте текущее состояние Memcached, используя команду memcstat. Это нужно для того, чтобы в дальнейшем можно было отследить сделанные изменения.

Чтобы убедиться в том, что сервис Memcached запущен и работает, введите команду:

Вы должны увидеть примерно вот такой вывод:

Теперь нужно включить SASL. Добавьте параметр -S в конфигурационном файле /etc/memcached.conf. Для этого снова откройте файл:

Далее найдите и раскомментируйте опцию -vv, благодаря которой вы будете получать подробный отчет в /var/log/memcached. Раскомментированная строка будет выглядеть вот так:

Сохраните и закройте файл.

Перезапустите сервис Memcached:

Теперь можно посмотреть логи для того, чтобы убедиться, что поддержка SASL включена:

Вы должны увидеть следующую строку:

Можно еще раз проверить статус Memcached, но т.к. теперь активен SASL, без аутентификации эта команда не будет выполнена:

Вы не увидите никакого вывода. Для проверки статуса команды можно ввести команду ниже:

Она покажет код завершения: любые цифры, кроме 0, говорят о том, что команду выполнить не удалось. В данном случае вы должны увидеть 1, а значит, команда не была выполнена.

Добавление авторизованного пользователя

Теперь можно загрузить пакет sasl2-bin, который содержит программы администрирования базы пользователей SASL. Это позволит создать авторизованного пользователя:

Далее вам нужно создать директорию и файл, который Memcached будет использовать для проверки настроек SASL:

Добавьте следующие строки в конфигурационный файл SASL:

Читайте также:  Установка контейнера на фундаментные блоки

Mech_list установлен на plain, это значит, что Memcached будет использовать собственный файл с паролями и сверять текстовый пароль. Также нужно будет указать путь к файлу базы данных пользователя (это будет сделано далее). Сохраните и закройте файл после изменений.

Теперь необходимо создать базу данных SASL с данными пользователя. Для этого используйте команду saslpasswd2 с ключом -c. Использование ключа -f позволит указать путь к базе данных (который также нужен для файла memcached.conf):

Далее нужно изменить права: пользователь user должен получить права на базу данных SASL.

После этого перезапустите Memcached:

Команда memcstat покажет, работает или нет теперь аутентификация (введите ее со своими данными):

Вывод должен выглядеть примерно вот так:

А значит, Memcached успешно работает с поддержкой SASL и пользовательской авторизацией.

источник

Установка и защита Memcached на Ubuntu 18.04

Введение

Кэширование — важная часть любого веб-проекта, потому что это напрямую влияет на время отклика сервера. Memcached — это утилита, которая позволяет кэшировать, хранить в оперативной памяти различные данные. Фактически это большая хэш-таблица, доступная по сетевому протоколу. Использование Memcached позволяет значительно увеличить скорость загрузки информации.

В этом руководстве будет рассказано о том, как установить и как защитить сервер с Memcached.

Требования

Перед тем, как приступить к выполнению дальнейших действий, убедитесь, что на вашем сервере установлена ОС Ubuntu 18.04 с файерволом, а также есть пользователь, который может выполнять команды sudo.

Шаг 1: установка Memcached из официальных репозиториев

Memcached можно установить из официальных репозиториев Ubuntu. Для этого сначала обновите локальный индекс пакетов:

А потом установите Memcached:

Можно сразу установить библиотеку libmemcached-tools, в которой есть несколько полезных инструментов для работы с сервером:

Установка Memcached выполнена, и теперь надо перейти к безопасности.

Шаг 2: защита настроек Memcached

Сначала надо проверить настройки в конфигурационном файле, который находится в /etc/memcached.conf. Откройте его в nano или другом редакторе:

Это настройка по умолчанию, которую менять не нужно. Однако из соображений безопасности в конце файла можно добавить строчку, отключающую протокол UDP (но не влияющую на работу протокола TCP):

После этого сохраните и закройте файл.

Теперь сервис нужно перезапустить, чтобы изменения вступили в силу:

Убедиться в том, что Memcached слушает локальный интерфейс и TCP соединения, можно командой:

Шаг 3: добавление авторизованных пользователей

Для добавления авторизованных пользователей в Memcached можно использовать SASL (расшифровывается как Simple Authentication and Security Layer — простой уровень аутентификации и безопасности). Этот фреймворк позволяет разделить механизмы аутентификации от прикладных протоколов. К тому же он предоставляет слой защиты данных. Более подробно о нем можно прочитать в Википедии .

Настройка поддержки SASL

Сначала нужно использовать команду memcstat для того, чтобы проверить текущее состояние Memcached. В дальнейшем это позволит отследить изменения, которые будут внесены в конфигурационные файлы.

Вы должны увидеть вот такой вывод:

Теперь нужно открыть конфигурационный файл:

В конце файла добавьте -S для того, чтобы включить SASL:

И раскомментируйте строку -vv:

Это нужно для того, чтобы в /var/log/memcached формировался подробный отчет с предупреждениями, ошибками и другой важной информацией.

После этого сохраните и закройте файл.

Снова перезапустите Memcached:

Посмотрите логи, чтобы проверить, включен ли SASL:

Вы должны увидеть такую строку:

Так как теперь включен SASL, команда не будет выполнена без аутентификации.

Добавление аутентификации пользователя

Далее нужно загрузить пакет sasl2-bin, в нем есть программы администрирования базы данных пользователей SASL.

Теперь создайте директорию и файл с настройками SASL для Memcached:

Добавьте в этот файл следующее:

Читайте также:  Установка пружины багажника нексия

Если в mech_list, то есть в списке механизмов прописан plain, это значит, что cервер будет проверять идентификатор аутентификации и пароль на соответствие своей базе и наличие у данного идентификатора аутентификации права на идентификатор авторизации. Это аутентификация посредством открытого текстового пароля; путь к файлу будет указан позже. Сохраните и закройте этот файл.

Следующий шаг — создание базы данных SASL с данными вашего пользователя. Команда saslpasswd2 используется для занесения паролей в БД; ключ -c используется для создания записи для указанного идентификатора, если она не существовала ранее. Ключ -f позволяет указать путь к базе данных.

Теперь нужно изменить права:

И перезапустить Memcached:

Снова введите команду memcstat, но на этот раз с указанными до этого данными:

Если вы его увидели, значит, Memcached и SASL работают корректно.

источник

Установка Memcached в Ubuntu

Memchached — это популярный сервер кэширования данных в оперативной памяти. С помощью него можно существенно увеличить производительность различных веб-приложений. Сам по себе Memcached позволяет только сохранять пары ключ-значение в памяти и быстро получать к ним доступ. Обычно Memcached используется вместе с каким-либо языком программирования. Например с Php, Python или серверным JavaScript.

Также сервис может использоваться для кэширования различных объектов веб-серверами, такими, как Apache или Nginx. В этой статье мы разберём установку Memcached в Ubuntu 18.04, а также основные настройки программы.

Как установить Memcached в Ubuntu

1. Установка сервиса

Сама по себе установка Memcached не вызовет проблем. Вам достаточно выполнить такую команду:

sudo apt install memcached libmemcached-tools

Вместе с самим сервисом мы устанавливаем набор дополнительных утилит для более простого управления Memcached. На этом установка завершена.

2. Настройка Memcached

Настройка Memcached Ubuntu выполняется через файл /etc/memcahced.conf. В этом файле содержаться опции, которые будут переданы сервису при запуске:

  • -d — работать в режиме сервиса;
  • -v — режим более подробного вывода информации;
  • -vv — ещё более подробный вывод информации;
  • -m — количество оперативной памяти, которую будет использовать сервис, рекомендую увеличить этот параметр, так как значения 64 мегабайта, установленных по умолчанию, будет мало;
  • -p — порт, на котором будет работать сервис;
  • -u — пользователь, от имени которого запущен сервис;
  • -l — IP-дрес, на котором Memcached будет ожидать соединения, лучше использовать 127.0.0.1, чтобы из внешней сети ни у кого не было доступа к вашим данным;
  • — количество одновременных подключений;
  • -P — путь к PID-файлу сервиса в файловой системе.

Таким образом, большинство опций можно оставить по умолчанию. Изменить нужно только объём оперативной памяти и IP-адрес.

3. Запуск сервиса

Даже если сервис был запущен по умолчанию, после изменения настроек его нужно перезапустить:

sudo systemctl restart memcached

Можно ещё убедиться, что Memcached работает именно на том IP и порте, которые нам нужны:

Затем вы можете посмотреть статистику использования сервиса командой:

Работать с Memcached мы можем уже сейчас. Для этого нужно использовать Telnet. Подключаемся к серверу:

Если подключение прошло успешно, вы увидите такое сообщение:

Используйте команду stats, чтобы получить общую статистику, которую мы видели в выводе команды memcstat:

Для того, чтобы сохранить данные, используется команда add. У неё такой синтаксис:

add имя_ключа флаги время_хранения размер_данных
данные

Флаги — это целое число, которое хранится вместе с данными, и вместе с ними возвращается пользователю, можно просто оставить 0. Время хранения — это время в секундах, сколько будут хранится эти данные, 0 означает вечно. Размер данных в байтах определяет, сколько памяти будет задействовано под эти данные. Далее нужно нажать Enter и ввести данные, которые нужно сохранить. Например, сохраним строку memcached в ключе key навсегда:

Читайте также:  Установка вмт на москвиче

Получить значение сохранённого ключа можно командой get:

А удалить этот ключ командой delete:

А вот посмотреть список всех ключей в Telnet так просто не получится. Сначала нужно посмотреть список хранилищ:

А затем командой stats cachedump можно вывести список ключей хранилища. Первый параметр — это идентификатор хранилища, а второй — лимит ключей для вывода:

Для выхода наберите команду quit. С помощью команды memcdump вы можете вывести список всех сохраненных ключей:

А с помощью memccat можно вывести значение нужного ключа:

memccat key —servers=127.0.0.1

Но все эти возможности используются только для отладки. Для реального хранения данных используются клиенты memcached для разных языков программирования. Их очень просто установить. Давайте рассмотрим это на примере Php.

4. Настройка Memcached и Php

Давайте рассмотрим настройку библиотеки Memcached для Php. Чтобы её установить, выполните:

sudo apt install php-memcached

Затем перезапустите apache, если хотите использовать модуль на веб-сервере:

sudo systemctl restart apache2

Далее вы можете убедится, что модуль активирован, вызвав функцию phpinfo():

Выводы

В этой статье мы разобрали, как выполняется установка Memcached Ubuntu, а также как использовать этот сервис для кэширования данных из командной строки или в PHP. Не забудьте убедиться, что сервис слушает подключения только на локальном IP- адресе, поскольку здесь нет аутентификации, и к вашим данным смогут получить доступ другие пользователи. Также это может быть небезопасным из-за того, что в Memcached были найдены уязвимости, которые позволяют осуществлять атаку типа отказ в обслуживании.

источник

Как установить Memcached на Ubuntu 16.04 LTS

Главное меню » Операционная система Ubuntu » Как установить Memcached на Ubuntu 16.04 LTS

В данной статье предполагается, что у вас по крайней мере, есть базовые знания Linux, знаете, как использовать оболочку, и самое главное, вы можете разместить сайт на свой VPS. Установка очень проста и предполагает, что вы работаете в корневой учетной записью, если это не так, возможно, вам придется добавить ‘sudo’ к командам, чтобы получить привилегии суперпользователя. Мы покажем вам шаг за шагом, установку Memcached на 16,04 сервере Ubuntu (Xenial Xerus).

Установка Memcached на Ubuntu 16.04 LTS

Шаг 1. Прежде всего, убедитесь, что все ваши системные пакеты обновлены до современных, выполнив эти следующую команду apt-get в терминале.

Шаг 2. Установка Memcached.

Теперь используйте следующую команду для установки службы Memcached в вашей системе:

Шаг 3. Конфигурация Memcached.

Файл конфигурации по умолчанию можно найти по адресу:

При запуске, Memcached использует порт 11211 в файле конфигурации по умолчанию:

Закройте и сохраните файл конфигурации, а затем перезапустите Memcached:

Установка расширение PHP для Memcached

Вам также потребуется установить необходимое расширение PHP для Memcached:

Теперь мы можем перезапустить Apache, для применения изменений:

Для тестирования PHP, создайте тестовый файл с именем info.php с содержанием, указанным ниже. Сохраните файл, а затем перейдите к нему, чтобы увидеть, работу PHP:

Попробуйте получить к нему доступ по адресу: //your_server_ip/info.php. Если информационная страница PHP отображается в вашем браузере, то все выглядит хорошо, и вы готовы работать дальше.

Поздравления! Вы успешно установили Memcached. Благодарим Вас за использование этого учебника для установки Memcached на систему Ubuntu 16.04 LTS (Xenial Xerus). Для получения дополнительной справки или полезной информации, мы рекомендуем вам проверить официальный веб – сайт Memcached.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

источник

Добавить комментарий

Adblock
detector