Cloudwatch에서는 Agent의 설치를 통해 컴퓨팅 서비스에 대한 상세한 모니터링을 지원한다. EC2 인스턴스와 같은 AWS 자체 컴퓨팅 서비스부터, on-premise 환경의 서버에도 Agent를 설치해 Cloudwatch에서 모니터링이 가능하다. 간단하게 Ubuntu 인스턴스에 Cloudwatch Agent를 설치 후, SSH 접근 로그와 같은 내용들의 모니터링을 진행해본다. IAM role 연결 Cloudwatch Agent는 인스턴스로부터 데이터를 받아와 Cloudwatch에 metric을 write하므로, 이에 대한 권한이 필요하다. 인스턴스에 Cloudwatch Agent를 사용하기 위해 IAM role을 연결해주어야한다. IAM > 역할 > 역할 만들기 EC2에 붙일 Role임으로 EC..
Cloud/AWS
바로 이전글에서 private 서브넷에 웹 서버 인스턴스를 생성하고 ALB로 연결까지 확인했었다. 이번에는 외부 인터넷단에서 유입되는 유해트래픽을 탐지하고 차단하는 솔루션까지 로드밸런서에 연동하는 작업을 진행한다. WAF Web Application Firewall, 웹 서버 자원에 대해 유입되는 HTTP(S) 트래픽을 분석하고 차단하는 방화벽의 솔루션으로 AWS의 서비스들에 대해 적용할 수 있다. 적용가능한 서비스에는 대표적으로 Cloudfront, API Gateway, Application 로드밸런서가 존재한다. 해당 서비스들의 앞단에 붙는 형식으로 Access Control list를 정의하고, 탐지 Rule을 설정함으로써 내부 자원을 보호한다. ※ WAF는 프리티어 혜택을 받지 못하는 서비스이므..
이전에 pfsense를 통해 간단한 인프라를 구성하고 suricata 패키지로 IDS/IPS 구동까지 진행했었다. pfsense도 충분히 좋은 솔루션이긴 하지만, 실제로 이런 구성의 인프라를 운영하다 보니 몇가지 큰 문제가 있었다. 1. HTTPS를 적용한 경우 suricata가 트래픽을 정상적으로 분석할 수 없음 이 점이 가장 치명적으로 다가왔었는데, 막상 다 구축해두고 Exploit을 날려보니 suricata의 alert에는 해당 내용이 없어서 계속 확인해 보니 HTTP로 들어온 공격은 잡았지만, HTTPS를 타고온 공격은 잡지 못한 것을 확인했다. 관련해서 내용을 찾은 결과, suricata는 ssl inspection을 제공해주지 않는다는 것을 알게되었다. SSL inspection(SSL 가시성..
배경 클라우드 상에 운영중인 외부 서비스의 로그 모니터링을 진행하고자 했다. 모니터링 할 대상은 WAF 로그, ALB 로그, DNS Query 로그가 있었고, 추가로 해외 IP 접근 이력, 관리자 페이지에 접근한 IP 등을 모니터링 해줄 것을 요청 받았다. 사실 Cloudwatch를 통해 모니터링이 가능하지만, 더 깔끔한 UI/UX와 모니터링 방법을 원하셨고, Splunk나 ELK의 구축에는 시간도 오래걸리고, 결정적으로 사내에 모니터링 인프라를 구축할 pc가 없었다. 이에 따라 로그모니터링을 위한 외부 서비스를 추천해주셨고, 그것이 바로 DataDog였다. 서비스 소개 DataDog는 on-premise환경부터 클라우드 환경의 서버까지 통합된 모니터링(로그,이벤트)을 할 수 있는 서비스로, 깔끔한 UI..
온프레미스 환경을 클라우드 환경으로 이관하는 작업을 받아서 하는 중, sendmail을 통해 메일을 보내는 기능도 있다는 것을 확인했다. 메일 전송을 사용자의 계정 패스워드 찾기, 회원가입시 welcome 메일 전송 등에 이용하고 있었다. 이 부분도 그냥 다른 작업과 마찬가지로 ec2에 sendmail 설치 후 설정만 해주면 온프레미스 환경과 동일하게 사용할 수 있을것이라고 생각했었다. ※ EC2의 25번 포트 block AWS에서는 EC2, Lightsail을 비롯한 컴퓨팅 서비스에 대해 아웃바운드 트래픽에 대해 25번 포트의 사용을 제한하고 있다. 25번 포트 이외의 메일 포트인 465나 587을 사용하는 방법도 있지만, 25번 포트를 사용하기 위해서는 아래 AWS 가이드 대로 AWS 측으로 요청을 ..
내부 웹서버에 wordpress 설치까지 진행되어 pfsense - 웹 서버 인프라의 구축은 마무리 되었다. 이제 내부 웹 서버로 들어오는 트래픽을 탐지하고 차단하는 환경까지 구축해본다. 네트워크 트래픽 탐지는 Suricata를 사용해 진행하자 Suricata Snort를 대체하기 위해 생성된 Network Security Monitoring(NSM) 오픈소스 프로그램으로, 대표적으로 layer 7에서의 IPS/IDS 역할을 수행한다 Pfsense는 package manager 서비스 를 통해 suricata 패키지의 설치를 지원한다. web-gui > System > Package Manager에 Available Packages를 통해 suricata를 검색 Install, Confirm으로 설치 설..
pfsense 인스턴스와 LAN 인터페이스 작업까지 진행했다. 내부 웹서버 인스턴스를 생성하고 pfsense와 연결하자 4. 인스턴스 생성 (내부 웹서버) 서브넷 > 생성한 Private 서브넷 보안그룹 > 웹 서비스 포트(80/443)과 ssh를 any open 5. pfsense 포트포워딩 외부에서 유입되는 트래픽이 내부 웹 서버까지 이어지게하기 위해 포트포워딩을 작업을 해준다. pfsense web-gui > Firewall > NAT > Port Forward 이전 세팅에서 pfsense 보안그룹 설정 당시 2222 포트를 내부 인스턴스 ssh 연결용으로 열어두었다. WAN으로 들어온 2222포트 연결을 LAN의 내부 인스턴스의 22번 포트로 포워딩해주자 따라서, Destination > WAN ..
취약환경 구성 및 테스팅을 위해 AWS를 배우게 되었고, 얼마 지나지 않아 IPS 탐지 관련 테스팅을 하게 되었다. 여기서 pfsense를 처음 보게 되었는데, 그 당시 클라우드를 만진지 얼마되지 않아서 인지 네트워크 지식이 모자라서인지 꽤나 구축에 애를 먹었던 기억이 난다. pfsense freebsd 기반의 오픈소스 타입의 방화벽/라우터, web-gui를 지원해 간단하게 구축할수 있다. 이번에 pfsense를 통해서 구축할 인프라는 다음과 같다. VPC안에 public/private 서브넷을 구축하고 웹서버는 private 서브넷에 넣어 public 서브넷의 pfsense를 타고 접근하도록 하는 구성이다. 1. VPC 구성 인프라 구성은 VPC부터 시작한다. VPC 생성에서 생성할 리소스를 VPC등으..