Існує проблема, про яку повинні знати як розробники новачки, так і «ветерани» цієї справи, незважаючи на стаж існування сайту: хоч 10 років, хоч 10 хвилин, і полягає вона в забезпеченні безпеки вашого сайту і в боротьбі з Хакамі. Адже важливіше безпеки сайту може бути тільки відновлення його після злому.
На жаль, я змушений був глибоко вивчати цю проблему протягом минулих кількох тижнів. Коли я повернувся в офіс після свят, я отримав лист від клієнта, в якому говорилося, що якийсь дивний текст з'являється не тільки на сайті, але і за результатами пошуку в Google. Це повідомлення відразу спонукала мене на роботу і занурення в хакі.
Звичайно ж перше, що я зробив, дізнавшись про цей текст: просканував сайт, щоб знайти його. Але все було марно. А потім клієнт скинув мені скріншот того, що він бачив: звичайно, терміни "Сіаліс" і "Левітра", "віагра" були, розкидані по всьому тексту на сайті. А коли я зайшов на свій сайт через пошук Google, то сам побачив цей текст.
Як відбуваються атаки.
Атака виникає, коли хакер через веб-вузол отримує доступ до вашої базі даних. Коли він отримав жаданий доступ, він приєднав шкідливий код в ключові файли. Також хакери можуть додавати і нові файли, які впроваджують глибоко в каталоги. Процес знаходження, а головне видалення таких файлів можна порівняти з кровопролитної і важкої битвою. Я дізнався, що видалення поганого коду або файлу може привести ще до більших проблем: до зараження інших файлів.
Так виглядають приклади можливих зламаних файлів в WordPress:
- akismet.cache.php;
- akismet.bak.php;
- akismet.old.php;
- class-akismet.php;
- db-akismet.php;
- wp-content / uploads /.* php (random PHP name file);
- wp-includes / images / smilies / icon_smile_old.php.xl;
- wp-includes / wp-db-class.php;
- wp-includes / images / wp-img.php wp-includes / images / wp-img.php.
Також хакі можуть перебувати і всередині полігонів:
- akismet / wp-akismet.php;
- akismet / db-akismet.php;
- wp-pagenavi / db-pagenavi.phpv;
- wp-pagenavi / class-pagenavi.php;
- podpress / ext-podpress.php;
- tweetmeme / ext-tweetmeme.php;
- excerpt-editor / db-editor.php;
- akismet / .akismet.cache.php;
- akismet / .akismet.bak.php;
- tweetmeme / .tweetmem.old.php.
На Joomla! творитися те ж саме. Ваш головний файл .php може бути зламаний або ж можуть бути додані нові заражені файли вглиб папок.
А як же ви «лікуєте» заражені файли?
Резервні копії.
Всі розробники повинні регулярно архівувати свої сайти при кожному їх оновленні. Це легко і просто робити, коли сайт оновлюється рідко, проте стомлює і займає багато часу, коли справа ведеться з новим сайтом або тим, який часто оновлюється. Навіть в цьому випадку, як мінімум раз на тиждень, краще все-таки проводити архівацію. Однак навіть регулярні резервування не дає вам 100% гарантії безпеки від зломів. Один з аспектів Pharm Attack полягає в тому, що інфікований файл може «залягати в сплячку» на тижні або навіть місяці. Тому ваш сайт може перебувати в стані злому, але при цьому не подавати виду довгий час. Це може привести до того, що навіть заархівовані файли стануть зараженими. Це означає, що якщо навіть ви відновите попередню резервну копію, то все одно відновите інфіковані файли. Але це не означає, що ви повинні припинити робити резервні копії.
Резервні копії Akeeba.
Я знаю, що багато на своїх Joomla! сайтах проводять резерв копій через Akeeba, адже базова версія є безкоштовною і дуже добре працює! Ця програма доступна для версій 1.5 і 1.7. Після встановлення ви зможете проводити архівацію найперших файлів і створювати документи .jpa.
Щоб відтворювати резервні копії, вам знадобляться файли Akeeba Kickstart, які так само розташовуються у відкритому доступі і легко викачуються з сайту Akeeba.
Все звичайно добре, якщо ваші резервні копії не заражені, однак чи можете ви це знати напевно?
Локальна копія сайту.
Існує ще одні метод, як архівувати сайт, не вдаючись до відтворення резервних копій. Ви повинні підтримувати копію вашого сайту на особистому комп'ютері (ноутбуці). Коли ви вперше створили сайт, швидше за все, ви не відразу розробили його в мережі. Найімовірніше, ви побудували сайт в локальному вузлі, а тільки потім запустили в інтернеті. І потім ви забуваєте про це. І проводите всі наступні оновлення та нововведення в режимі онлайн. Я тут для того, щоб сказати вам не робити цього. Найкраще продовжувати вести локальну копію сайту. У такому випадку, якщо ваш сайт піддасться злому, у вас як і раніше буде матися локальна версія.
Ви зможете проархівіровать вашу чорнову версію сайту використовуючи Akeeba. Однак якщо ви відновлюєте місцеві резервні копії в кореневу директорію інтернет-сайту, то вам необхідно оновити конфігурацію так, щоб не працювати з нею локально, а налаштувати на онлайн версію.
Звичайно ви повинні постійно проводити резервування вашої локальної версії, в разі в разі збою жорсткого диска або якщо комп'ютер буде атакований вірусами.
Повна перебудова сайту.
Найгіршим результатом злому є повне перероблення сайту. Вам доведеться зробити цей радикальний крок в тому случає, якщо не залишилося жодної «чистої» резервної копії та у вас немає локальної копії сайту. Це те, що довелося робити мені. Але на щастя, зламаний сайт був тільки брошурою і обмежувався сотнею сторінок, а не тисячею або десятками тисяч. Я зумів відновити сайт за лічені дні. Ця ситуація дала мені можливість оновити версію Joomla! на 1.7 і познайомитися з усіма новими функціями цієї версії. Просто до цього я використовував версію 1.5, і ось настав відповідний час перейти на нову. До того моменту я відкладав оновлення версії, тому що не мав чистим методом перенесення вмісту. І не всі розширення та плагіни були доступні в той час. Однак з того моменту пройшло вже достатньо часу, і багато нововведень стали доступними.
Інструменти захисту.
Існує, напевно, ціла тонна різних інструментів безпеки, які ви можете додати на свій сайт. Сподіваюся, ви зможете здійснити якісь з них перш, ніж ваш сайт зламають, а не після. Akeeba пропонує вашій увазі інструмент під назвою Admin. Інструменти, які накладуть екстра великий шар безпеки на ваш сайт. Вам не треба платити 20 євро за настройку Web Application Firewall, але маленька ціна може зробити її дуже корисною. Я даю вам зелений колір на покупку даної настройки, і навіть не сумнівайтеся.
Інструменти Інтернет-Мастера Google.
Після того, як ви переконалися, що ваш сайт не містить заражених файлів, вам потрібно буде відправити карту сайту на Google Webmaster Tools. Однак цього може бути недостатньо. Можливо вам доведеться відправляти кожну сторінку, цей спосіб покаже зламаний текст в результатах пошуку в Google. Google Webmaster Tools дозволяє вам вибирати певні сторінки, а потім передавати їх на індексацію. Однак ви отримаєте добро на обмежене число запитів, тому використовуйте їх з розумом. Не можу точно сказати скільки часу буде потрібно, щоб пройти таку чистку.
У висновку підведу підсумок: все ж найкращим способом відновлення зламаного сайту є використання резервних та локальних копій. Хакери з кожним роком ставатимуть лише хитріше, а зломи триватимуть. Будучи власником сайту, звичайно ж, ви зацікавлені в тому, щоб захистити його на стільки, на скільки це можливо.
Теги: хакі, приклади зламаних файлів, резервні копії, локальні копії Akeeba, локальна копія сайту