Вот, суть:
Недавно начал на друпале кодить, практически сразу встал вопрос как "спрятать" (при необходимости) ссылку на страницу аутентификации. В сети я не нашел готового решения(возможно такое уже и писали).
Есть мое решение, может кому пригодиться:
1. Включаем модуль path (позволяет создавать псевдонимы для адресов страниц (и н только) друпал)
2. Заходим в URL Aliases и создаем новый псевдоним (.../admin/build/path):
В графе существующий адрес (Existing system path) пишем user
В графе псевдоним (Path alias) пишем на свой вкус, нечто вроде supersecretlink1129827236
3. Открываем в корневой директории друпал файл .htaccess, находим строку RewriteEngine on
и буквально сразу после нее с новой строки пишем следующее:
в 1-й строке мы задаем условие (для URI: www.washdomen.ru/user, www.washdomen.ru/user/ ),
во 2-й строке правило L - условие последнее, F - Forbidden, запрет доступа (выдает средствами сервера статус 403).
--
Вот Вам и специалисты. Критики-море, куча обид, да вот только ошибку никто из говорливых не поправил за 2 дня. Чтож, промолчу, и без слов ВСЁ ясно.
Исправляю:
Комментарии
P.S. Ну и соответственно теперь обращаемся для аутентификации не к
www.washdomen.ru/user
, а кwww.washdomen.ru/supersecretlink1129827236
А зачем это вообще делать? Для простых юзеров можно спрятать блок с ссылкой на авторизацию и все.
Чтобы повысить безопасность, в некотором смысле, поскольку ссылка с произвольным набором символов в данном случае выступает в качестве дополнительного "пароля". По эффективности эта мера практически не уступает решению с тем же .htaccess, require valid-user...
Учитывая простоту данного решения оно должно быть весьма эффективным (в плане усиления безопасности).
Т. е. если раньше аутентификация состояла из пары login+password, то теперь это уже тройка secreturl+login+password.
Если Вы знакомы с сочетаниями в теории вероятностей, то должны понять существенно снизившуюся вероятность "угадывания" в этом случае данных для аутентификации.
Согласна, можно будет применить...
Ну вот, на нашем форуме стало на одного параноика больше... ТС, это надо лечить на начальных стадиях
Тогда уж правильней поставить 404, а не 403. Так как 403 будет косвенно указывать что тут что-то есть
Ну тогда уже не просто 404 (403 - прописывается прямо в правиле RewriteRule и выдает 403 средствами сервера, а не друпала - до друпала на самом деле запрос не доходит вовсе) а скажем, есть у Вас пользовательская страница ошибки 404 в друпале по адресу /404. Тогда делаем, к примеру, вот как:
или, понятней, если адрес Вашей пользовательской страницы ошибки 404 /pagenotfound
--
Спасибо Вам, и таким как Вы - БОЛЬШОЕ! Я вполне серьезен, благодаря Вам я точно не останусь без работы.
Извиняюсь за нескромный вопрос, Вы случаем логин:пароль admin:admin не считаете достаточной мерой безопасности?
Нет, Вы не подумайте, я не язвлю, а лишь пытаюсь ВЕРНО классифицировать собеседника, если можно так выразиться (с Вашего позволения, разумеется)...
Нет, не считаю, ставлю нормальной длины и сложности.
Но считаю, что прятать ссылку логина это черезчур, так как:
1. Брут по http дело не быстрое
2. Брут по http дело такое которое тяжело не заметить
3. Если кому-то надо вас сломать, то вас сломают и без логина
И вообще по поводу прятанья ссылки логина и других якобы "супер-антихак средств", Dan, не так давно, в аналогичном топике рассказал своё мнение, я его мнение полностью разделяю.
Я рад, что благодаря мне вы не останетесь без работы, но всё же, даже если переопределять путь логина, то делать это стоит своим модулем, так как ваш способ затрагивает .htaccess, который может быть изменён во время обновления системы, а во-вторых требует модуль path, который не у всех может стоять. Недрупальский у вас метод решения задачи. Так что, товарищ, лучше работать над собой, нежели хвалится что благодаря таким я, вы останетесь без работы
Мало того что модуль path популярен и весьма полезен, он еще является частью ядра друпал, начиная с версии 4.3, вот текст о модуле Path с drupal.org: «...As of Drupal 4.3, this module has been integrated into the core.»
3-й пункт, Уважаемый RxB, право, не стоило так... Любой дверной замок вскрывается медвежатником за, примерно 30 минут, но Вы ведь не станете так огорчаться по этому поводу и не перестанете запирать дверь?
В вопросах безопасности не лишним быть знакомым с дисциплиной ТОКБ (Теоретические основы компьютерной безопасности), поверьте, это философия, "разработанная" специально для IT-шников.
По поводу .htaccess, не скрою, видимо есть здравое зерно...как минимум - нужно иметь в виду.
Но запрет, реализуемый через .htaccess на порядок надежней средства, реализуемого модулем друпала. Сравните цепочку, по которой "проходит" запрос в обоих случаях (условно, конечно - только чтобы уловить суть):
(.htaccess) Запрос -> Apache -> Запрет
(drupal module) Запрос -> Apache -> PHP -> Drupal -> Запрет
--
Уважаемые читатели! ПОМНИТЕ! Большинство взломов происходит по причине НЕДОСТАТОЧНЫХ мер безопасности! НО(!), здравый смысл никто не отменял. Если Вы действительно понимаете что делаете (как специалист), не слушайте других, делайте так, как считаете нужным в конкретной ситуации! (А ОПЫТ Ваших коллег - всегда имейте в виду).
Эм... И в чём порядок надёжности? Вы знакомы с hook_menu_alter() к примеру?
Да, конечно знаком, речь о том, что кол-во элементов задействуется меньшее, поймите, даже PHP в этом случае не задействуется. Повторюсь, до hook_menu_alter() программный путь ДЛИННЕЕ и соответственно вероятность ошибки (потенциальная) - ВЫШЕ.
Оценка безопасности всегда измеряется вероятностными характеристиками.
В конце концов я ТОЛЬКО пердложил тем, кому это будет нужно решение. При этом никого не критиковал и не претендовал на звание "решение года", "панацея"...
Напишите СВОЙ модуль, поручитесь за него и выложите для загрузки Ваш труд для сообщества.
Есть золотое правило: критикуя - предлагай.
Мы с Вами по-разному смотрим на одни и те же вещи. Никому не в обиду, но я 6 лет учился в университете и получил диплом гос. образца по специальности 075200 "Компьютерная безопасность". Я - применяю полученные знания на практике, по крайней мере стараюсь это делать.
И пусть меня лучше осудят за излишнее стремление защитить систему от взлома, чем посмеются над неприятными мерами.
Я не понял, вы оптимизируете главную страницу? Если у вас такой сумашедший путь, то его набирать будут единицы пользователей - какой смысл в измерении длины и о какой ошибке речь?
Вы теории где-то начитались? Почитайте практику. На моём опыте друпал ещё ни разу не был сломан (если не считать случаев "усиления" безопасности вроде вашего, при котором были допущены фатальные ошибки), а вот через окружение - множество раз.
Именно. Только Ваше решение явно не от здравого смысла, а от банальной параннои. Что _ещё_ Вы сделали, чтобы обезапасить себя от атак?
А я учился на очном отделении, на год меньше, мне, наверно, не стоит хвалится? Диплом в наше время не более чем бумажка. И имею опыт работы достаточный, вас быстрее сломают с тылов, через FTP, SSH, украдут пароли сохранённые в клиенте. Чем будут брутить по http
Всем спасибо за критику, но я не склонен к битию себя в грудь и рассказах о покоренных вершинах.
Если ЭТО никому не интересно и кажется параноидальным - пожалуйста, считайте что я преклонился перед Вашим опытом, я не обеднею от этого!
Возможно я не в том месте разместил своё скромное мнение (опять-таки IMHO, конечно - извините за каламбур).
Модераторы, если Вам угодно - удалите ради бога этот пост, пока меня не обвинили в чем-нибудь криминальном! И если, не дай бог, я оскорбил кого-то заявлением о своем образовании...Уважаемые "самоучки" - я знаю по меньшей мере десяток "самоучек" (на мой взгляд это название грубовато, но я не располагаю другим столь же кратким и исчерпывающим названием) которые дадут фору уважаемым профессорам-практикам.
Если Вы не заметили, я не пытаюсь осквернить чей-то опыт. Приведите пример, в котором эти жалкие мои пару строк в .htaccess послужат брешью?
Я безмерно счастлив что у многих из уважаемых кодеров есть "бумажки" об образовании, это важно для Моей страны, это в целом повышает уровень образованности нации. Жаль только что субъективное мнение зачастую главенствует над объективным.
--
Возможно я попросту не умею "достучаться" до определенной категории граждан, но по крайней мере хоть кто-то не жалеет времени на критику, а это порой бывает важно и нужно.
--
Прошу меня извинить, но я вынужден прекратить комментировать этот пост, ну конечно за исключением случая появления здесь интересного (для меня) каммента.
Да-да-да. Мы никуда не годимся
PS: ещё user/register есть. Да и запрещать надо /user* если уж на то пошло. Скоро будет стабильная версия high security drupal? )))
Скоро, скоро, здравомыслящие вы мои... Когда выйдет первая бета - позову вас всех в тестеры, потешусь.
Мбугага
Большое спасибо, я спрятала также папку admin.
Молодец, что спрятали, можете теперь спать спокойно, забить на обновление модулей и движка и поставить пароль 123
Большое спасибо специалисту по безопасности, улыбнул многократно. Хотя человек, возможно, делает сайт для какого-нить правительства. Страшно подумать, какие будут его следующие, после обеспечения безопасности, действия.
PS Всегда считал лучшей защитой от взлома ежедневный бэкап.
logintoboggan насколько помню позволяет ограничить количество попыток входа, и таймаут между попытками увеличивает. этого не достаточно?
я бы спрятал ссылку не на логин, а на сайт ^^)
Зачем прятать? Лучше вообще не выкладывать сайт. Нет сайта -> его никто не взломает -> нет цели для атаки -> не надо защищать
Запрос -> Запрет
Сайт не Родина, фанатизм тут не к чему.
Постебались над человеком, причем на ровном месте
Обновляет и модули и движок. И почему Вы решили, что не будет обновлять? Какая связь?
А отсечь лишнюю попытку посмотреть админку я думаю стоит.
http://www.whitehouse.gov/user - здесь, как видим, доступ для авторизации закрыт.
А, по-моему, статья неплохая. И весело было почитать комменты
Но в случаях, когда на сайте будут авторизоваться пользователи, смысла особого в скрытии /user не может быть, поскольку ссылка на страницу авторизации будет общедоступной.
Но, ежедневно боты пытаются или авторизоваться на сайте на /user, /user/login, или зарегистрироваться на user/register. И чем плохо, если мы для них скроем эти алиасы?
Вопрос не в том, скрывать или нет, а в том, как это делать. Человек удалил гланды через уши, вместо использования стандартных механизмов, типа hook_menu_alter и custom_url_rewrite_inbound/outbound.
Так и не исправлено с учётом что есть ещё user/register.
Ну когда же?