네트워크/클라우드 컴퓨팅

AWS CloudWatch로 SSH access logging

2023. 10. 19. 13:03
목차
  1. IAM ROLE setup
  2. CloudWatch agent Download && setup
728x90

public ip가 나타나게 설정하려면 secure로 설정해야한다. 2023-10-25일에 생각나서 수정하는데 필자는 이 글을 쓸 때 그걸 기억을 못해서 auth로 글을 작성했다.

https://stackoverflow.com/questions/1967452/ec2-and-login-logging

 

EC2 and login logging

I have set up several EC2 instances and intend to give multiple users access to them via SSH. Is there any file on the server that monitors who logs in and when? Any help greatly appreciated. Max.

stackoverflow.com

 

SSH 접근에 대한 로그는 /var/log/auth.log 에 저장된다. 이를 CloudWatch Agent를 이용하여 CloudWatch에 로그를 남길 수 있다. 이는 외부 사용자에 의해 서버에서 로그가 지워져도 해당 로그를 확인할 수 있는 좋은 방법이다.

 

IAM ROLE setup

AmazonAPIGatewayPushToCloudWatchLogs 권한을 가진 역할을 생성한 후 서버에 해당 역할을 할당한다.

 

CloudWatch agent Download && setup

wget <https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb>
sudo dpkg -i -E ./amazon-cloudwatch-agent.deb

위 두 명령어로 CloudWatch Agent를 설치한다.

이제 구성 마법사 파일을 실행하여 로깅 설정을 구성해야한다.

/opt/aws/amazon-cloudwatch-agent* On which OS are you planning to use the agent? linux
       

* Are you using EC2 or On-Premises hosts? EC2
* Which user are you planning to run the agent? cwagent
* Do you want to turn on StatsD daemon? no
* Do you want to monitor metrics from CollectD? yes
* Do you want to monitor any host metrics? yes
* Do you want to monitor cpu metrics per core? yes
* Do you want to add ec2 dimensions (ImageId, InstanceId, InstanceType, AutoScalingGroupName)
          into all of your metrics if the info is available? yes
* Do you want to aggregate ec2 dimensions (InstanceId)? yes
* Would you like to collect your metrics at high resolution (sub-minute resolution)? 60s
#agent가 몇 초마다 metric을 수집할 것인지 지정하는 부분이다. 
* Which default metrics config do you want? Basic
* Are you satisfied with the above config? yes
* Do you have any existing CloudWatch Log Agent configuration file to import for migration? no
* Do you want to monitor any log files? yes
            - Log file path: `/var/log/auth.log` (SSH logs)
            - Log group name: `ec2-bastion-log-group`
            - Log stream name: `[{instance_id}]`
            - Log Group Retention in days: -1
						#저장된 로그가 몇일 이후 자동 삭제될지 지정 -1 == 영구 저장
* Do you want to specify any additional log files to monitor? no
* Do you want to store the config in the SSM parameter store? no
* The config file is located at `/opt/aws/amazon-cloudwatch-agent/bin/config.json`./bin/amazon-cloudwatch-agent-config-wizard

구성 후 명령어를 통해 agent의 상태를 확인하면 실행되지 않은 것을 확인할 수 있다. 

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
amazon-cloudwatch-agent-ctl -m ec2 -a status

최초 실행은 무조건 위 명령어를 이용하여야지 구성 마법사를 통해 구성한 설정이 반영된다. 구성 마법사를 통해 구성 파일을 변경했다면 항상 위 명령어를 통해 실행해야 설정이 반영된다. 

amazon-cloudwatch-agent-ctl -m ec2 -a start  

위 명령어로 실행한다.

 

정상적으로 실행되면 모든 지표 → CWagent 라는 항목이 나타나야한다.

 

cat /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log

위 파일에서 agent가 실행되면서 생성하는 로그를 볼 수 있다. 본인은 로그 그룹에 로그가 생성되지 않아서 해당 로그를 살펴봤고 /var/log/auth.log에 read 권한이 없어 로그가 cloudwatch로 이동되지 않았다는 사실을 알았다.

 

권한 변경 이후 다시 해당 파일을 확인했고 오류없이 실행된 것을 확인할 수 있디.

다시 cloudwatch → log group 으로 이동하여 확인해보겠다.

로그 스트림이 인스턴스 id로 생성되었고 /var/log/auth.log의 내용을 성공적으로 가져온 것을 확인할 수 있다.

저작자표시 (새창열림)

'네트워크 > 클라우드 컴퓨팅' 카테고리의 다른 글

Kinesis,API gateway,Glue를 이용한 ETL 파이프라인 구성  (1) 2023.04.09
ALB path based routing(컨테이너 배포)  (2) 2023.04.09
ECS,ECR을 이용한 Flask web 배포  (0) 2023.04.09
Lambda와 Event Bridge 이용해서 EC2 실행,종료 제어  (0) 2023.03.16
AWS ECR 컨테이너 이미지 업로드, 다운로드  (2) 2023.03.15
  1. IAM ROLE setup
  2. CloudWatch agent Download && setup
'네트워크/클라우드 컴퓨팅' 카테고리의 다른 글
  • Kinesis,API gateway,Glue를 이용한 ETL 파이프라인 구성
  • ALB path based routing(컨테이너 배포)
  • ECS,ECR을 이용한 Flask web 배포
  • Lambda와 Event Bridge 이용해서 EC2 실행,종료 제어
코춘대길
코춘대길
우리의 인생은 우리가 노력한 만큼 가치가 있다. 2021~2023 고등학생, 2024 ~ Technical Architect 2025~2027 육군정보보호병
무지성 컴퓨터 성장일기우리의 인생은 우리가 노력한 만큼 가치가 있다. 2021~2023 고등학생, 2024 ~ Technical Architect 2025~2027 육군정보보호병
코춘대길
무지성 컴퓨터 성장일기
코춘대길
전체
오늘
어제
  • 분류 전체보기 (163)
    • 수상 실적 (8)
    • 네트워크 (133)
      • 보안 (3)
      • 서버 (20)
      • 클라우드 컴퓨팅 (25)
      • 네트워크 일반 (76)
      • 무선 네트워크 (3)
      • 네트워크 가상화, 자동화 (5)
      • 통신 설비 (0)
    • 정보보안산업기사 (0)
    • 시스템 (5)
    • Web (6)
    • C,C++ (8)
    • 사무 (2)
      • 엑셀,파워포인트 (2)
    • 일상 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Session Manager
  • 개어려움
  • 토폴로지
  • AWS
  • 도커
  • flooding
  • vmnet
  • cisco nat
  • 동적라우팅
  • 컨테이너
  • alb
  • 네트워크 보안
  • 실장비 초기화
  • 클라우드 컴퓨팅
  • syn flooding
  • 컨테이너 오케스트레이션 툴
  • System manager
  • CISCO
  • 실장비
  • 실행주기

최근 댓글

최근 글

hELLO · Designed By 정상우.
코춘대길
AWS CloudWatch로 SSH access logging
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.