이 페이지에서
Bash Skeleton Script 배경
기존에 사용해오던 취약점 진단 스크립트는 업무를 수행하면서 급하게 작업하다 보니 단일 파일로 작성이 되어 수정 및 개선에 어려움이 있었다.
File - Linux 보안 진단 스크립트 v2024.02
이 스크립트는 과거(2024.02.05)에 직접 작성해 두었던 Linux Server 환경에 대한 인프라 진단 스크립트로, 진단항목(체크리스트)은 ”주요정보통신기반시설 기술적 취약점 분석 평가” 항목을 따르고 있으나 세부 동작 기준이 회사정책(내규) 및 OS 환경에 따라 대응하기 위해 부분적으로 다른점이 존재할 수 있다. 슬슬 변화에 맞추어 스크립트도 업데이트가 할

기존 스크립트는 이 게시글을 참조하자.
- 첫 번째로, 코드 자체가 길어지다 보니 수정 및 개선할 위치를 찾기 어렵고
- 두 번째로, 가독성이 떨어지는 한편
- 세 번째로, 앞서 두 가지 항목이 복합적으로 작용하여, 수정하고자 하는 진단 코드 구문 분석에 어려움이 있다.
이러 저러한 사유로 취약점 진단 스크립트를 개선 하려고 생각은 많이 했었는데, 간혹 테스트만 해보던 구조를 이번 참에 좀 더 손 봐 개선 하고자 생각 해두었던 "유지보수 용이"
, "재사용성 향상"
, "모듈화된 구조"
의 개선점
을 적용하여 골조가 될 스크립트를 만들어 두었다.
혹여 어떠한 필요성에 의해 검색을 통해 이 자료를 접하게 된 동종 업계 종사자들이 있다면 이 자료가 도움이 될 수 도 있지 않을까 싶기에 공개 자료로서 남겨둔다.
개선한 스크립트의 주요 특징
- 실행은 security_check.bash로 수행
- 실행 시 Bash 로 실행 되었는지 체크
- Bash 가 설치되어 있지 않으면 실행 불가 메시지 출력 후 종료
- shell 로 실행한 경우 Bash 로 재 실행
- 기능을 파일 단위로 분리
- 실행 시 출력할 Message(motd), 저자(authors), 변경이력(history) 분리
- 주요 함수들 파일로 분리
- 진단 스크립트 항목을 별도 파일로 분리
골조 스크립트 다운로드
골조 스크립트 파일 구조
Bash Skeleton Script.zip
├─ file_structure
├─ func
│ ├─ detect_os_type.bash
│ └─ execute_script.bash
├─ pre
│ ├─ authors
│ ├─ history
│ └─ motd
├─ scripts
│ ├─ part1.bash
│ └─ part2.bash
└─ security_check.bash # 스크립트 실행은 이 파일로 수행한다.
Preview : Bash 가 아닌 Shell 로 실행 시
$ sh ./security_check.bash
⚠️ Bash 환경이 필요합니다. Bash로 재시작합니다...
Preview : Root 권한이 아닌 상태로 실행 시
$ ./security_check.bash
This script must be run with root privileges.
이 스크립트는 root 권한으로 실행되어야 합니다.
Preview : Root 권한으로 실행 시
$ sudo ./security_check.bash
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
---------------------------------------------------------------------------
:: Infra Vulnerability Assessment Script - Version 2020.00.00.01 ::
---------------------------------------------------------------------------
Make By :
---------------------------------------------------------------------------
Date | Writer | Changed
-------------|-------------------------------------------------------------
202X.00.00 | | 최초 작성
---------------------------------------------------------------------------
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
🖥️ 감지된 OS: ubuntu
✅ scripts/part1.bash 실행 완료
✅ scripts/part2.bash 실행 완료
🎉 모든 스크립트가 정상적으로 실행되었습니다!
$
토론하기