Тази статия ще ви разкаже как можете да защитите уеб приложения с WAF и го проследете с практическа демонстрация. Следните указания ще бъдат обхванати в тази статия,
Нека започнем тогава,
Продължавайки с тази статия на тема „Как да защитим уеб приложението с AWS WAF?“
Първи стъпки с някои основи
AWS предоставя услуги като EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage), за да създава полезни и изискани приложения бързо и с по-малко CAPEX (CAPital EXpenditure). Докато създавате тези приложения, е също толкова важно да защитите приложението и да защитите данните. Ако не са добре защитени, данните на приложението могат да попаднат в грешните ръце, както в случая с последните Инцидент Capital One .
Capital One беше домакин на уеб приложение на EC2 и то не беше обезопасено правилно. Бивш служител на AWS успя да използва тази уязвимост и да изтегли множество данни от клиенти от S3. По-късно беше установено, че данните от 30 други организации също са изтеглени от AWS. Така че, за да го подчертаем отново, не е достатъчно само да архитираме и проектираме приложение, но е също толкова важно да си осигурим приложение.
Капитал Един използван AWS WAF (защитна стена за уеб приложения) за защита на уеб приложението, но то не е конфигурирано правилно, поради което хакерът е успял да получи достъп до данните в S3 и да го изтегли. В тази статия ще проучим как да използваме и конфигурираме AWS WAF за защита срещу често срещани уеб атаки като SQL Injection, XSS (Cross Site Scripting) и др. AWS WAF трябва да бъде конфигуриран заедно с Приложение за балансиране на натоварването , CloudFront или API шлюз. В този сценарий ще използваме Application Load Balancer. Всяка заявка от клиента чрез браузъра ще премине през AWS WAF и след това към Application Load Balancer и накрая до уеб приложението на EC2. AWS WAF може да се използва за блокирайте злонамерената заявка от хакерите, използвайки набор от правила и условия.
Продължавайки с тази статия на тема „Как да защитим уеб приложението с AWS WAF?“
Последователност от стъпки, за да започнете с AWS WAF
Етап 1: Създаване на уязвимо уеб приложение,
Първата стъпка е да създадете уеб приложение, което е уязвимо за SSRF (Server Side Request Forgery) атаки, както е споменато в това Блог за това как се е случила атаката Capital One. Този блог има последователност от стъпки за:
- Създайте EC2
- Инсталирайте необходимия софтуер, за да създадете уеб приложението с уязвимост SSRF
- Създаване и роля на IAM с разрешения за S3 само за четене
- Прикрепете ролята на IAM към EC2
- И накрая, използвайте уязвимостта на SSRF, за да получите идентификационните данни за сигурност, свързани с ролята на IAM.
След като последователността от стъпки бъде завършена в споменатия блог, заменете 5.6.7.8 с публичния IP адрес на EC2 в URL адреса по-долу и го отворете в браузъра. Идентификационните данни за защита, свързани с ролята на IAM, трябва да се показват в браузъра, както е показано по-долу. Ето как основно беше хакнат Capital One. С идентификационните данни за сигурност хакерът успя да осъществи достъп до други услуги на AWS като S3, за да изтегли данните.
http://5.6.7.8:80?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO
Стъпка 2: Създаване на балансьор на натоварването на приложението
AWS WAF не може да бъде пряко свързан с уеб приложение. Но това може да бъде свързано само с Application Load Balancer, CloudFront и API Gateway. В този урок ще създадем Приложение за балансиране на натоварването и свързване на AWS WAF със същото.
Стъпка 2а: Целева група е колекция от екземпляри на EC2 и трябва да бъде създадена, преди да създадете балансиращ натоварването на приложенията. В конзолата за управление на EC2 щракнете върху целевата група в левия прозорец и щракнете върху „Създаване на целева група“.
Стъпка 2b: Въведете името на целевата група и кликнете върху „Създаване“. Целевата група ще бъде успешно създадена.
Стъпка 2в: Уверете се, че е избрана целевата група и щракнете върху раздела Цели и щракнете върху редактиране, за да регистрирате EC2 екземпляри с целевата група.
Стъпка 2г: Изберете екземпляра EC2 и щракнете върху „Добавяне към регистриран“ и щракнете върху „Запазване“.
кога да използвам тази java
Екземплярите трябва да бъдат регистрирани, както е показано по-долу за целевата група.
Стъпка 2д: Време е за създаване на балансиращ натоварването на приложенията. Кликнете върху Load Balancer в левия прозорец на EC2 Management Console и кликнете върху „Create Load Balancer“.
Кликнете върху „Създаване“ за „Балансир на натоварване на приложения“.
Продължавайки с тази статия на тема „Как да защитим уеб приложението с AWS WAF?“
Стъпка 2f: Въведете името на Application Load Balancer. И се уверете, че всички зони за наличност са избрани и кликнете върху Напред.
Стъпка 2g: В „Конфигуриране на настройките за сигурност“ щракнете върху Напред.
В „Конфигуриране на групи за сигурност“ създайте нова група за сигурност или изберете една от съществуващите групи за сигурност. Уверете се, че порт 80 е отворен за достъп до уеб страницата на EC2. Щракнете върху Напред.
Стъпка 2h: В „Конфигуриране на маршрутизация“ изберете „Съществуваща целева група“ и изберете тази, която е създадена в по-ранната стъпка. Щракнете върху Напред.
Стъпка 2i: Целевите екземпляри EC2 вече са регистрирани като част от целевите групи. И така, в раздела „Регистриране на целта“, без никакви промени щракнете върху Напред.
Стъпка 2j: И накрая, прегледайте всички подробности за Application Load Balancer и кликнете върху Create. Приложението за балансиране на натоварването ще бъде създадено, както е показано по-долу.
анализ на настроенията в Twitter чрез използване на искра
Стъпка 2k: Вземете името на домейна на Application Load Balancer и заменете маркирания текст в URL адреса по-долу и отворете същото в браузъра. Имайте предвид, че ние имаме достъп до уеб приложението чрез балансиращото устройство на приложенията и идентификационните данни за защита се показват, както е показано по-долу. URL адресът по-долу може да бъде блокиран с помощта на AWS WAF, както е показано в следващите стъпки за спиране на изтичането на идентификационните данни за защита.
MyALB-1929899948.us-east-1.elb.amazonaws.com ? url = http: //169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO
Стъпка 3: Създаване на AWS WAF (защитна стена за уеб приложения)
Стъпка 3а: Отидете на AWS WAF Management Console и кликнете върху „Конфигуриране на уеб ACL“. Показва се прегледът на AWS WAF. Ето йерархията на AWS WAF. Уеб ACL има куп правила и правилата имат куп условия, които бихме създали в следващите стъпки. Щракнете върху Напред.
Стъпка 3b: Въведете името на уеб ACL, Региона като Северна Вирджиния (или където е създаден EC2), типа на ресурса като „Балансир на приложението за натоварване“ и накрая изберете Баланса на натоварването на приложения, който е създаден в по-ранната стъпка. Щракнете върху Напред.
Стъпка 3в: Тук a условие за блокиране на конкретна заявка за уеб приложение трябва да се създаде. Превъртете надолу и кликнете върху „Създаване на условие“ за „Условия за съвпадение на низове и регулярни изрази“.
Стъпка 3d: Въведете името на условието, Типът като „Съвпадение на низа“, филтрирайте върху „Всички параметри на заявката“ и останалите параметри точно както е показано по-долу. И кликнете върху „Добавяне на филтър“ и след това върху Създаване. Тук се опитваме да създадем условие, което да съответства на URL адреса, съдържащ стойността на параметъра на заявката като 169.254.169.254. Този IP адрес е свързан с EC2 метаданни .
Стъпка 3д: Сега е моментът да създадете правило, което представлява съвкупност от условия. Кликнете върху „Създаване на правило“ и посочете параметрите, както е точно показано по-долу. Кликнете върху „Добавяне на условие“, Създаване и „Преглед и създаване“.
Продължавайки с тази статия на тема „Как да защитим уеб приложението с AWS WAF?“
Стъпка 3f: Накрая прегледайте всички подробности и кликнете върху „Потвърждаване и създаване“. Уеб ACL (Списък за контрол на достъпа) ще бъде създаден и свързан с балансиращото устройство на приложенията, както е показано по-долу.
Стъпка 3g: Сега се опитайте да осъществите достъп до URL адреса на Application Load Balancer чрез браузъра, както е извършено в Стъпка 2k . Този път щяхме да получим „403 Забранено“, тъй като URL адресът ни съвпада с условието за ACL в мрежата и ние го блокираме. Заявката никога не достига до Балансира на натоварването на приложения или до уеб приложението на EC2. Тук забелязваме, че въпреки че приложението позволява достъп до идентификационните данни за сигурност, WAF блокира същото.
Стъпка 4: Почистване на AWS ресурсите, създадени в този урок. Почистването трябва да се извършва в точно същия ред, както е споменато по-долу. Това е да се гарантира, че AWS спира таксуването за свързаните ресурси, създадени като част от този урок.
- Изтриване на условието в правилото
- Изтрийте правилото в WebACL
- Преустановете асоциацията на ALB в WebACL
- Изтрийте WebACL
- Изтрийте правилото
- Изтрийте филтъра в условието
- Изтрийте условието
- Изтрийте ALB и целевата група
- Прекратете EC2
- Изтрийте ролята на IAM
Заключение
Както споменахме по-рано, създаването на уеб приложение с помощта на AWS е много лесно и интересно. Но ние също трябва да се уверим, че приложението е защитено и че данните не са изтекли в грешните ръце. Защитата може да се приложи на няколко слоя. В този урок видяхме как се използва AWS WAF (защитна стена за уеб приложения) за защита на уеб приложението срещу атаки като съвпадение с IP адрес на метаданните EC2. Можехме да използваме и WAF за защита срещу често срещани атаки като SQL Injection и XSS (Cross Site Scripting).
Използването на AWS WAF или всъщност друг продукт за сигурност не прави приложението защитено, но продуктът трябва да бъде конфигуриран правилно. Ако не са конфигурирани правилно, данните може да попаднат в грешните ръце, както се случи с Capital One и други организации. Също така, другото важно нещо, което трябва да имате предвид, е, че сигурността трябва да се мисли от първия ден и да не се включва в приложението на по-късен етап.
Това ни води до края на тази статия за Как да защитим уеб приложения с AWS WAF. Ние също така измислихме учебна програма, която покрива точно това, което ще ви трябва, за да пробиете Solution Architect Exam! Можете да разгледате подробностите за курса за обучение.
Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог What is AWS и ние ще се свържем с вас.