Search

가상 통합 보안 인프라 (modsecurity 설치 및 설정)

카테고리
[실습] 보안솔루션 운영
상태
완료
게시일
2024/06/19
태그
ModSecurity

VM 추가

운영체제 (OS) : Ubuntu 20.04 Adapter : VMnet3 (30번대 대역 사용)

고정 IP 할당

sudo vi /etc/netplan/00-installer-config.yaml
Bash
복사
아래와 같이 할당
ifconfig
Plain Text
복사
sudo netplan apply ping 8.8.8.8
Bash
복사
IP 변경 후 인터넷 연결 확인 pfSense와 suricata 가 구동 중이라면 인터넷 연결이 되어야한다

기본 설정

1. 필요 패키지 다운 및 설정

있으면 생략
sudo apt-get install -y vim ssh net-tools
Bash
복사
ssh 설정
sudo vi /etc/ssh/sshd_config
Bash
복사
주석처리 되어있으면 주석 해제
sudo systemctl restart ssh
Plain Text
복사

2. 아파치, mod-jk, 톰캣 설치

sudo apt-get install -y apache2 libapache2-mod-jk default-jdk tomcat9
Visual Basic
복사

3. 아파치, 톰캣 연동 설정 (아파치)

서버 호스트 이름 추가

서버 호스트 이름?
네트워크 상에서 서버를 식별하는 고유한 이름
sudo vi /etc/apache2/apache2.conf
Bash
복사

Apache 웹 서버 ←→ Tomcat 애플리케이션 서버 간의 통신 설정

sudo vi /etc/apache2/sites-available/000-default.conf
Bash
복사
해당 설정을 통해 Apache 서버가 Tomcat 서버로 웹 요청을 전달

worekrs.properties 생성

sudo vi /etc/apache2/workers.properties
Bash
복사
기존 파일도 사용 가능하지만 명확성을 위해 신규 생성 해당 파일을 참조하여 Apache와 Tomcat 간의 통신 설정
내용은 아래와 같이 작성
worker.list=tomcat workers.tomcat_home=/usr/share/tomcat9 workers.java_home=/usr/lib/jvm/java-11-openjdk-amd64 worker.tomcat.port=8009 worker.tomcat.host=localhost worker.tomcat.type=ajp13 worker.tomcat.lbfactor=1
WebAssembly
복사

mod-jk 비활성화

sudo a2dismod jk
Bash
복사

httpd-jk.conf 이름 변경

우분투 20.04 버전 버그로 해당 파일 이름 변경이 필요함 기존 : httpd-jk.conf 변경 : jk.conf 버그리포트
mv /etc/apache2/mods-available/httpd-jk.conf /etc/apache2/mods-available/jk.conf
Bash
복사

mod-jk 설정 파일 링크 변경

앞서 변경했던 파일과 링크 설정되어있는 mod-jk 설정파일의 링크도 재설정 해준다
sudo ln -f -s ../apache2/mods-available/jk.conf httpd-jk.conf
Bash
복사
기존 : 링크 파일이 존재하지 않아 빨간색으로 표시
변경 : 링크 파일이 정상 인식되어 파란색으로 표시

mod-jk 활성화

sudo a2enmod jk
Bash
복사

Apache 설정 검사

현재까지 진행한 설정에 문법 오류가 있는지 검사
apache2ctl configtest
Bash
복사
OK 확인

jk.conf 수정

JkWorkersFile 을 변경하여 아까 생성한 workers.properties 파일을 참조하도록 설정
sudo vi /etc/apache2/mods-available/jk.conf
Bash
복사
기존 : JkWorkersFile /etc/libapache2-mod-jk/workers.properties 변경 : JkWorkersFile /etc/apache2/workers.properties

아파치 재시작

systemctl restart apache2
Bash
복사

4. 아파치, 톰캣 연동 설정 (톰캣)

server.xml 수정

sudo vi /etc/tomcat9/server.xml
Bash
복사
주석 해제 및 아래와 동일하게 내용 수정, 추가

톰캣 재시작

systemctl restart tomcat9
Bash
복사

ModSecurity 설치는 추후 추가 예정

# ModSecurity 및 Git 설치 apt-get install -y libapache2-mod-security2 git # ModSecurity 모듈 활성화 a2enmod security2 # ModSecurity 기본 설정 파일 복사 cp -a /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf # ModSecurity 설정 파일 편집 vi /etc/modsecurity/modsecurity.conf # Apache 서버 재시작 systemctl restart apache2 # Apache에서 ModSecurity 모듈 확인 apachectl -M | grep -i security # OWASP ModSecurity Core Rule Set (CRS) 설치 git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git /usr/share/modsecurity-crs cp /usr/share/modsecurity-crs/crs-setup.conf.example /usr/share/modsecurity-crs/crs-setup.conf # CRS 설정 파일 편집 vi /usr/share/modsecurity-crs/crs-setup.conf # Apache 설정 테스트 apache2ctl configtest # Apache 서버 재시작 systemctl restart apache2
Bash
복사