본문 바로가기
카테고리 없음

[Apache] 보안취약점 조치 apache정보 숨김처리

by 미눅스[멘토] 2026. 4. 24.
728x90

apache 정보숨김처리 가이드.txt
0.00MB

 

 

리눅스 nmap 스캐너를 활용해 IP를 스캔해보면 아래와 같이 apache정보가 노출된다.

이것을 조치해보자

 

 

실제 테스트한 환경
os    : Ubuntu 22.04
web : httpd-2.4.53

* 여기서 부터 아래 순서대로 진행 *

****인터넷 사용 가능한 경우 ( 인터넷 사용 불가능할경우 아래 참조)****
1. ModSecurity 2.9.7 설치
 1) cd /home/user
 2) wget https://github.com/SpiderLabs/ModSecurity/releases/download/v2.9.7/modsecurity-2.9.7.tar.gz

2. 압축해제 
 1) tar -xzvf modsecurity-2.9.7.tar.gz

3. 파일 경로로 이동 및 libxml2-dev 라이브러리 설치
 1) cd /home/user/modsecurity-2.9.7
 2) sudo apt install libxml2-dev 
 3) ./configure --with-apxs=/home/user/apache/bin/apxs \
            --with-apr=/home/user/apache/bin/apr-1-config \
            --with-apu=/home/user/apache/bin/apu-1-config

 4) make 
 5) sudo make install
 6) #파일 생성 확인
      ls -l /home/user/apache/modules/mod_security2.so

****인터넷 사용 불가능한 경우****
1. ModSecurity 2.9.7 설치
 1) modsecurity-2.9.7.tar.gz 파일을 다운받아 /home/user/ 경로로 가져다 놓음

2. 압축해제 
 1) tar -xzvf modsecurity-2.9.7.tar.gz

3. libxml2-2.9.14 라이브러리 설치
 1) 다운받은 libxml2-2.9.14.tar.xz 파일을  /home/user/ 경로로 가져다 놓음

4. 압축 해제 (xz 형식이므로 J 옵션 사용) 
 1) tar -xJvf libxml2-2.9.14.tar.xz

5. 폴더 진입
 1) cd libxml2-2.9.14

6. --prefix를 통해 설치될 경로를 명시(나중에 ModSecurity가 이 경로를 참조하게 됨).
 1) ./configure --prefix=/home/user/libs/libxml2 --without-python

7. 컴파일
 1) make

8. 설치(지정한 prefix 경로로 파일들이 복사됨)
 1) sudo make install

9. 파일 생성 눈으로 확인
  1) ls -l /home/user/libs/libxml2/lib
  2) ls -l /home/user/libs/libxml2/include

10. 설치 경로로 이동
 1) cd /home/user/modsecurity-2.9.7

11. 기존 기록 삭제
 1) make clean

12. --with-libxml2 옵션으로 방금 수동 설치한 경로를 직접 넣어줌(libxml2 라이브러리를 수동으로 설치했을 경우 modsecurity 설치시 설정값이 추가됩니다.)
 1)  ./configure --with-apxs=/home/user/apache/bin/apxs \
      --with-apr=/home/user/apache/bin/apr-1-config \
      --with-apu=/home/user/apache/bin/apu-1-config \
      --with-libxml=/home/user/libs/libxml2 

13. 컴파일 및 설치
 1) make
 2) sudo make install

14. 파일 생성 확인
 1) ls -l /home/user/apache/modules/mod_security2.so


*****httpd.conf파일 수정*****
1.httpd.conf파일 진입
 1) cd /home/user/apache/conf/
 2) cp httpd.conf httpd.conf.back   #<- 백업
 3) vi httpd.conf

2. unique_id_module 주석해제 ( #unique_id_module 로드 (mod_security의 필수 짝꿍임)
 1) LoadModule unique_id_module modules/mod_unique_id.so 

3. 방금 직접 컴파일해서 만든 모듈 로드 (아래 코드 추가)
 1)  LoadModule security2_module modules/mod_security2.so

4. 보안 설정 주입 (맨아래 코드 추가)
 1)   <IfModule security2_module>
          SecRuleEngine On
          # [핵심 아파치 이름을 “ ”로 바꿉니다
          SecServerSignature “ "
      </IfModule>

5. 저장 후 나가기
 1) :wq

6. 문법 검사 (Syntax OK가 나오면 됨!)
 1) sudo /home/user/apache/bin/httpd -t

7. 재시작
 1) sudo /home/user/apache/bin/httpd -k restart

최종확인
 1) namp -sV localhost
 2) curl -I localhost

 

 

결과는 아래와 같이 잘 처리 되었다.

결과