필자가 재직중인 회사에서는 매년 정기적으로 각 서버의 취약점을 점검하기 위해 취약점 점검 스크립트를 실행하고
조치하고 이행점검을 하는 등의 반복적인 일을 하고 있다.
서버 취약점 점검 솔루션을 구매하여 운영한다면 편하겠지만, 상황상.. 솔루션은 없으므로 자체 점검 스크립트를 제작하여
직접 스크립트를 실행하여 취약점 점검을 진행하고 있었다.(작년까지만 해도..)
근데.. 서버 대수가 늘어남에 따라 수동으로 하기에는 너무너무!! 힘들어서 이를 자동화 하기 위한 방법을 알아 보았고,
타사에 재직 중인 지인을 물어보니깐 Ansible을 통해 원격에서 일괄 점검한다는 소식을 듣고 나도 시스템을 구성해보기로 했다!!
Ansible이란?
Ansible로 검색해보면 IaC란 키워드가 바로 보인다. IaC는 Intfastructure as Code로 인프라를 코드로 구성한다는 의미이다.
즉, 인프라 구성요소를 모두 코드화하여 인스턴스를 생성한다던지,VPC를 생성한다던지 하는 Tool을 뜻한다.
느낌은 Terraform 이랑 비슷하나, Terraform은 AWS와 같은 자원/리소스 생성 관리를 하는 IaC tool 이라면
Ansible은 서버 또는 인스턴스에 일괄적으로 배포하거나 수정해야 할 때 많이 사용하는 것 같다.
Ansible 개념도
Ansible의 기본 개념도이다. 중앙에 Ansible Server가 존재하고, 각 Ansible Client가 연결 된다.
이때 Ansible Server는 Ansible Client에 SSH 접속을 하여 관련 명령을 Python code로 명령을 전달 한다.
즉, Server/Client 구조이고 Ansible Server에서는 각 Client로 SSH 접근을 할 수 있고/해야만 한다.
위에서 말한것과 같이 Ansible Server는 각 Ansible Client로 SSH 접속이 가능하다. 그렇기 때문에 다른 어떤 서버보다
접근통제를 해야하고, 모니터링 하는 것이 중요하다. Ansible Server가 침해당한다면, 모든 서버가 침해당한다고 볼 수 있다
Ansible 설치 방법
필자는 기본으로 AWS 환경에서 AWS linux/t2.micro 서버에 설치를 하였으며, 설치 방법은 매우 간단하다.
Ansible은 Agentless 방식이고, Ansible Server는 관련 명령만 전달하고 그 외 역할이 없기 때문에 고성능의 서버가 필요하지 않고,
실제 작업이 이뤄지는 Ansible Client 서버 성능이 중요하다.
1. Ansible Server에서 ansible2를 설치한다. 끝!!
sudo amazon-linux-extras install ansible2
만약에 Cento, Ubuntu 등의 다른 OS를 사용한다면, 아래와 같이 각 OS에 맞춰서 하면 된다.
특이하게 Amazon linux에서는 ansible2로 명시되어 있으나 Cento OS에서도 설치해본 결과 둘 다 똑같다!!
apt-get install ansible
yum -y install ansible
2. Ansible 설치를 확인한다.
ansible --version
위와 같이 Ansible을 확인하면, 제일 아래 python version이 나온다.
Ansible은 기본적으로 Ansible Client로 python 기준으로 명령을 전달하므로 그런것으로 추정된다!!
또한, 설치가 완료되면 /etc/ansible 경로에 아래와 같은 폴더와 파일이 생긴다.
Ansible 설치는 끝났으므로 이제 실제 사용방법에 대해 알아보도록 하자!!!
Ansible을 통해 기존 수동 업무를 자동화하고, 부서장한테 능력을 어필하면 좋을 것 같다ㅋㅋㅋ
'기술 이모저모 > [Ops] Devops' 카테고리의 다른 글
[Ansible] Ansible을 이용한 서버 점검 스크립트 실행 자동화 구현 (0) | 2022.05.29 |
---|---|
[Ansible] 서버 스크립트 자동 점검 Ansible 사용 방법 [2/2] (0) | 2022.05.29 |
[Gophish] 악성메일 모의훈련 Gophish 운영 방법[2/2] (2) | 2022.05.18 |
[Gophish] 악성메일 모의훈련 Gophish 설치 방법[1/2] (0) | 2022.05.18 |
[Wazuh] Wazuh Agent 로그 추가 수집 및 모니터링 방법 (0) | 2022.03.22 |