AWS Cloud Watch란?

AWS에서 제공하는 자원, 어플리케이션을 모니터링할 수 있는 관리 서비스
→ 모니터링 자원의 로그, 지표 정보 등을 시각화
# AWS CloudWatch Agent metric 지표 수집 및 모니터링
기존의 vpc flow logs, ec2서버의 agent 상태 및 logs, cloudtrail같은 정보들을 cloud watch로 중앙 수집
# 실습
수집대상이 되는 서버에 aws cloud agent 다운로드
sudo apt update
sudo wget sudo wget https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
IAM 역할 생성

- 역할이름 : cloudwatch_agent
- 신뢰대상 : AWS 서비스
- 신뢰 서비스 : EC2
- 권한 : CloudWatchAgentServerPolicy
생성된 IAM권한을 해당 EC2에게 부여해주자.

이를 통하여 ec2의 로그를 cloudwatch에 넣을 수 있는 권한이 ec2 자체에 생성
ec2 내부에서 나머지 cloudwatch agent 설치를 이어나가자.
sudo dpkg -i amazon-cloudwatch-agent.deb
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
'''
wizard를 이용한 빠른 agnet 설치 과정
1 ec2에서 진행
1 root로 run
2 daemon 진행 x
2 collectD 사용 x (여러 어플리케이션별 수집 시,1)
1 metric 수집
1 core별 수집
1 ec2정보들 수집
1 instanceID
4 60s
2 metrics standard -> configuration json확인 가능
1 customize setting
2 apache log는 아직..
2
2 SSM 설정여부
'''
- 실행 및 상태확인
# 실행
cd /opt/aws/amazon-cloudwatch-agent/bin
sudo ./amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s
# 상태확인
./amazon-cloudwatch-agent-ctl -m ec2 -a status


- 확인
IAM 역할을 통해 PutMetricData 권한을 얻어서 메트릭을 수집해 CloudWatch에 전송하면 다음의 지표를 확인가능하다.


위의 지표들은 CWAgent가 60초 단위(설정단계에서 선택함)로 샘플링해서 올리기 때문에,
거의 실시간에 가깝게 네트워크 트래픽(패킷 수,바이트 수 등) 변화를 모니터링한다.
# AWS Cloud Watch Agent 웹 로그 수집
ec2에 웹서버 구축
sudo apt install apache2
sudo service apache2 start
cd /opt/amazon-cloudwatch-agent/bin
sudo vim config.json
웹로그를 수집하기 위해 aws amazon agent 의 config.json 설정파일 수정
- /var/log/apach2/access.log에서 로그를 수집
- agent_apache로그 그룹에 인스턴스 id별로 생성
#agent와 metric사이에 삽입
"logs":{
"logs_collected" :{
"files":{
"collect_list": [
"file_path":"/var/log/apache2/access.log",
"log_group_name": "agent_apache",
"log_stream_name": "{instance_id}",
]
}
}
},
config파일 수정 후, amazon-cloudwatch-agent-ctl stop 후에 재시작해주면 적용된다.

- 시작 후에 로그 그룹에 'agent_apache'가 생성된 것을 확인 가능하다.
nikto를 이용하여 웹 공격을 실행해보자.

nikto는 웹 서버 취약점 스캐닝 도구로써, 다음의 기능을 수행한다.
- 취약 URL 탐색
- admin/, phpinfo.php 등의 디렉터리, 파일 존재 여부를 검사
- well-known 취약점 스크립트, 백도어 파일 검색
- 서버 정보 수집
- ssl/tls 구성 점검
| options | 설명 |
| -h | 타겟 주소 설정 |
| -o | 출력 결과 설정 |
| -c | 타겟 웹 서버의 CGI 디렉터리를 지정 |
| -config | 설정 파일 지정 |
| -port | 포트 지정 |
| -cookie | 쿠키 표시 |
| -ssl | ssl을 사용하는 타겟에 사용 |
웹 스캐너를 통해 공격을 시도한 후에 생성된 로그그룹에서 로그를 확인하면
다음의 로그를 확인할 수 있다.

# AWS Cloud Watch Agent 대시보드 설정
:: 중앙수집된 메트릭 지표 및 로그 시각화

'Cloud > Cloud Security' 카테고리의 다른 글
| AWS 로그 모니터링(Cloudtrail, VPC Flow Log) (0) | 2025.05.04 |
|---|---|
| AWS docker-compose를 통한 서비스 구축 (0) | 2025.03.20 |
| 클라우드 서비스와 보안의 이해 (0) | 2025.03.19 |