티스토리 뷰

AWS

AWS 클라우드 운영 - 4일차(1)

넷오빠 2025. 9. 25. 10:19

자원 모니터링 및 보안 로그 관리

# CW를 활용한 로그수집

클라우드쉘 진입 >> 인스턴스 접속 >> cd /var/log/ >> 
사용자 권한 변경 >> agent 설치 >> 

sudo dnf install -y amazon-cloudwatch-agent
sudo systemctl enable --now amazon-cloudwatch-agent.service
# 로그 저장소 권한 변경

[ec2-user@ip-10-0-1-110 log]$ sudo chown -R ec2-user:ec2-user httpd
[ec2-user@ip-10-0-1-110 log]$ cd httpd
[ec2-user@ip-10-0-1-110 httpd]$ ls
access_log  error_log
# 데이터 가공 설정
sudo vi /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json


# 붙여넣기 방법

:set paste
i
:wq!


# 아래 코드 삽입
{
  "logs": {
    "logs_collected": {
      "files": {
        "collect_list": [
          {
            "file_path": "/var/log/httpd/access_log",
            "log_group_name": "/aws/httpd/access",
            "log_stream_name": "{instance_id}",
            "timestamp_format": "%d/%b/%Y:%H:%M:%S %z",
            "multi_line_start_pattern": "^[\\d]{1,3}\\."
          },
          {
            "file_path": "/var/log/httpd/error_log",
            "log_group_name": "/aws/httpd/error",
            "log_stream_name": "{instance_id}",
            "timestamp_format": "%a %b %d %H:%M:%S.%f %Y"
          }
        ]
      }
    }
  }
}


# IAM 역할 권한 추가
IAM >> 역할 >> CloudWatchFullAccess 권한 추가 
>> 인스턴스 >> 작업 >> 보안 >> IAM 역할수정 >>
>> ec2-role 선택 >> 업데이트

# 에이전트 재기동

sudo systemctl restart amazon-cloudwatch-agent.service


# 웹서비스 재기동
sudo systemctl restart httpd
# 인스턴스 로그 수집 추가 등록 

ssh ssm start-session --target i-0bc40e419740dc3fa

sudo dnf install -y amazon-cloudwatch-agent

sudo vi /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json

sudo systemctl restart amazon-cloudwatch-agent.service

sudo systemctl enable --now amazon-cloudwatch-agent.service

취약점 점검 도구를 이용한 네트워크 및 호스트 보안 점검

# Nessus (유료)
# OPENVAS (무료 - 평가판)


# Amazone Inspector (AWS에서 제공)
# 클래식 : 이전버전

>> EC2의 취약점 에이전트 설치 필요
활성화 : 최신 버전 
>> 에이전트 설치 불필요

>> Amazone Inspector 진입 >> 활성화 or Classic 메뉴 >>
inspector 활성화(평가판) >>  

# 결과 분석 결과
- 취약성별
- 인스턴스
- 컨테이너 이미지
- 컨테이너 리포지토리
- Lambda 함수

# EC2 스캔설정
- 스캔 모드
- 심층 검사

클라우드 보안 관리 및 운영

웹방화벽 구축 및 DVWA 도커 웹 컨테이너 취약점 진단

- WAF : rule, signature, CVS 등 리소스를 통해 서비스 보호
- 웹 ACL
- CDN
- ALB 생성 필요


- DVWA (공격점검 도구 : 도커)
>> 인스턴스 진입 >> 인스턴스 시작 >> 이름 : docker
>> 스토리지 >> 고급 >> 볼륨 >> 암호화됨 >> 키값 선택
>> 고급 세부 정보  >> 도메인 조인 디렉토리(AD : 인증서버)
>> IAM 인스턴스 프로파일 : ec2-role 선택 >>
사용자 데이터 >> 도커 설치 스크립트 삽입

실습

dvwa install scripts


#!/bin/bash
timedatectl set-timezone Asia/Seoul
dnf install -y docker
systemctl enable --now docker
docker run -d  -p 80:80  --restart always --name dvwa vulnerables/web-dvwa
DVWA 접속
http://docker.innerinfo.cloud

# 초기 계정
admin / admin

# 데이터베이스 셋팅 후 비번 변경됨
admin / password

# 차단실습 : SQL injection 공격
# 인증서 발급
>> certification 생성 >> *.innerinfo.cloud
Amazon Route 53에서 DNS 레코드 생성 >> 레코드 생성
# 도커 DVWA 를 ALB 연결
헬스체크가 실패 : / 로 헬스체크 >> index.php 라서 실패

# 대상그룹이 단일서버일때는 서비스 라우팅 됨

AWS WAF 설치

# 베이직 - 무료

# Step 1
>> WAF & Sheild >> WEB ACLs >> Seoul 리전 확인 >>
Create web ACL 클릭 >> Step 1. 리소스타입 선택 >>
name : my-waf >> Associated AWS resources (연동)
>> add AWS resources 클릭 >> 
Resource type : Application Load Balancer >> my-alb 체크
>> ADD >> 체크확인 >> Next click >> 

# Step 2 
Rules >> Add managed rule groups 선택 >> AWS managed rule groups
>> SQL database 활성화 : Add to web ACL 클릭

# Step 3
>> Add rules and rule groups >> Default action : Allow 확인

# Step 4
>> Set rule priority >> Next

# Step 5
Review and create web ACL >> Create web ACL

# 검증

>> my-waf >> Associated AWS resources : my-waf 확인 

AWS WAF IP 차단방법

# IPset 설정
>> ipset >> Create IP set >> ipv4 >> 1.11.90.40/32
>> Create IP set 클릭


# ACLs 설정

AWS WAF >> Web ACLs >> my-waf >> add rule >> ip set 선택
>> ip-block 작성 >> ip set 선택 >> Source IP >> Block >>
ADD rule

WAF Cloudwatch 연동

Web ACLs >> my-waf >> Traffic overview

'AWS' 카테고리의 다른 글

AWS 클라우드 보안 운영 (1일차)  (0) 2025.09.22
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함