Способы защиты Joomla сайта от хакеров
Как уже упоминалось ранее, невозможно создать сайт на 100% защищенным от взломов, но в наших силах значительно усложнить работу хакера. Если используется Joomla 3.5 (или старше), то возможно предпринять базовые шаги, которые помогут защитить сайт от злоумышленников. По подтвержденной информации, ежедневно взламывается более 30 тысяч сайтов, это довольно ощутимая цифра чтобы понимать, что каждый находится в зоне риска. Нет смысла становиться частью этой печальной статистики.
Многие думают, что данная проблема не коснется их, с полной уверенностью заявляют, что хакерам не интересны маленькие интернет-магазины или блог неизвестного автора. В действительности хакеру, в большинстве случаев, не важна специфика сайта, он не проводит анализ содержимого, он произведет атаку лишь потому, что он может это сделать: уничтожить или поменять контент, добавить скрытую ссылку или настроить переадресацию.
Любой врач скажет, что профилактика лучше, чем лечение. Нижеописанные советы помогут увеличить безопасность сайта и предотвратить взлом.
1. Выполните обновления
Многих удивит насколько много сайтов используют устаревшую версию CMS. Причины по которым обновления не выполняются своевременно могут быть разные: нет времени или ресурсов, но чаще всего пользователи не видят в этом необходимости, что является большим заблуждением. Несколько раз в году обнаруживаются уязвимости в безопасности и команда Joomla, как и другие разработчики, выпускают обновления, которые исправляют данные проблемы. Владельцы сайтов не следят за данными новостями, но злоумышленники совершенно точно знают какие старые версии CMS имеют проблемы с безопасностью и несомненно воспользуются данной возможностью, чтобы реализовать свой коварный замысел.
Обновите ядро Joomla, а так же компоненты, плагины, модули и шаблоны до актуальных версий. Тысячи сайтов взламываются из-за использования устаревшего программного обеспечения, хотя требуется выполнить несколько простых действий, чтобы выйти из группы риска.
2. Проверьте сайт и сделайте резервную копию
Не следует планировать мероприятия по повышению уровня защиты сайта, если нет уверенности, что он уже не заражен. Если сайт работает исправно и не дает поводов для беспокойства, это не значит, что атак на него не было. Во-первых необходимо сделать полный анализ, есть вероятность, что удастся обнаружить вредоносный код и удалить его, как это сделать было подробно рассказано в одном из прошлых постов. Вторая проблема заключается в том, что большинство владельцев сайтов Joomla не меняют конфигурацию, которая настроена по-умолчанию, например переименование файла htaccess.txt в .htaccess, отключение регистрации в менеджере пользователей (User Manager), включение коротких ссылок и выполнение других действий, которые рекомендуется сделать после успешной инсталляции системы.
Когда есть уверенность, что сайт не содержит вредоносного кода и текущие настройки близки к идеальным, выполните полный резервное копирование (бэкап) файлов сайта и базы данных. Идеальным решением будет настройка бэкапа на постоянной основе, например автоматическое выполнение раз в неделю. Наличие постоянного бэкапа за разные периоды времени застрахует от многих сюрпризов, например можно с легкостью восстановить случайно удаленную статью или откатиться на предыдущую версию после неудачного обновления.
Важно понимать, что бэкап должен храниться отдельно от основного сайта, так как, если злоумышленник получает доступ к серверу, то резервные копию могут быть так же заражены, либо просто стерты. Можно копировать файлы с резервной копией на свой компьютер, но правильным решение будет хранение на стороннем хостинге, лучше в нескольких экземплярах.
3. Безопасен ли хостинг?
Для информации: более четверти взломов происходит через уязвимости серверной части. Это как правило устаревшие версии PHP, открытые права доступа на папки в файловой системе, небезопасные настройки web-сервера… много мелких нюансов могут привести к печальным последствиям. Многие хостинги размещают множество сайтов на общем сервере и, фактически, если заражен один сайт, то все остальные находятся под угрозой, вне зависимости от того, какие меры безопасности были предприняты владельцами.
Дешевые хостинги, как правило не предоставляют встроенный сетевой экран, услугу резервного копирования и другие инструменты, которые призваны защитить работу сайта. Помните, что первая линия защиты это не Joomla, а оборудование хостинг-провайдера.
4. Замаскируйтесь
Первое, что необходимо знать хакеру, чтобы выполнить успешную атаку, это тип CMS на которой работает сайт. Конечно, владелец никому не скажет, что у него Joomla, но существует множество признаков, как явных, так и косвенных, по которым можно определить CMS. Автоматизированные боты, в том числе и поисковые, регулярно опрашивают сайт и на основе полученной информации могут совершенно точно определить не только, что сайт работает на Joomla, но и версию ядра.
Первое, включите короткие ссылки (short URLs). Второй шаг, удаление метатегов, которые генерирует Joomla. Это можно сделать с помощью плагинов ByeByeGenerator или RSFirewall. Будет неплохо удалить все записи типа "Powered by Joomla". Еще один действенный способ, дать инструкции web-серверу на блокировку запросов, которые генерируют боты или приложения для взлома, ниже приводится удачный пример кода для файла .htaccess:
Apache configuration код:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^warning [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^wget [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^linkwalker [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^cosmos [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^moget [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^hloader [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^humanlinks [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^linkextractorpro [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^offline [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^lexibot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^collector [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^intraformant [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^blowfish [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^jennybot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^builtbottough [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^propowerbot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^backdoorbot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^webenhancer [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^tighttwatbot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^suzuran [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^vci [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^webviewer [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^szukacz [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^zeus [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Abonti [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^aggregator [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^AhrefsBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^almaden [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Anarchie [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^asterias [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Bandit [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^BDCbot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^BackWeb [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^BatchFTP [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^BLEXBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Bolt [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Buddy [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^BuiltBotTough [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Bullseye [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^bumblebee [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^BunnySlippers [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ca\-crawler [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^CazoodleBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^CCBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Cegbfeieh [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^CheeseBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^CherryPicker [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^CherryPickerElite [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^CherryPickerSE [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^CICC [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Collector [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Copier [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^CopyRightCheck [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Crescent\ Internet\ ToolPak [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Crescent [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Custo [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^DIIbot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^discobot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^DittoSpyder [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^DOC [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^DotBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Download\ Ninja [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Drip [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^DSurf15a [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^EasouSpider [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^eCatch [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ecxi [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^EmailCollector [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^EroCrawler [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Exabot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Fasterfox [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^FeedBooster [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^FlashGet [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Foobot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^FrontPage [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Genieo [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^GetRight [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^GetSmart [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^GetWeb\! [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^gigabaz [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Go\!Zilla [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Go\-Ahead\-Got\-It [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^gotit [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Grabber [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^GrabNet [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Grafula [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^grub\-client [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Harvest [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^heritrix [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^httplib [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^HMView [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^HTTrack [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^httpdown [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^IDBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^id\-search [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ieautodiscovery [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^InfoNaviRobot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^InterGET [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^InternetLinkagent [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^IstellaBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^InternetSeer [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Iria [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^IRLbot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Java/1\. [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^JennyBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^JetCar [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^JustView [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^k2spider [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Kenjin\ Spider [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Keyword\ Density/0\.9 [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^larbin [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^LexiBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^lftp [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^libWeb [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^libwww [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^libwww\-perl [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^likse [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Link\*Sleuth [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^LinkextractorPro [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^linko [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^LinkScan/8\.1a\ Unix [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^LinkWalker [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^LNSpiderguy [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^lwp\-trivial [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Mag\-Net [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^magpie [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Mata\ Hari [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Maxthon$ [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^MaxPointCrawler [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^MegaIndex [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Memo [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^MFC_Tear_Sample [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Microsoft\ URL\ Control [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^MIDown [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^MIIxpc [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Mippin [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Missigua\ Locator [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^MJ12bot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^MSIECrawler [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Navroad [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^NearSite [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^NetAnts [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^NetMechanic [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^NetSpider [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^NICErsPRO [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Niki\-Bot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Ninja [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^NPBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Nutch [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Octopus [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Openfind\ data\ gathere [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Openfind [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^panscient\.com [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^pavuk [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^PeoplePal [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^PHP/5\.\{ [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^PHPCrawl [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^PingALink [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^PleaseCrawl [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Pockey [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ProPowerBot/2\.14 [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ProWebWalker [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^psbot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Pump [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Python\-urllib [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^QueryN\ Metasearch [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^QRVA [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Reaper [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Recorder [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ReGet [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^RepoMonkey [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Rippers [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^RMA [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SBIder [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Scooter [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Seeker [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SeaMonkey$ [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SemrushBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SeznamBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Siphon [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SISTRIX [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^sitecheck\.Internetseer\.com [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SlySearch [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Snake [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SnapPreviewBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SpaceBison [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Sogou [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SpankBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^spanner [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^spbot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Spinn3r [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^sproose [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Steeler [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Stripper [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Sucker [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SuperBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Szukacz/1\.4 [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro/1\.29 [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Teleport [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^TeleportPro [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Telesoft [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^The\ Intraformant [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^TheNomad [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^TightTwatBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Titan [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^toCrawl/UrlDispatcher [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^True_Robot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^True_Robot/1\.0 [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^turingos [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^TurnitinBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^UbiCrawler [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^UnisterBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^URLSpiderPro [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^URLy\ Warning [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Vacuum [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^VCI\ WebViewer\ VCI\ WebViewer [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^webalta [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebAuto [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Win32 [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^VCI [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WBSearchBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Web\ Downloader/6\.9 [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebBandit [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebBandit/3\.50 [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebCollage [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebCopier\ v4\.0 [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebCopier [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebEMailExtrac [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebEnhancer [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebFetch [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebGo [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebHook [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebmasterWorldForumBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebMiner [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebMirror [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebReaper [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebSauger [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Webster\ Pro [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebStripper [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WebZip [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Whacker [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Widow [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Wotbox [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Wget [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^wsr\-agent [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WWW\-Collector\-E [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WWW\-Mechanize [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^x\-Tractor [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Xaldon [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Xenu [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^yandex [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Zao [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^zermelo [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Zeus [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ZyBORG [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^coccoc [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Incutio [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^lmspider [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^memoryBot [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^serf [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Unknown [NC] RewriteRule ^.* - [F] </IfModule>
5. Ограничения на авторизацию
Один из распространенных способов взлома - это подбор пароля. Боты и специальные программы используют грубый метод подбора до тех пор, пока не будут определены верные реквизиты доступа. Причем половина дела сделано, если злоумышленник наверняка знает логин, который имеет права администратора. Возможен подбор по словарю или перечисление букв в слове из простых символов алфавита, так же распространен гибридный способ подбора, который за короткое время сможет подобрать пароли типа "VaSyA100500". Подобные способы взлома очень частно называют "метод грубой силы" (brute-force). Существует несколько основных способов, которые позволяют защитить себя от подобных атак, установив дополнительные ограничение на адрес формы авторизации, что позволит предотвратить несанкционированный доступ к закрытой части административного раздела Joomla:
- jSecure Lite - компонент который при входе в административный раздел сайта требует ввода ключа доступа. Расширенная версия имеет некоторые дополнительные функции, такие как разрешение по IP адресу или региональному признаку.
- AdminExile - удачный плагин, который базово на указанный URL, по-мимо требования ключа доступа, может устанавливать ограничение по IP-адресам или диапазонам сетей в виде формирования черных и белых списков доступа.
- Brute-Force Stop - еще одно хорошее расширение, которое запоминает информацию о неудачных попытках входа и, при достижение заданного порога подобных действий, блокирует IP с которого выполняются подобные попытки.
- RSFirewall - блокирует IP-адрес, если с него часто выполняются неуспешные попытки авторизации.
- pFirewall - распознает запросы ботов и блокирует их, при это корректно определяя полезные запросы поисковых систем не применяя каких-либо действий к ним.
- Настройки web-сервера: сочетая инструкции в файлах .htaccess и .htpasswd возможно защитить каталог /administrator от попыток несанкционированного доступа а административную часть сайта.
Если атаки грубой силы происходят на регулярной основе, полезно собрать некоторую информацию и провести анализ. Как правило, подобные попытки - это угадывания пароля типа "qwerty". Если запросы продолжаются, то IP-адреса могут быть заблокированы через файл .htaccess, ниже приведен пример:
Apache configuration код:
# 2016 bruteforce botnet list Order Allow,Deny Allow from all Deny from 79.141.167.19 Deny from 192.42.116.16 Deny from 63.141.226.34 Deny from 128.153.145.125 Deny from 64.61.155.42 Deny from 78.32.129.58 Deny from 79.39.183.124 Deny from 5.39.76.158 Deny from 52.59.254.232 Deny from 85.17.14.21 Deny from 37.48.80.101 Deny from 37.187.7.74 Deny from 77.247.181.165 Deny from 94.242.222.40 Deny from 109.237.1.139 Deny from 128.72.91.30 Deny from 176.115.124.21 Deny from 178.238.229.54 Deny from 185.61.138.125 Deny from 46.165.208.105 Deny from 149.202.47.181 Deny from 178.162.198.109 Deny from 93.120.140.200 Deny from 185.3.32.23 Deny from 42.118.62.213 Deny from 212.74.201.244 Deny from 80.35.16.63 Deny from 83.70.178.60 Deny from 90.182.73.81 Deny from 94.113.137.129 Deny from 145.253.122.66 Deny from 131.109.59.90 Deny from 151.8.12.213 Deny from 188.13.39.226 Deny from 188.219.193.186 Deny from 212.121.116.65 Deny from 212.183.165.15 Deny from 217.7.249.243 Deny from 217.111.161.229 Deny from 217.128.175.91
Аналогичным способом возможно заблокировать трафик из определенный страны, например когда среди посетителей нет жителей Китая, но из этой страны постоянно приходят запросы от ботов. С помощью онлайн-сервисов возможно сгенерировать список IP-адресов стран или регионов, которые в последствии можно добавить в .htaccess, пример такого сервиса http://www.ip2location.com/free/visitor-blocker
6. Удаление неиспользуемых расширений и шаблонов
Важно, чтобы в инсталляции Joomla присутствовали только те расширения и шаблоны, которые действительно нужны и используются. Удаляйте компоненты, которые больше не нужны. Не рекомендуется устанавливать шаблоны, плагины и компоненты из ненадежных источников или от сомнительного автора. Силы хакера могут быть направлены именно на конкретное расширение, будьте бдительны и с осторожностью относитесь к установке дополнений.
7. Установка фаервола
Для предотвращение взлома и атак возможно использовать плагины или компоненты, которые обеспечат дополнительные меры безопасности. Есть несколько популярных решений, которые реализуют функции сетевого экрана (firewall), они представлены как в базовых, так и в расширенных версиях для коммерческого использования:
В заключение
Представленные выше советы действительно смогут помочь и обеспечить дополнительные меры безопасности для сайта. Несмотря на то, что все они носят сугубо рекомендательных характер, настоятельно рекомендуем использовать их на практике. Не дайте сделать из себя легкую наживу!
Соседние материалы | ||||
Устранение проблем с совместимостью JavaScript в Joomla | Как ускорить работу Joomla? |
Комментарии