Новый альбом Sigur Ros

2008-06-11 18:14комментарии  music

Sigur Ros выложили свой новый альбом на Last.fm.

Я послушал и рекомендую всем. Очень свежее, интересное, красивое, немного загадочное, будто сказочное, неземное звучание. Слова песен, видимо, на исландском. Уже на второй композиции очевидно, что понять их невозможно. И это плюс. Голос начинает восприниматься как инструмент в ансамбле. Очень всем рекомендую.

IКона. Стив Джобс

2008-06-05 22:26комментарии  books

Замечательная книга о Стиве Джобсе. Прочитал сам и всем советую. Кстати, первая книга, которую я прочитал с экрана. С экрана своего Motoming.

apache: аутентификация и авторизация #10: авторитарность

2008-06-02 21:28комментарии  apache

Модули процесса аутентификации (mod_auth_basic , mod_auth_digest) и модули авторизации (mod_authz_user, mod_authz_groupfile) имеют директивы, отвечающие за авторитарность этих модулей: AuthBasicAuthoritative On|Off, AuthzUserAuthoritative On|Off, AuthzGroupFileAuthoritative On|Off. Эти директивы позволяют продолжить процесс аутентификации и авторизации следующим модулям. По-умолчанию эти модули авторитарны, т.е. Auth*Authoritative On.

В модуле mod_auth_basic авторитарность работает следующим образом. Обычно, каждый провайдер аутентификации, перечисленный в директиве AuthBasicProvider, пытается аутентифицировать пользователя и, если пользователь не был найден модулем, доступ будет запрещён с ответом 401 Authorization Required. Выключение авторитарности модуля - AuthBasicAuthoritative Off - для таких случаев позволяет не запрещать сразу доступ, а предоставить возможность аутентифицировать пользователя другим модулям. Например, модулям сторонних производителей, которые не могут быть подключены с помощью директивы AuthBasicProvider. Порядок обработки запроса такими модулями не конфигурируется и определяется в их исходном коде.

Для модуля mod_authz_user, например, отключение авторитарности - AuthzUserAuthoritative Off - позволяет продолжить авторизацию следующим модулям (например, mod_authz_groupfile), если не нашлось информации об аутентифицированном пользователе. Пример:

...
AuthzUserAuthoritative Off
Require user john group developers

Модуль mod_authz_user не сможет авторизовать пользователя tom (так как авторизоваться может только пользователь john) и, так как он неавторитарен, позволит продолжить авторизацию следующему модулю - mod_authz_groupfile, которые проверит, принадлежит ли пользователь tom группе developers.

Если все модули в процессе авторизации не смогли авторизовать пользователя и были неавторитарными, последним отработает модуль mod_authz_default, которые запретит доступ 401 Authorization Required.

apache: аутентификация и авторизация #9: mod_authn_default, mod_authz_default

2008-05-28 08:23комментарии  apache

Модуль mod_authn_default является запасным последнем (fallback) модулем в процессе аутентификации. Если для запроса нет сконфигурированного модуля аутентифиукации (например, mod_auth_basic с AuthType Basic и далее) модуль mod_authn_default просто отклоняет любые аутентификационные данные и прекращает обработку запроса со стастусом 401 Authorization Required. Такое может случится, если, например, mod_auth_basic неавторитарен (AuthBasicAuthoritative Off - об этом следующем посте) и не смог аутентифицировать пользователя.

Модуль mod_authz_default является запасным последнем (fallback) модулем в процессе авторизации. Если для запроса не отработал ни один модуль авторизации (например, mod_authz_user с Require user john), а такое возможно если в Require были неопознанные требования, например, Require unknown requirement, модуль mod_authz_default просто прекращает обработку запроса со стастусом 401 Authorization Required.

apache: аутентификация и авторизация #8: mod_authn_anon

2008-05-25 10:51комментарии  apache

