JShielder
JShielder 리눅스 서버 자동 강화 스크립트
JSHielder는 시스템 관리자와 개발자가 웹 애플리케이션이나 서비스를 배포할 Linux 서버를 보호하는 데 도움을 주기 위해 개발된 오픈 소스 Bash 스크립트입니다. 이 도구는 웹 애플리케이션을 호스팅하는 데 필요한 모든 패키지를 설치하고 사용자의 최소한의 상호작용으로 Linux 서버를 강화하는 과정을 자동화합니다. 새로 추가된 스크립트는 CIS Benchmark 지침을 따라 Linux 시스템에 대한 안전한 구성 상태를 수립합니다.
이 도구는 Linux 서버 보안을 자동으로 강화하는 Bash 스크립트이며, 다음 단계를 수행합니다:
- 호스트 이름 구성
- 시간대 재구성
- 전체 시스템 업데이트
- 루트로 원격 연결할 필요 없이 서버를 안전하게 관리할 수 있도록 새 관리자 사용자 생성
- 사용자가 안전한 RSA 키를 생성하여 로컬 PC에서만 서버에 원격 접속하고 일반 비밀번호를 사용하지 않도록 도움
- SSH 서버 구성, 최적화 및 보안 설정 (일부 설정은 CIS Benchmark 준수)
- 일반적인 공격으로부터 서버를 보호하기 위한 IPTABLES 규칙 구성
- 사용하지 않는 파일 시스템 및 네트워크 프로토콜 비활성화
- fail2ban 설치 및 구성을 통한 무차별 대입 공격 방어
- 허니팟, 모니터링, 차단 및 경고 도구로 Artillery 설치 및 구성
- PortSentry 설치
- MySQL 설치, 구성 및 최적화
- Apache 웹 서버 설치
- PHP 설치, 구성 및 보안 설정
- 구성 파일 및 ModSecurity(OWASP ModSecurity Core Rule Set (CRS3) 포함), ModEvasive, Qos 및 SpamHaus 모듈 설치를 통한 Apache 보안
- ModSecurity NginX 모듈 및 OWASP ModSecurity Core Rule Set (CRS3) 설치를 통한 NginX 보안
- RootKit Hunter 설치
- Root 홈 및 Grub 구성 파일 보호
- 악성 숨김 프로세스 탐지를 위한 Unhide 설치
- 보안 감사 및 침입 방지 시스템인 Tiger 설치
- Apache 구성 파일에 대한 접근 제한
- 컴파일러 비활성화
- 시스템 업데이트를 위한 일일 Cron 작업 생성
- sysctl 구성 파일을 통한 커널 강화 (조정됨)
- /tmp 디렉토리 강화
- PSAD IDS 설치
- 프로세스 계정 활성화
- 무인 업그레이드 활성화
- 무단 접근에 대한 MOTD 및 배너 설정
- 보안 강화를 위한 USB 지원 비활성화 (선택 사항)
- 제한적인 기본 UMASK 설정
- Auditd 구성 및 활성화
- CIS Benchmark에 따른 Auditd 규칙 구성
- Sysstat 설치
- ArpWatch 설치
- CIS Benchmark에 따른 추가 강화 단계
- Cron 보안 설정
- GRUB 부트로더 비밀번호 설정 자동화
- 부트 설정 보호
- 중요한 시스템 파일에 대한 안전한 파일 권한 설정
#새로운 기능!!
- ModSecurity 및 OWASP ModSecurity Core Rule Set (CRS3)을 사용한 LEMP 배포
CIS Benchmark JShielder 스크립트 추가
도구 실행 방법
./jshielder.sh
루트 사용자로 실행
문제 발생 시
문제가 발생하면 Github에서 JShielder에 대한 새 이슈를 열어주세요.
지원 배포판
- Ubuntu Server 16.04LTS
- Ubuntu Server 18.04LTS
변경 로그
v2.4 ModSecurity 및 OWASP ModSecurity Core Rule Set (CRS3)을 사용한 LEMP 배포 추가
v2.3 LAMP 배포자를 위한 일부 CIS Benchmark 항목에 따른 추가 강화 단계
v2.2.1 Ubuntu 16.04에서 suhosing 설치 제거, MySQL 구성 수정, GRUB 부트로더 설정 함수 수정, 이제 인터페이스 이름에 의존하지 않도록 ip route를 통해 서버 IP 획득
v2.2 CIS Benchmark 지침에 따른 새로운 강화 옵션 추가
v2.1 SSH 구성 강화, 커널 보안 구성 조정, 부팅 시 iptables 규칙이 로드되지 않는 문제 수정. auditd, sysstat, arpwatch 설치 추가.
v2.0 더 많은 배포 옵션, 선택 메뉴, PHP Suhosin 설치, 코드 정리,
v1.0 - 새 코드
개발자: Jason Soto
https://www.jasonsoto.com
https://github.com/jsitech
트위터 = @JsiTech