권한이 있어야 알람 발송이 가능. IAM Role을 생성해보자.
사용자 지정 신뢰정책으로 해당 정책 추가
{
"size": 1,
"query": {
"bool": {
"filter": [
{
"range": {
"timestamp": {
"from": "{{period_end}}||-5m",
"to": "{{period_end}}",
"include_lower": true,
"include_upper": true,
"format": "epoch_millis",
"boost": 1
}
}
},
{
"match_phrase": {
"terminatingRuleId": {
"query": "AWS-AWSManagedRulesSQLiRuleSet",
"slop": 0,
"zero_terms_query": "NONE",
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"aggregations": {}
}
비트코인 도메인을 호출하였을 때 GuardDuty를 활용한 위협 탐지 테스트
EC2에 접속해서 해당명령을 실행
echo "Calling bitcoin wallets to download mining toolkits"
curl -s http://pool.minergate.com/dkjdjkjdlsajdkljalsskajdksakjdksajkllalkdjsalkjdsalkjdlkasj > /dev/null &
curl -s http://xmr.pool.minergate.com/dhdhjkhdjkhdjkhajkhdjskahhjkhjkahdsjkakjasdhkjahdjk > /dev/null &
guardduty에서 로그 확인
- 시간 좀 걸림…
배포되어있는 alb의 주소 확인
배포되어있는 ec2 인스턴스에 ssm으로 접속한다.
SQL Injection attack test
ALB_URL을 위에서 확인한 도메인주소로 변경하여 curl을 날린다
```bash
curl -X POST http://$ALB_URL -F "user='AND 1=1;"
curl -X POST http://$ALB_URL -F "user='<script><alert>Hello></alert></script>'"
```