Все об AuthType (авторизация в Apache)

Все об AuthType или авторизация в Apache

Здесь я расскажу о возможностях Apache защищать содержимое сервера либо его частей.

Директивы Apache для контроля доступа


Контроль по IP

Если вам нужно просто разрешить или блокировать доступ к какой-либо части сайта или всему серверу в целом для определенных IP, используйте следующие директивы.

Внимание! Если вы хотите использовать эти директивы в файле .htaccess, проверьте, что бы для вашего хоста директива AllowOverride корневого файла конфигурации Apache включала опцию Limit

Order

Значения: Order (allow,deny | deny,allow)

Директива Order указывает порядок, в котором будет производиться чтение из директив Allow и Deny

* Allow,deny - сначала читаются директивы Allow. Если пользователя нет в этом списке, то он блокируется. Если же он есть, то далее считываются директивы Deny(процесс еще не закончен). Если же пользователь есть и там, то он блокируется. Если его там нет, то он пропускается. Т.е пользователь пропускается только при наличии только в списке Allow, но не в Deny
* Deny,allow - сначала обрабатываются директивы Deny и отсеиваются те пользователи, которые есть в этом списке. Любые другие пропускаются. Т.е пользователь пропускается всегда, но если его нет в списке Deny

Allow и Deny

Формат директив: (Allow | Deny) from (IP | IPs | all) (IP | IPs | all) : (IP | IPs | all)

Директивы Allow и Deny определяют клиентов, которым разрешить или запретить доступ к серверу.

Директивы допускают использование:

* Одиночного IP(IP) - обычный вид IP, например, 127.0.0.1
* Группы IP(IPs) - группа IP, например, для доступа, только из локальной сети, 192.168.1.0/24
* Любого IP(all) - обозначает любой IP

После слова from может идти любое количество указанных директив, разделенных пробелом

Примеры

Файл .htaccess

Order allow,deny
# Deny from all # если вы это напишите, то даже те адреса,
# которые указаны в директивах Allow не будет пропущены
Allow from 192.168.1.0/24 11.11.11.12

В этом файле указывается доступ только для клиентов из локальной сети или с IP 11.11.11.12

Часть файла httpd.conf

...
<
Directory "/home/Site.ru">
Order deny,allow
Deny from 33.250.11.25
</Diectory>
...

Так мы баним сайт для какого-нибудь одного IP
Контроль по имени пользователя или группе

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

Внимание! Если вы хотите использовать эти директивы в файле .htaccess, проверьте, что бы для вашего хоста директива AllowOverride корневого файла конфигурации Apache включала опцию AuthType. Так же для некоторых директив(AuthUserFile и AuthGroupFile) нужна поддержка mod_auth

AuthType

Значения: AuthType (Basic | Digest)

Apache поддерживает 2 типа защиты содержания (директива AuthType):

* Basic - базовая авторизация. Шифрование используется я на обеих сторонах, но клиент передает пароль не надежно зашифрованным, т. к не используется ключ шифрования. Это крупный недостаток этого метода. Применяется алгоритм шифрования Base64
* Digest - аутентификация специальным кодом (дайджестом), который использует ключ, конкретно, имя пользователя, пароль, область, требующая аутентификацию, различную информацию о запросе и уникальный код данного запроса, который Apache присваивает каждому соединению. Это однонаправленный метод, и для того, что бы расшифровать это, стороннему человеку требуется слишком много информации об обеих сторонах. Но главный недостаток этого метода в том, что его не поддерживает ни один пользовательский браузер, хотя сейчас это уже, наверное, не так (данные на 2000 год). Этот метод обычно используется в специализированных системах

AuthName

Формат директивы: AuthName "String"

Эта директива указывает текст подсказки, которая отображается в браузере при входе на защищенную часть сайта, см. рисунок выше

AuthUserFile, AuthGroupFile

Формат директив: (AuthUserFile | AuthGroupFile) "String"

Внимание! Для работы этих директив необходим модуль Apache mod_auth, который подключается по умолчанию

Эти директивы определяют, соответственно, путь (абсолютный) к файлу, хранящему связки Имя:DES и путь (тоже абсолютный) к файлу, хранящему связки Группа:Имя Имя : Имя

