apache: аутентификация и авторизация. #2
Процесс аутентификации/авторизации происходит в три этапа.
Получение аутентификационных данных. На этом этапе работает mod_auth_basic или mod_auth_digest. Они читают заголовок запроса Authentication и вытягивают оттуда аутентификационные данные (credentials). Для Basic-аутентификации это просто 'username:password' в base64 кодировке. Для Digest-аутентификации это md5-дайджест имени пользователя, пароля, authname и других параметров, которые мы позже рассмотрим детально.
Аутентификация (проверка аутентификационных данных). На этом этапе работают модули mod_authn_***, которые проверяют аутентификационные данные. Например, модуль mod_authn_file исчет пару username:password в текстовом файле. Результат работы этих модулей - аутентифицирован успешно (AUTH_GRANTED), доступ запрещён (AUTH_DENIED) или пользователь не найден (AUTH_USER_NOT_FOUND).
Авторизация (предоставление прав). На этом этапе работают модули mod_authz_***, которые проверяют возможность
доступа для уже аутентифицированного пользователя. Например, если задано Require user tomas, то модуль mod_authz_user
предоставит доступ только пользователю tomas и запретит всем остальным. Если задано Require valid-user,
то модуль mod_authz_user предоставит доступ любому успешно аутентифицированному пользователю.
Дальше - mod_auth_basic.
apache: аутентификация и авторизация. #1
В последнее время я вплотную занялся рассмотрением безопасности в apache. Источники: Authentication, Authorization and Access Control и исходники apache.
Для начала поймём, что такое аутентификация и авторизация:
- Аутентификация (англ. Authentication) или подтверждение подлинности — процедура проверки соответствия субъекта и того, за кого он пытается себя выдать, с помощью некой уникальной информации, в простейшем случае — с помощью имени и пароля.
- Авторизация (англ. Authorization) — процесс, а также результат процесса проверки необходимых параметров и предоставление определённых полномочий лицу или группе лиц (прав доступа) на выполнение некоторых действий в различных системах с ограниченным доступом.
В апаче за эти процессы отвечают следующие модули:
Типы аутентификации (директива AuthType):
- mod_auth_basic (Basic аутентификация)
- mod_auth_digest (Digest футентификация)
Провайдеры аутентификации (проверяют имя/пароль):
- mod_authn_alias
- mod_authn_anon
- mod_authn_dbd
- mod_authn_dbm
- mod_authn_default
- mod_authn_file
- mod_authnz_ldap
Авторизаторы (директива Require, проверяют возможность доступа для уже аутентифицированного пользователя):
- mod_authnz_ldap
- mod_authz_dbm
- mod_authz_default
- mod_authz_groupfile
- mod_authz_owner
- mod_authz_user
Дальше будет.
THE BEER-WARE LICENSE
Рассматривая исходники Apache, нахожу занятные лицензии и комментарии. Например, apr_md5.c:
/*
* The apr_md5_encode() routine uses much code obtained from the FreeBSD 3.0
* MD5 crypt() function, which is licenced as follows:
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* <phk@login.dknet.dk> wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*/
Waiting for the Sun
В 2002 году я записал альбом электронной музыки "Waiting for the Sun". Записал с помощью компьютера и программы FruityLoops древней версии. Получилась ненавязчивая мызука, которую интересно слушать. Несколько копий я подарил друзьям.
Теперь альбом свободно доступен для прослушивания и скачивания на сайте jamendo.com.
Имена почтовых ящиков в gmail
Gmail - замечательная почтовая служба. Не перестаю удивляться и радоваться, когда узнаю о новой и приятной возможности.
Оказывается, что точки в имени аккаунтов gmail игнорирует. Например, если ваш ящик назван username@gmail.com, то на него придут письма отправленные на адреса user.name@gmail, u.sername@gmail и т.д. Здорово!
Мало того. Все символы после '+' игнорируются. То есть сообщения отправленные на username+fafa@gmail.com и username+bebe@gmail.com всё равно прийдут на аккаунт username@gmail.com!
Как это можно использовать? Самое очевидное применение -- при регистрации на сайтах, в которых вы не очень уверены, оставлять свой адрес с плюсом. Например, username+foobar@gmail.com. Если на этот адрес начнёт приходить нежелательная почта, с помощью фильтров её можно будет просто игнорировать (удалять).
по мотивам Простого приёма
Сайт www.poparsya.dp.ua
Сделал сайт poparsya.dp.ua -- сайт о центрах развлечения и отдыха -- Максимум и Эфес.
Технология -- Парсер
Сервер базы данных - Mysql
Сайт развлекательного комплекса "Ночь"
Сделал сайт развлекательного комплекса "Ночь".
Технология -- Парсер
Сервер базы данных - Mysql
Сайт компании Инфитис
Сделал сайт для компании "Инфитис".
Сервер -- Linux Ubuntu Server
Технология -- Парсер
Сервер базы данных - Mysql
Поиск -- Яндекс.xml

