이두잉의 AWS 세상

AWS VPC FLOW LOGS

2017.11.24 18:03 - leedoing leedoing

AWS VPC Flow Logs는 VPC 내의 로그를 수집할 수 있게 해주는 기능

(http://docs.aws.amazon.com/ko_kr/AmazonVPC/latest/UserGuide/flow-logs.html)


각 VM의 네트워크 인터페이스 별로 통신하는 로그를 확인할 수 있다.

VPC Flow Log를 활용하면 장애나 보안 문제가 발생 했을 경우 좀 더 많은 정보를 확인할 수 있다.


[VPC 우클릭 -> Create Flow Log]

VPC Flow Log는 VPC / Subnet / EC2 Network 인터페이스 기준으로 Enable 가능하며 Accept와 Reject 기준으로 필터 설정도 가능하다. 


필요한 Role은 아래와 같다.


그리고 CloudWatch Logs 화면으로 돌아가면, 아래와 같이 네트워크 인터페이스별 로그가 수집되는 것을 확인할 수 있다.


해당 로그 정보는 Amazon에서 관리하는 S3로 저장되며 비용은 GB당 $0.5로 기존 S3 비용보다는 비싸다. 따라서 Expire를 통해 로그 생명 주기를 관리할 수 있고, S3에 Import도 가능하다.

이제 로그는 볼 수 있으나, 직관성이 떨어진다. API를 통해 직접 로그에 대한 대시보드를 만들 수도 있지만, AWS는 클릭만으로 해당 Log Stream을 Lambda와 Amazon ElasticSearch(Kibana)를 사용할 수 있도록 integration 해놨다.


미리 ES Cluster를 구성해놓고 Stream to Amazon Elasticsearch Service을 선택하면 Log collect, parser 역할을 하는 Lambda가 생성되어 ES로 인덱싱된 Log를 주기적으로 보낸다.


Lambda 메뉴로 들어가면 아래와 같이 Lambda Function이 생성된 것을 확인할 수 있다.


이제 필요할만한 정보를 Kibana에 구성하면 VPC Log 정보를 직관적으로 확인할 수 있다.


NACL, Security Group를 통과하지 못한 데이터는 action 필드에 ACCEPT/REJECT으로 구분된다. 따라서 REJECT 된 로그 정보가 중요하고, Source Address, Port 등 또한 보안 모니터링에 중요한 정보라고 생각된다. 혹은 갑자기 특정 IP와 통신이 늘어난다든지 평소와 다른 그래프 모양을 보고 판단할 수 있을 것이다. 


추후 Kibana가 업데이트(X-Pack) 되어 Machine Learning 기능까지 사용하게 된다면 모니터링을 더 효율적으로 할 수 있을 것이다. (https://www.elastic.co/kr/blog/using-machine-learning-and-elasticsearch-for-security-analytics-deep-dive)


저작자 표시
신고

'Networking > VPC' 카테고리의 다른 글

AWS VPC FLOW LOGS  (0) 2017.11.24
AWS VPC Security Group ID 포워딩  (0) 2016.11.03
AWS VPC/VPN(Openswan) 연동  (1) 2016.01.14