AuthUserFile

Содержит информацию о допустимых именах пользователей и их паролях в формате Имя:DES, где DES - это название алгоритма шифрования. Файл можно создать стандартной консольной программой, входящей в состав Apache, htpasswd. Описание ее использования смотрите ниже

AuthGroupFile

Эту директиву нужно указывать только, если вы указали значение для директивы Request(смотрите ниже) равном group

Этот файл содержит информацию о допустимых группах пользователях для входа. Формат файла: Группа:Имя Имя : Имя. Т.е только те пользователи, которые существуют и которые входят в группы, описанные в директиве Require(смотрите ниже), смогут войти

Require

Значения: Require (user Имя Имя : Имя | group Группа Группа : Группа | valid-user

Эта директива определяет принцип аутентификации:

* User - только пользователи, указанные следующими через пробел, и указавшие верный пароль, смогут войти
* Group - только пользователи, входящие в группы, указанные следующие через пробел, и указавшие верный пароль, смогут войти. Указание директивы AuthGroupFile обязательно
* Valid-user - любой пользователь, существующий в файле AuthUserFile, и указавший верный пароль, сможет войти

На этом директивы, необходимые для метода AuthType Basic, перечислены. Другие директивы, относящиеся к методу AuthType Digest, я перечислять не буду, т. к они имеют узконаправленное действие и в общих системах не используются
Утилита Apache htpasswd

Эта консольная программа создает файлы, указываемые в директиве AuthUserFile. Файл хранит связки Имя:Пароль для доступа к защищенной части сайта

Обычно программа поставляется вместе с Apache и находиться в папке bin ее корневой папки

Формат вызова утилиты:

htpasswd [-cdpsb] ПутьКФайлуПаролей ИмяНужногоПользователя

Параметры командной строки

* -с - создать новый файл. Если этот параметр не указан, и файл не существует, утилита выдаст ошибку и аварийно завершит работу. Внимание! Если файл уже существовал, он будет перезаписан
* -d - утилита будет использовать алгоритм шифрования DES (в C это функция crypt()). По умолчанию используется во всех ОС, но не в Windows
* -m - использовать алгоритм шифрования MD5, который является шифром по умолчанию в Windows
* -p - сохранить пароль в чистом виде, без шифрования. Работает только в Windows
* -s - утилита будет использовать алгоритм шифрования SHA
* -b - в нормальном режиме, без этой опции, утилита получает пароль вводом в стандартный входной поток. При использовании этой опции, после пути к файлу паролей должен идти пароль, и утилита получит пароль из этой опции. Утилита не будет ждать пользовательского ввода, она сразу возвратит управление в оболочку. Пример: htpasswd -b .htpasswd smhtpass

Примеры паролирования

Файл .htaccess

AuthType Basic
AuthName
"You are entering Private area. Please enter your login and password"
AuthUserFile /home/Site.ru/www/PrivateDir/.htpasswd
# AuthGroupFile .htgroup # эта директива здесь не нужна,
# т. к мы используем аутентификацию по пользователям, но не по группам
Require user My root UUCP hacker guest

Здесь доступ разрешен по файлу .htpasswd для пользователей My, root, UUCP, hacker и guest. Тип авторизации Basic

Часть файла httpd.conf

....
<
Directiory "/home/Site.ru/www/My">
AuthType Basic
AuthName
"This is only my area"
AuthUserFile /home/Site.ru/www/PrivateDir/.htaccess
AuthGroupFile
/home/Site.ru/www/My/.htgroup
Require group my root
</Directory>
....

Здесь доступ разрешен по тому же файлу с пользователями, но только с теми, кто входит в группы my или root, определенные в файле .htgroup

Для создания файла паролей для первого примера

Входим в shell и пишем такие команды

; Считаем, что текущая папка установлена на папку с утилитой htpasswd
; Так же считаем, что файл паролей, который требуется создать, еще не существует
# htpasswd -cb /home/Site.ru/www/PrivateDir/.htpasswd root rootpasswd
# htpasswd -b /home/Site.ru/www/PrivateDir/.htpasswd UUCP pass_rootcp
# htpasswd /home/Site.ru/www/PrivateDir/.htpasswd My
Password: mypasswd
Repeat password
: mypasswd
Password created OK
; Аналогично создаем записи для пользователей hacker и guest


codenet.ru






Комментировать





  • » Контекстные ссылки от биржи ссылок "Set Links"
  • » Простой сервис для непростой регистрации в каталогах
  • » Система размещения рекламы по ключевым словам "ГДЕ"
  • » Первый дискаунтер выделенных серверов ВкусноСервер
  • » Биржа контекстных ссылок "Nahaa"
  • » RSS-канал, социалка и прочее как средства продвижения блога (сайта)
  • » Партнёрская программа по покупке, продаже трафика Pro Traf
  • » Анонс партнерской сети Ping Media
  • » Как заработать деньги на Ютубе?
  • » Яндекс и фильтр АГС-30
  • » Партнерская программа по продаже гороскопов
  • » Система контекстной рекламы Rich Сlick
  • » Фармацевтическая партнёрская программа
  • » Партнерская программа для развлекательных сайтов
  • » ВНИМАНИЕ! Акция «TunnelFOREX» продлится до 11 июня!
  • » Сервис регистрации сайтов в 4295 Интернет-каталогах
  • » Инструменты для создания собственного сайта
  • » Шрифты для сайта
  • » Сервис интеллектуальной медийной рекламы "AD Skape"
  • » Movebo - сервис продвижения сайтов в ТОП Яндекса и Google поведенческими факторами
  • » Программа SERP Parser для автоматической проверки позиций сайтов в ПС
  • » Биржа ссылок MainLink по следам Sape или процесс пошёл...
  • » Wizard Globo. Новый формат монетизации трафика от команды Wizzzards
  • » Анонс партнерской программы и хостинга Петер Хост
  • » Cистема покупки-продажи контента "Text Sale"
  • » Альтернатива Sape или серьезный конкурент?
  • » Партнeрская программа Alawar
  • » Что такое FOREX (Форекс)?
  • » Рейк и покер
  • » KinoPerez - не лучшая партнерка по фильмам
  • » Итоги конкурса SeoPult 1 апреля
  • » «Блогун» в i-COMference: новости и секреты!
  • » IV конференция «PR в интернете»: 25 докладчиков, 50 актуальных тем, 4 мастер-класса!
  • » Реализована рассылка новых поступлений
  • » 5 советов, как улучшить ранжирование в социальном поиске Facebook
  • » Открываем сезон отпусков
  • » Апдейт тИЦ'a
  • » Пятница... а работа все не кончается...
  • » 26 марта: вебинар «Как получить больше трафика из поисковых систем при тех же позициях?»
  • » Статистика по поисковым запросам
  • » Партнерская программа от Aviasales
  • » Накрути себе проблему
  • » Средство от многолинков
  • » 22 октября: вебинар «Как увеличить прибыль технологиями будущего»
  • » Рекламируя свои товары и услуги в блогосфере, знаете ли вы, как легко и безболезненно сократить рекламный бюджет на 90%?
  • » Как собрать ссылки на блог — разбор примеров
  • » Обновление ТИЦ 29.04.11
  • » SEO, SEA, SEM. Что это?
  • » Пополнение через QIWI
  • » Маркетинговые тренды: куда вкладывать бюджет и на какие тактики делать ставку в 2015 году. Часть 1
  • » Список Черный, Список Белый…
  • » Белый список
  • » «Налог на блогеров», раунд второй: Госдума начинает и… выигрывает?
  • » Доначисление за 12 декабря – часть два
  • » Репортаж с семинара «SeoPult от первого лица»
  • » Игорь Манн: Как залатать дыры в продающей воронке вашего сайта
  • » ОТКРЫТА ПРОДАЖА ССЫЛОК ПО ОПТОВЫМ ЦЕНАМ
  • » Изменение функционала при добавлении площадки в «Избранное».
  • » SEO-аудит сайта Film.ru
  • » Блог «в законе»


Категории


Полезные заметки

Популярные записи