Модуль mod_authn_anon позволяет аутентифицировать анонимных пользователей. В качестве имени как правило используется anonymous (но можно выбрать любые другие), в качестве пароля -- email. Этот email может быть сохранён в логе. Совместно с другими провайдерами аутентификации (например, mod_authn_file) модуль mod_authn_anon даёт возможность отслеживать доступ зарегистрированных пользователей и держать сайт открытым для незарегистрированных пользователей.

Пример конфигурации с комментариями:

AuthName "Protected area"
# тип аутентификации
AuthType Basic
# список провайдеров аутентификации, работают последовательно
AuthBasicProvider file anon
# путь к файлу с пользователями для mod_authn_file
AuthUserFile /path/to/your/.htpasswd

# Параметры mod_authn_anon
# может ли имя быть пустым или любым (on или off)
Anonymous_NoUserID off
# может ли пароль (т.е. email) быть пустым (on или off)
Anonymous_MustGiveEmail on
# проверять ли, что введеный пароль есть email (on или off)
Anonymous_VerifyEmail on
# логировать ли email(on или off)
Anonymous_LogEmail on
# список имён анонимных пользователей
Anonymous anonymous guest www test welcome

Require valid-user

Модуль mod_authn_anon может работать только с Basic-аутентификацией. Проверка email (включается директивой Anonymous_MustGiveEmail on) тривиальна - в строке проверяется наличие символа '@' и '.'.

apache: аутентификация и авторизация #7: mod_authz_groupfile

2008-05-24 18:04комментарии  apache

Модуль mod_authz_groupfile обеспечивает авторизацию уже аутентифицорованного пользователя по принадлежности его к некоторой группе. Пример:

Require group developers managers

Группы и их члены определяются в простом текстовом файле: в одной строке название группы и после двоеточия имена членов группы через пробел или таб. Пример:

# file /path/to/groupfile
testers: tom tony
developers: jack john
managers: jane bill

Путь к этому файлу определяется директивой AuthGroupFile:

AuthGroupFile /path/to/groupfile

Отметим, что данный выше пример директивы Require полностью аналогичен такой:

Require user jack john jane bill

Использование модуля mod_authz_groupfile позволяет группировать пользователей в группы, и управлять доступом уже на уровне групп.

apache: аутентификация и авторизация #6: mod_authz_host

2008-05-13 22:27комментарии  apache

Отдельное место среди всех авторизаторов занимает модуль mod_authz_host. При обработке запроса этот модуль вызывается раньше любых других модулей аутентификации/авторизации и используется для контроля доступа на основании данных о хосте клиента (имя хоста, адрес) и характеристик запроса (через переменные окружения). Этот модуль, пожалуй, наиболее часто используемый в Апаче для контроля доступа.

Работа модуля определяется директивами: Order, Allow, Deny. Директива Order определяет порядок проверки правил:

Order allow,deny

значит, что первыми будут проверятся правила allow (т.е. разрешающие), потом - правила deny (запрещающие). Если никаких правил нет - действие по умолчанию - запретить всем. Директива

Order deny,allow

значит наоборот. Первыми будут применяться правила deny, потом - allow. Действие по умолчанию - пускать всех. Директивы Allow и Deny задают правила для проверки:

# пускать всех клиентов из зоны .org
Allow from .org
# три идентичных правила: пускать из подсети 192.168
Allow from 192.168
Allow from 192.168.0.0/16
Allow from 192.168.0.0/255.255.0.0
# не пускать с такого ipv6-адреса
Deny from 2001:db8::a00:20ff:fea7:ccea

Правила проверяются до первого совпедния. Правило "совпало", если правило соответствует информации о клиенте. Если правило совпало в цепочке allow - доступ разрешается, если в цепочке deny - запрещается.

apache: аутентификация и авторизация #5: mod_authz_user

2008-05-13 09:02комментарии  apache

Модуль mod_authz_user обеспечивает авторизацию аутентифицированного пользователя. Иначе говоря, пользователю, который успешно прошёл проверку имени/пароля (т.е. успешно аутентифицирован), модуль разрешает или запрещает доступ к запрашиваемому ресурсу.

Модуль проверяет значение директивы Require. Строка

Require valid-user

означает, что модуль будет успешно авторизовать (давать доступ) всем аутентифицированным пользователям. Строка

Require user john tom

означает, что модуль будет успешно авторизовать только пользователей john и tom.

дальше будет.

apache: аутентификация и авторизация #4: mod_authn_file

2008-05-12 10:11комментарии  apache

Рассмотрим работу модуля mod_authn_file. Этот модуль является провайдером аутентификации для таких модулей как mod_auth_basic или mod_auth_digest. Аутентификация происходит путём поиска пары пользователь/пароль в текстовом файле. Такой файл можно создать руками, а можно с помощью утилиты htpasswd. Команда

htpasswd -c /path/to/passwdfile user1

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

user1:$apr1$9Y3.....$4fT.9GPTLwu4zwNTJ9HoE0

Для шифрования паролей утилита htpasswd для Windows по умолчанию использует md5, а для unix-систем - crypt(). Опционально пароли можно шифровать с помощью SHA1 или не шифровать вообще, например так:

user2:pass2

Для того, что бы аутентификация происходила с помощью этого модуля необходимо указать

AuthBasicProvider file
# или
AuthDigestProvider file

и путь к файлу с паролями

AuthUserFile /path/to/file

Путь может быть абсолютным или относительным от ServerRoot.

Этот провайдер аутентификации используется чаще всего: просто и быстро, к тому же файл с паролями можно править руками (например, закомментировать с помощью # любого пользователя). Недостаток - медленная работа при большом количстве пользователей. В целях безопасности не следует помещать файл с паролями в дерево директорий сайта.

дальше будет.

apache: аутентификация и авторизация #3: mod_auth_basic

2008-04-27 14:32комментарии  apache

Рассмотрим как работает mod_auth_basic. Содержимое .htaccess в директории /var/www/private/, соответствующей uri /private/:

# Тип аутентификации
AuthType Basic
# Имя зоны, для которой необходима аутентификация,
# Иначе называется realm
AuthName "private zone"
# Провайдер аутентификации. В данном случае - mod_authn_file
AuthBasicProvider file
# Информация для mod_authn_file - путь к файлу с именами и паролями,
# Такой файл создаётся с помощью утилиты htpasswd или вручную - рассмотрим позже.
AuthUserFile /etc/apache2/conf/.htpasswds
# Доступ будет разрешён аутентифицированному пользователю john,
# т.е. будет авторизован только пользователь john.
Require user john

Происходит запрос в /private/. При обработке запроса на этапе проверки доступа начинает работать модуль mod_auth_basic. Он в запросе ищет заголовок Authentication. Если заголовка нет - модуль прекращает обработку запроса и сервер возвращает ответ со статусом 401 Unauthorized и заголовком WWW-Authenticate: Basic realm="private zone". Браузер, получив такой ответ, выдаёт приглашение для ввода имени пользователя и пароля для зоны 'private zone'. Получив аутентификационные данные, браузер посылает такой же запрос с заголовком Authentication. Имя пользователя и пароль кодируются в base64-кодировку так:

base64encode('john:secret') -> 'am9objpzZWNyZXQ='

и получается такой заголовок:

Authentication: Basic am9objpzZWNyZXQ=

Теперь, при обработке запроса, mod_auth_basic из заголовка Authentication получит аутентификационные данные:

base64decode('am9objpzZWNyZXQ=') -> 'john:secret'

Эти имя пользователя и пароль mod_auth_basic передаст провайдеру аутентификации (в нашем случае mod_authn_file) для проверки. При успешной проверке, запрос продолжит обрабатываться, при неуспешной mod_auth_basic опять прекратит обработку запроса с 401 Unauthorized.

Дальще будет.

← Prev 1 2 3 4 5 Next →