Поддержка Проблемы и решения Как закрыть доступ к системным папкам?

  • Здравствуйте,
    У меня на сайте в очередной раз был превышен лимит хостинга по нагрузке на БД. Сегодня и вовсе с утра приходит по сообщению раз в несколько секунд о блокировке того или иного IP из-за слишком большого количества попыток входа (установлен плагин Better WP Security, также установлен плагин Wordfence Security). В последний раз такая лавина обращений была около месяца назад из-за DDOS-атаки на хостера, но сейчас у него таких проблем нет. Особых аномалий специалист в техподдержке не обнаружил, порекомендовал запросить и изучить логи. В то же время он увидел обращения и к системным файлам. Специалист сказал, что .htaccess можно настроить так, чтобы к системным файлам мог обращаться только заданный IP, а всем остальным выдавалась ошибка, причем это настройка для WP своя. Вопросы такие:

    1) Это можно сделать средствами уже установленных плагинов Better WP Security и Wordfence Security, или какого-то другого плагина? В своих плагинах я нашел только возможность блокировки заданных IP, а не блокировки обращения к системным папкам всех IP, кроме моего.

    2) Если нет — как это можно сделать вручную, существуют ли образцы кода?

    3) Как это сделать, чтобы при этом не запретить и не затруднить индексацию сайта поисковыми роботами?

    Спасибо.

Просмотр 15 ответов — с 16 по 30 (всего 69)
  • В моем каталоге wp-admin нет файла .htaccess, я правил его в папке htdocs.

    Модератор Yui

    (@fierevere)

    永子

    так можно его создать

    .htaccess работает в той папке в которой он создан и во всех вложенных папках (кажется до 8 уровня ? дальше апач уже не смотрит более чем на 8 папок вверх кажется)

    не думаю что вы хотите сделать Deny All на весь ваш сайт, если размещать правило в корневом .htaccess

    Yui,
    Большое спасибо, исправил. Я правильно понимаю, что во всем файле достаточно только этого кода?

    Order deny,allow
    Deny from all
    Allow from #мой IP#
    <files admin-ajax.php>
    Allow from all
    </files>
    Модератор Yui

    (@fierevere)

    永子

    да,и кладете его в /wp-admin/.htaccess

    Не понимаю только, почему блокирование доступа не повлияло на индексацию сайта поисковиком — я находил новые публикации уже после того, как по-ошибке прописал код в папке htdocs. И посещаемость сайта была обычная — разве в случае запрета доступа она не стала бы нулевой?

    Сергей, большое спасибо за то, что обратили внимание на мою ошибку.

    Модератор Yuri

    (@yube)

    А Вы проверьте, может, эти запреты вообще не работают. Так бывает.

    ОК. А если бы работали, то индексации и посещений не было?

    Модератор Yui

    (@fierevere)

    永子

    потестируйте вход с другого ip, чтобы убедиться что правила действительно работают )

    я тоже не зря это написала.
    если бы запрет работал, то смотреть страницы можно было бы только с разрешенного IP

    Я уже ничего не понимаю: после добавления .htaccess в оговоренной редакции в папку wp-admin, в нее перестает пускать и меня, заходящего со своего IP. С удалением файла доступ появляется. Так что файл точно работает, а вот как работает — непонятно.

    Причем настройки (Свойства папок и файлов) в панели управления хостера противоречат файлу .htaccess в папке wp-admin: на всех файлах этой папки для Остальные (т.е. всех, кроме Владелец и Группа) галочки на чтении стоят. Боюсь теперь и доступ к admin-ajax.php закрыт. Насколько он важен?

    Модератор Yui

    (@fierevere)

    永子

    в нее перестает пускать и меня

    IP неправильно написали
    надо использовать свой внешний IP

    посмотреть можно на http://2ip.ru например или куче других сервисов

    на admin-ajax стоит Allow from All , доступ открыт.

    Не вполне понимаю, что значит внешний — я писал именно тот, что показывается в том числе по вашей ссылке, в стандартной форме (например, 69.30.238.162).

    Я имел в виду, что файл возможно работает некорректно, раз он закрыл доступ на чтение IP, прописанному в Allow from. Потому и опасаюсь, что и к файлу admin-ajax.php, несмотря на исключение, доступ тоже закрыт.

    Модератор Yui

    (@fierevere)

    永子

    код конфига корректный, ошибки могут там быть только
    если директивы запрещены уровнем выше с помощью AllowOverride,
    но у вас этого нет, т.к. блокировки работают

    возможен такой вариант что хостер использует фронтэнд корректно не передающий IP адрес и mod_rpaf, попробуйте узнать у хостера, почему не работают корректно правила в .htaccess

    Модератор Yuri

    (@yube)

    Причем настройки (Свойства папок и файлов) в панели управления хостера противоречат файлу .htaccess

    .htaccess задает правила для Апача, а ПУ показывает права в файловой системе. Это две большие разницы.

    Не вполне понимаю, что значит внешний — я писал именно тот, что показывается в том числе по вашей ссылке, в стандартной форме (например, 69.30.238.162).

    Мало ли, может какие-нибудь скобочки-кавычки добавили. Надо просто, например, так

    Allow from 91.78.145.18

    Потому и опасаюсь, что и к файлу admin-ajax.php, несмотря на исключение, доступ тоже закрыт.

    Если бы Вы адрес сайта не держали в тайне, мы бы посмотрели 😉

    Yui, спасибо, попробую связаться с хостером. Кстати, пока файл .htaccess в оговоренной редакции находился в папке htdocs, доступ к сайту с других IP был как обычно (подтвердил человек, который в то время заходил на сайт).

    Юрий, IP прописал именно в такой форме. Конечно, буду только рад, если вы посмотрите на сайт опытным взглядом.

Просмотр 15 ответов — с 16 по 30 (всего 69)
  • Тема «Как закрыть доступ к системным папкам?» закрыта для новых ответов.