18
БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ Изготвил: Димитър Николов, VI курс Специалност: ПИНФ – ДОВО, 9гр. Факултетен № 400295

Безопасност и защита на Web приложения

Embed Size (px)

Citation preview

Page 1: Безопасност и защита на Web приложения

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Изготвил: Димитър Николов, VI курс Специалност: ПИНФ – ДОВО, 9гр.

Факултетен № 400295

Page 2: Безопасност и защита на Web приложения

Рисковете, на които уеб приложенията могат да бъдат изложени и как да се предпазите от

тях

Атаки срещу пропуски в

сигурността на кода

Атаки срещу сървъраМрежови атаки

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 23.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 3: Безопасност и защита на Web приложения

DoS Атаки (Denial of Service attacks)

Flood (или Flood Feed / Наводнения )

Traffic Analysis (Sniffing)

IP Hijack

IP Spoofing

Мрежови атаки

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 33.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 4: Безопасност и защита на Web приложения

И още мрежови атаки

Dummy DNS Server

Dummy ARP Server

Fuzzy

Unreachable (dest_unreach, ICMP type 3)

Host Spoofing

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 43.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 5: Безопасност и защита на Web приложения

Атаки срещу

сървъра

Denial of Service

Trojan Horse

Worms

File Worms

Virus

Back Orifice (Net Bus, Masters of Paradise и др.).

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 53.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 6: Безопасност и защита на Web приложения

Видове DoS / Flooding

SYN Flood

ICMP Flood и

Ping Flood

DNS Flood

DDoS

Boink (Bonk,

Teardrop)

Pong

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 63.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 7: Безопасност и защита на Web приложения

И още наводняване

Smurf

Ping of Death

UDP Flood DNS

HTTP Flood

Land

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 73.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 8: Безопасност и защита на Web приложения

SQL Injection

Cross-site request forgery (CSRF)

Hidden Fields Manipulation

Cross Site Scripting (XSS)

Malicious file execution

Атаки срещу пропуски в сигурността на кода

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 83.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 9: Безопасност и защита на Web приложения

Какво да правим ???

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 93.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 10: Безопасност и защита на Web приложения

Защита на сървъра и мрежата

Периодична оценка на нуждите от сигурност

Реверсивно прокси

SSL

Самоподписани сертификати

Виртуализация

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 103.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 11: Безопасност и защита на Web приложения

Администрация на сайта • Контрол над

административния достъп• Сигурни пароли • SFTP• Файлови права и разширения• Сигурност на базата данни• Резервни копия• Мониторинг на логовете• Следене на файловете за

промениИзготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 113.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 12: Безопасност и защита на Web приложения

Защита на кода на сайта

Общи проблеми в web приложенията

1. Невалидирани параметри

2. Грешки при контрола на достъпа

3. Грешки при контрола на сесиите и акаунтите

4. Cross-Site Scripting (XSS) уязвимости

5. Препълване на буфера

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 123.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 13: Безопасност и защита на Web приложения

6. Злонамерено вмъкване на команди

7. Проблеми при обработка на грешки

8. Несигурно ползване на криптография

9. Грешки при отдалечено администриране

10. Грешки при конфигурация на web сървъра

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 133.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 14: Безопасност и защита на Web приложения

Добри практики

1. Не показвайте директно данни, идващи от потребителите. Филтрирайте и валидирайте или нормализирайте показваните данни

2. Изисквайте парола за извършване на важни действия.

3. Използвайте POST вместо GET, където е възможно.

4. Проверявайте Referrer на важните форми.

5. Подсигурете формите, чрез уникални данни в тях

6. Никога не ползвайте в SQL заявка данни, които не са предварително филтрирани и валидирани или нормализирани.

7. Използвайте Prepared queries.

8. Ограничавайте правата на потребителя, който ползвате за достъп до базата

9. При извикване на външни команди не ползвайте параметри, контролирани от потребителя, филтрирайте командите и параметрите.

10. Винаги инициализирайте променливите, които създавате.

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 143.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 15: Безопасност и защита на Web приложения

11. Валидирайте разширенията на качваните от потребителите файлове и ги съхранявате в отделна, обезопасена директория.

12. Филтриране на изходящите връзки от сървъра. Не използвайте функции от тип include с данни контролирани от потребителя.

13. За код използвайте самo регистрираните файлови разширения.

14. Не пишете код, който разчита на включен register_globals при PHP.

15. Библиотеките се слагат извън web дървото или в недостъпна директория. Дефинирайте константи и ги проверявайте, за да сте сигурни, че файлът е извикан откъдето трябва

16. Всеки host трябва да работи под различен потребител

17. Ползване на частна директория за сесиите на потребителя

18. Пазете потребителските сесии в базата данни

19. Пишете проверки, които не могат да бъдат избегнати

20. Валидирайте всички данни, идващи от външен източник (потребители, db, файлове и т.н.)

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 153.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 16: Безопасност и защита на Web приложения

21. Инициализирайте променливите си

22. Пишете код, който работи без грешки при error_reporting = E_ALL (за apache)

23. Разработвайте и тествайте в среда точно копие на средата в която ще работи сайта.

24. Внимавайте когато давате достъп до данни, предоставени от потребителя

25. Не съхранявайте конфиденциални данни на публично достъпни места

26. Ако нямате възможност да забраните разглеждането на дадена директория, направете файл index.php, index.aspx, index.htm и др. или .htaccess, който да пренасочи заявката към началната страница.

27. На работещ сайт записвайте грешките, но не ги показвайте на гледащия страницата

28. Всеки сайт трябва да работи с различен потребител (админ) и парола

29. Всеки потребител трябва да вижда само собствените си файлове

30. Логвайте всички грешки и проверявайте редовно лог файловете

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 163.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 17: Безопасност и защита на Web приложения

Заключение

В заключение е важно да се спомене, че вместо да се фокусира вниманието върху определен вид защита, по-добре е да се насочат усилията към цялостно решение за сигурност, което напълно да защити данните и ресурсите на вашето приложение в дълбочина. Това решение трябва да включва автентикация и авторизация, солидна защита на данните и сигурност на периметъра на мрежата.

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 173.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ

Page 18: Безопасност и защита на Web приложения

Ползвана литература:

1. Linux ръководство на мрежовия администратор - Кирх Олаф, Доусън Тери;

2. Linux Мрежови сървъри - Хънт Крейг;

3. Проектиране на мрежова сигурност – Мерике Каео

4. Компютърни Мрежи – Дебра Литълджон Шиндър

5. Източници и публикации от интернет.

http://www.citforum.ru/security/internet/attack_book/toc.shtml

http://www.citforum.ru/operating_systems/linux/iptables/index.shtml

http://kiev-security.org.ua/box/15/index.shtml

Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 183.4.2014 г.

БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