Як захистити joomla 1

Як захистити joomla 1

Сьогодні хочу поговорити про безпеку роботи і деякі методи захисту сайту від злому. На жаль, я не є експертом в цій області і мої пізнання мало виходять за рамки статті про перевірку і захист свого сайту від вірусів, але я просто опишу свій недавній досвід. Нічого складно я не використовував, але сподіваюся, що це підвищить безпеку роботи з моїми сайтами.

Йтиметься про подвійний аутентифікації для входу в адмінпанель движка вашого сайту (працювати повинно на будь-яких CMS, але особисто я перевіряв тільки на WordPress і Joomla). Захист ставиться на рівні сервера, поетом всі спроби підбору пароля до адмінки (брутфорса) не створюватимуть підвищений навантаження на хостинг і обійти її досить складно. Ставиться вона легко (буквально в кілька дій) і з усіх знань вимагає тільки уважності і вміння отримувати доступ до сайту по ФТП.

Ну і також приведу пару дій, які я застосував до сайтів на вже морально застарілих движках Joomla 1.5, які мені немає особливого сенсу переносити на Joomla 3, але які у мене постійно ламають і використовують сервер для розсилки спаму. Описані дії я зробив недавно, тому не можу констатувати факт припинення зараження сайтів вірусами, але на це сподіваюся. Загалом, я спробував трохи підвищити взломоустойчивость Joomla 1.5.

Як я вже згадав вище, проблема полягає в постійних зломи двох моїх сайтів, які працюють під керуванням Joomla 1.5. Можна вважати їх закинутими, бо нові матеріали я на них не додаю, але вони справно приносять дохід. Загалом, викинути їх шкода, а переводити на нову версію движка «в лом» (шкода витраченого часу і сил).

Залишається або постійно моніторити навантаження на сервер і при її підвищенні шукати серед файлів движків Шели і інших зловредів, або якимось чином посилювати захист. Для пошуку зловредів я викачую файли движка на комп'ютер і перевіряю їх ДокторомВебом і Айболітом. Перший знаходить далеко не всі, а останній бачить ворога занадто часто там, де його немає, але якихось інших ефективних способів я не знаю.

До речі, скрипт Айболить вміє працювати не тільки на сервері, а й прямо на комп'ютері в папці з викачаними файлами движка (штатний антивірус тільки не забудьте відключити при скачуванні сайту, бо він може частину файлів почікать, а на сервері-то вони все одно залишаться) .

Швидкість сканування залежить від швидкодії вашого комп'ютера і кількості файлів в движку вашого сайту. У мене це зайняло кілька годин, бо навіть картинки «Айболить» підозрює в приховуванні вірусів, а цих самих картинок у мене купа, та й файли кеша багато часу забирають при сканування. Для сайтів на Joomla 1.5 перевірка проходила набагато швидше.

Вирішив витратити день для пошуку шляху підвищення безпеки сайтів. Зробити вдалося зовсім трохи, але все ж краще, ніж нічого. Давайте почнемо з укріплення захисту (зі зниження уразливості) двох сайтів на Joomla 1.5. Було зроблено наступне:

Сховавши цю інформацію від пошукових систем, я повинен випасти з потенційних списків на злом чергового початківця хакера.

Увага! Переді тим, як приступити до описаних нижче дій, обов'язково збережіть на комп'ютері копії тих файлів, де щось будете міняти (а ще краще скачайте всі файли движка на комп). У будь-якому випадку «я в будиночку», бо попереджав ...

Для цього потрібно підключитися до сайту по ФТП (наприклад, за допомогою Файлзіли, але знову ж таки, нагадую, що паролі в ній або будь-якому іншому клієнті зберігати не можна, бо трояни на вашому комп'ютері знають, як їх звідти витягти) і знайти ось такий ось загадковий файл:

Як захистити адмінку свого сайту від злому?

Я хочу в деталях розповісти про той метод захисту, який зовсім недавно використовував сам. Полягає він у забороні доступу до папок, де лежать файли адміністративної панелі сайту. Заборона встановлюється за допомогою чудового файлик .htaccess, який, по суті, дозволяє дистанційно керувати настройками вебсервера, до якого приєднаний сайт. При цьому він вміє робити це вибірково.

Всі директиви, прописані в .htaccess, розповсюджуватимуться виключно тільки на той каталог, у якому він знаходиться. Хочете щось змінити в настройках стосовно до всього сайту? Поміщайте тоді .htaccess в кореневу папку. Ну, а нас цікавлять настройки щодо тільки папки з файлами адмінки, тому ми його туди і помістимо. В Joomla це буде папка administrator, в в WordPress - wp-admin.

Однак, одним .htaccess нам не обійтися. Доведеться задіяти ще й .htpasswd, де буде зберігатися логін і пароль для доступу до цієї самої адміністративної папці. Причому пароль буде зберігатися не в відкритому вигляді, а у вигляді MD5 шифру. Відновити по ньому пароль не вийде, але зате при введенні правильної комбінації в поле пароля, веб-сервер вважатиме для цієї комбінації MD5 суму і порівняє з тим, що зберігається в .htpasswd. Якщо дані співпадуть, то вас пустять в адмінку Joomla або WordPress, а якщо немає, то не пустять.

Ось і все, залишилося тільки втілити намічене в життя. Адже треба якісь директиви в .htaccess додати. Ви знаєте які? Я не знаю. Та й якось потрібно буде пароль перегнати в MD5 послідовність. Проблема. Однак, вона має досить просте рішення. Добрі люди організували онлайн-сервіс по генерації вмісту для файлу .htaccess і файлу .htpasswd на основі вигаданих вами логіна і пароля. Правда, доведеться ще й абсолютний шлях до адміністративної папки вказати, але це вже дрібниці.

Отже, зустрічайте - великий і жахливий генератор захисту для адмінки вашого сайту. Зрозуміло, так? Придумуєте, а найкраще на якомусь генераторі паролів створюєте дві найскладніших комбінації букв, цифр і знаків, після чого їх вводите в два верхніх поля. Записати їх тільки не забудьте, або в менеджер паролів запхати, інакше самі в адмінку увійти не зможете і доведеться все описане в цій частині починати робити заново.

Ось, теперка абсолютний шлях потрібно ввести до папки administrator або wp-admin. Знаєте такий? Навіть якщо не знаєте, не біда. Підключаєтеся до сайту по ФТП, створюєте в його корені файлик з будь-якою назвою (та хоч з таким url_path.php) і додаєте в нього такий ось простий код: