Upload
dinikolo
View
115
Download
2
Embed Size (px)
Citation preview
БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ
Изготвил: Димитър Николов, VI курс Специалност: ПИНФ – ДОВО, 9гр.
Факултетен № 400295
Рисковете, на които уеб приложенията могат да бъдат изложени и как да се предпазите от
тях
Атаки срещу пропуски в
сигурността на кода
Атаки срещу сървъраМрежови атаки
Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 23.4.2014 г.
БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ
DoS Атаки (Denial of Service attacks)
Flood (или Flood Feed / Наводнения )
Traffic Analysis (Sniffing)
IP Hijack
IP Spoofing
Мрежови атаки
Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 33.4.2014 г.
БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ
И още мрежови атаки
Dummy DNS Server
Dummy ARP Server
Fuzzy
Unreachable (dest_unreach, ICMP type 3)
Host Spoofing
Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 43.4.2014 г.
БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ
Атаки срещу
сървъра
Denial of Service
Trojan Horse
Worms
File Worms
Virus
Back Orifice (Net Bus, Masters of Paradise и др.).
Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 53.4.2014 г.
БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ
Видове DoS / Flooding
SYN Flood
ICMP Flood и
Ping Flood
DNS Flood
DDoS
Boink (Bonk,
Teardrop)
Pong
Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 63.4.2014 г.
БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ
И още наводняване
Smurf
Ping of Death
UDP Flood DNS
HTTP Flood
Land
Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 73.4.2014 г.
БЕЗОПАСНОСТ И ЗАЩИТА НА 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 ПРИЛОЖЕНИЯ
Какво да правим ???
Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 93.4.2014 г.
БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ
Защита на сървъра и мрежата
Периодична оценка на нуждите от сигурност
Реверсивно прокси
SSL
Самоподписани сертификати
Виртуализация
Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 103.4.2014 г.
БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ
Администрация на сайта • Контрол над
административния достъп• Сигурни пароли • SFTP• Файлови права и разширения• Сигурност на базата данни• Резервни копия• Мониторинг на логовете• Следене на файловете за
промениИзготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 113.4.2014 г.
БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ
Защита на кода на сайта
Общи проблеми в web приложенията
1. Невалидирани параметри
2. Грешки при контрола на достъпа
3. Грешки при контрола на сесиите и акаунтите
4. Cross-Site Scripting (XSS) уязвимости
5. Препълване на буфера
Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 123.4.2014 г.
БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ
6. Злонамерено вмъкване на команди
7. Проблеми при обработка на грешки
8. Несигурно ползване на криптография
9. Грешки при отдалечено администриране
10. Грешки при конфигурация на web сървъра
Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 133.4.2014 г.
БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ
Добри практики
1. Не показвайте директно данни, идващи от потребителите. Филтрирайте и валидирайте или нормализирайте показваните данни
2. Изисквайте парола за извършване на важни действия.
3. Използвайте POST вместо GET, където е възможно.
4. Проверявайте Referrer на важните форми.
5. Подсигурете формите, чрез уникални данни в тях
6. Никога не ползвайте в SQL заявка данни, които не са предварително филтрирани и валидирани или нормализирани.
7. Използвайте Prepared queries.
8. Ограничавайте правата на потребителя, който ползвате за достъп до базата
9. При извикване на външни команди не ползвайте параметри, контролирани от потребителя, филтрирайте командите и параметрите.
10. Винаги инициализирайте променливите, които създавате.
Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 143.4.2014 г.
БЕЗОПАСНОСТ И ЗАЩИТА НА 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 ПРИЛОЖЕНИЯ
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 ПРИЛОЖЕНИЯ
Заключение
В заключение е важно да се спомене, че вместо да се фокусира вниманието върху определен вид защита, по-добре е да се насочат усилията към цялостно решение за сигурност, което напълно да защити данните и ресурсите на вашето приложение в дълбочина. Това решение трябва да включва автентикация и авторизация, солидна защита на данните и сигурност на периметъра на мрежата.
Изготвил: Димитър Николов, VI курс , ПИНФ – ДОВО, 9гр Факултетен № 400295 173.4.2014 г.
БЕЗОПАСНОСТ И ЗАЩИТА НА 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 ПРИЛОЖЕНИЯ