Поиск по сайту:
Легче хулить, чем сделать так же (Аполлодор).

Установка OAuth в Linux

07.06.2021
Улучшение безопасности WordPress

Oauth 2.0 – это структура авторизации для делегирования определенных разрешений API без обмена паролями между клиентом и сервером. Основным преимуществом Oauth является возможность предоставлять сторонним приложениям определенные разрешения (в рамках ограничительной политики) без совместного использования паролей. Это делает Oauth отличным инструментом для интеграции различных приложений.

Например, пользователь хочет, чтобы его веб-сайт на WordPress автоматически публиковался в Linkedin. Он был бы не против поделиться своими учетными данными Linkedin со своим собственным веб-сайтом. Но если ему нужно установить плагин WordPress, который будет автоматически публиковаться в Linkedin, ему нужно будет поделиться с этим сторонним плагином своим паролем Linkedin, что немыслимо.

С помощью Oauth пользователь может предоставить ограниченный доступ плагину через авторизацию токена вместо учетных данных. Плагин будет действовать от имени пользователя для специально назначенной и разрешенной задачи.

OAuth не хранит учетные данные, но ограничивает доступ к определенному действию.

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

 

Роли OAuth и их взаимодействие

Роли Oauth – это владелец ресурса, клиент, сервер ресурсов и сервер авторизации.

Владелец ресурса: это владелец ресурса, которому будет предоставлен ограниченный доступ.

Клиент: приложение запрашивает авторизацию для выполнения действия (чтения, записи) от имени Владельца ресурса. В предыдущем примере (WordPress + Linkedin) клиентом был плагин, настроенный с помощью токена.

Сервер ресурсов: это API, к которому вы хотите предоставить доступ. Это могут быть карты Google, твиты и т.д.

Читать  Как создать базу данных в MongoDB с помощью Python

Сервер авторизации: этот компонент может быть размещен на собственном сервере или в составе сервера ресурсов. Сервер авторизации генерирует и передает токен после аутентификации личности владельца. OAuth может предоставить доступ владельцу ресурса или клиенту.

Владелец ресурса разрешает приложению доступ к серверу ресурсов. Затем приложение запрашивает токен у сервера авторизации, используя утверждение или авторизацию владельца ресурса.

Когда сервер авторизации проверяет утверждение, он выдает токен доступа к приложению. Используя этот токен, приложение может получить доступ к серверу ресурсов.

В следующем разделе этого руководства описаны некоторые концепции OAuth, которые необходимо понять перед его установкой в ​​Linux.

 

Заявления OAuth:

Токены содержат информацию, называемую претензиями . Заявлением может быть имя пользователя, адрес электронной почты, автор, клиент, используемый Владельцем ресурса, или некоторая информация об объекте, указанном в токене.

 

Области действия OAuth:

Области ограничивают клиентский доступ к функциям сервера ресурсов или API. Когда владелец ресурса утверждает авторизацию, ему необходимо определить области, предоставленные клиенту.

 

Идентификатор клиента/Секрет клиента:

Идентификатор клиента – это общедоступная строка для идентификации приложения и построения URL-адреса авторизации. Client Secret аутентифицирует приложение перед сервером авторизации при запросе доступа к приложению.

 

Установка расширения OAuth PHP в Debian Linux:

Мы не установили PHP; если вы хотите протестировать OAuth, вам необходимо сначала установить PHP. Вы можете установить PHP в Debian и других дистрибутивах Linux, выполнив следующую команду:

apt install php-pear php-dev -y

После установки PHP установите следующие пакеты:

sudo apt install -y gcc make autoconf libc-dev pkg-config libpcre3-dev

Теперь вы можете установить PHP, выполнив команду, показанную ниже:

sudo apt install php-oauth

В дистрибутивах Debian и в других на основе Linux,  создайте файл конфигурации, выполнив следующую команду.

Примечание
Замените /etc/php/7.3/cli/conf.d/oauth.ini своим путем PHP conf.d. Вы можете проверить свою версию php, запустив команду php –version .

 

bash -c "echo extension=oauth.so > /etc/php/7.3/cli/conf.d/oauth.ini"

/etc/init.d/apache2 restart

 

Читать  Уязвимости состояния гонки в веб-приложениях

или же

sudo service apache restart
Примечание
Если вы используете Nginx, перезапустите его, выполнив команду: service nginx restart

 

Наконец, вы можете проверить правильность установки OAuth, выполнив:

php -i | grep -i "OAuth"

Вы можете настроить свое веб-приложение, используя решения для авторизации, такие как https://openid.net/connect/ или https://goteleport.com.

 

Установка OAuth для Ruby в Debian Linux:

Вы также можете установить OAuth для Ruby con Linux. В следующем примере показано, как установить OAuth для Ruby и Debian и основанных на нем дистрибутивов Linux.

Чтобы установить OAuth для ruby ​​в Debian или Ubuntu, запустите:

sudo apt install ruby-oauth2 -y

Заключение:

OAuth – отличное решение для управления доступом и разрешениями, а также для интеграции различных приложений.

Он предоставляет платформу авторизации для веб-приложений, настольных приложений и мобильных устройств.

Внедрив OAuth, пользователи могут избежать совместного использования учетных данных и могут делиться ограниченным доступом к ресурсам. Они также могут легко отозвать доступ для определенных пользователей.

Предотвращение обмена учетными данными представляет собой существенное улучшение безопасности.

Пользователи также могут использовать OAuth для управления и защиты своей базы данных, докеров, ssh-доступа и многого другого, внедряя такие решения, как Teleport.

Надеюсь, вы нашли эту статью по OAuth полезным.

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Vim - сокращение от Vi Improved - это мощный текстовый…

Спасибо!

Теперь редакторы в курсе.