Ansible - Log4J 취약점 확인 > Ansible 자료실

본문 바로가기

사이트 내 전체검색

뒤로가기 Ansible 자료실

실습 Ansible - Log4J 취약점 확인

페이지 정보

작성자 snow 작성일 21-12-24 09:41 조회 5,041 댓글 1

본문

1. 개요

이 게시글은 Log4Shell(CVE-2021-44228)에 취약한 JAR 파일의 파일 시스템을 스캔하는 매우 간단한 Ansible 플레이북이며

Linux 시스템의 모든 디렉토리에 존재하는 JAR 파일을 검사하여 취약한 JAR 파일을 추출해내는 플레이북입니다.

 

2. Playbook(task playbook)

# 관리자 권한으로 실행해야 하므로 모든 작업에 Become 처리

- name: Find Jar File

  block:

    ## "/" 디렉토리에 존재하는 모든 디렉토리의 정보를 추출

    - name: Find the directory to perform the search in the top-level path

      ansible.builtin.find:

        file_type: directory

        paths:

          - "/"

        recurse: no

      register: root_dirs


 

 

    ## 검색된 디렉토리와 안에 존재하는 모든 디렉토리에서 모든 Jar 파일을 추출

    - name: Find .jar files

      ansible.builtin.find:

        file_type: file

        paths: "{{ root_dirs.files | map(attribute='path') }}"

        recurse: yes

        patterns:

          - "*.jar"

      register: jar_files

 

    ## JAR 파일 안에 "JndiLookup.class" 문자열 검색

    - name: Search JndiLookup.class in .jar files

      ansible.builtin.shell: 

        cmd: "grep -i {{ responsible_class }} {{ jar_files.files | map(attribute='path') | join(' ') }}"

      register: grep_result

      failed_when: grep_result.rc == 2

      when: jar_files.matched > 0 

 

    ## 검색 된 Jar 파일을 화면에 표시

    - name: Print .jar Files

      debug: var=grep_result.stdout_lines 

 

  become: yes

 

## 검색 된 Jar 파일을 CSV 파일 형식으로 추출

- name: Write CSV line with affected values

      ansible.builtin.lineinfile:

        path: "{{ local_file }}"

        line: "{{ inventory_hostname }},{{ item | regex_search('/.*\\.jar') }}"

        insertafter: EOF

      loop: "{{ grep_result.stdout_lines }}"

      when: grep_result.rc is defined and grep_result.rc == 0

      delegate_to: localhost

댓글목록 1

최고관리자님의 댓글

최고관리자 작성일

좋은글 감사합니다. ^^

Copyright © 소유하신 도메인. All rights reserved.

사이트 정보

회사명 : (주)리눅스데이타시스템 / 대표 : 정정모
서울본사 : 서울특별시 강남구 봉은사로 114길 40 홍선빌딩 2층 / tel : 02-6207-1160
대전지사 : 대전광역시 유성구 노은로174 도원프라자 5층 / tel : 042-331-1161

PC 버전으로 보기