IT 관리 노하우/서버 & Linux
우분투 운영체제 보안패치 스크립트(USPS)
잌쿠
2025. 6. 3. 23:57
회사에서 우분투 기반 시스템을 사용하다 보면, 서버를 새로 설치한 후 반복적으로 해야 하는 작업이 있습니다.
대표적인 것이 바로 보안 설정입니다.
운영체제 보안 패치, 방화벽 설정, SSH 접속 제한 등은 필수지만, 수작업으로 반복하다 보면 시간도 많이 들고 실수할 가능성도 있습니다.
이런 문제를 해결하고자, 보안 항목을 선택적으로 자동 적용할 수 있는 스크립트를 만들었습니다. (바로 Cursor로 말이죠)
주요 특징
- whiptail을 사용해 보안 설정 항목을 체크박스로 선택 가능
- 선택한 항목만 자동 적용
- 반복적인 보안 설정을 자동화
- 시스템 보안 상태를 빠르고 안정적으로 구축 가능
적용 가능한 보안 항목
항목 | 설명 |
시스템 업데이트 | 최신 보안 패치 적용 |
자동 업데이트 설정 | unattended-upgrades를 통한 주기적 보안 업데이트 |
UFW 방화벽 설정 | 기본 정책 설정, 허용 IP/포트 지정 |
미사용 파일시스템 비활성화 | cramfs , squashfs 등 불필요한 파일시스템 비활성화 |
비밀번호 정책 강화 | pam_pwquality 로 복잡도, 최소 길이, 이력 등 설정 |
루트 로그인 비활성화 | root 직접 로그인 차단 |
SSH 보안 설정 | 포트 변경, 인증 방식, 시도 횟수 제한 등 |
감사 로그 설정 | auditd 를 통한 시스템 변경사항 감시 |
로그 로테이션 설정 | logrotate 를 활용한 로그 파일 관리 |
사용자 권한 강화 | 홈 디렉토리 접근 제한, 불필요한 권한 제거 |
시스템 로그 설정 | rsyslog , journald 구성 강화 |
루트킷 검사 | rkhunter 로 의심스러운 행위 탐지 |
Fail2Ban 설정 | 비정상 SSH 접속 차단 |
설치 및 실행 방법
git clone https://github.com/OVERockq/ubuntu-secure-patch-script.git
cd ubuntu-secure-patch-script
chmod +x secure_patch.sh
sudo ./secure_patch.sh
스크립트 실행 시, whiptail
인터페이스가 나타나며 원하는 항목을 선택할 수 있습니다.
선택한 항목만 적용되며, 설정 내역은 로그로 기록되어 유지 관리가 용이합니다.
GitHub 저장소
자세한 설명 및 소스코드는 아래 저장소에서 확인할 수 있습니다.
https://github.com/OVERockq/ubuntu-secure-patch-script
GitHub - OVERockq/ubuntu-secure-patch-script
Contribute to OVERockq/ubuntu-secure-patch-script development by creating an account on GitHub.
github.com
맺음말
이 스크립트는 보안 설정을 빠르고 정확하게 적용할 수 있도록 만들어진 스크립트입니다.
서버 초기 설정 시간이 크게 줄어들고, 실수 없이 안정적인 구성을 위해서 만들었고, 보안 설정을 반복적으로 해야 하는 환경이라면 유용하게 쓰일 수 있을 것이라 생각됩니다.
사용 중에 문제가 있거나 의견이 있다면 알려주세요. ;)