InfoSec / / 2024. 9. 25. 14:04

웹서버 보안 강화 - 파일 정리, 메서드 제한, 방화벽 설치

필요 없는 파일을 정리하여 보안 강화

웹서버 폴더 내의 파일들을 확인했을 때

현재 운영중인 board(게시판) 폴더를 제외하면

사용하고 있지 않은 불필요한 파일들이 존재하므로

이 파일들을 제거해주는 것이 안전합니다.

 

 

또한 서버에 저장되어 있는 파일들은

유추하기 어려운 이름을 사용하는 것이 보안에 유리합니다.

 

 

웹서버에 사용 가능한 메서드 제한

 

curl -i -X OPTIONS http://localhost

로 웹 서버의 정보를 확인한 결과

 

사용 가능한 메서드 방식이 GET,POST,OPTIONS,HEAD로 확인되었습니다.

 

GET,POST는 웹서버에 꼭 사용되어야 하는 메서드이므로 둘을 제외한

나머지 메서드는 차단하도록 설정하여 보안을 강화할 수 있습니다.

 

gedit /etc/apache2/apache2.conf

 

# 170라인부터 수정

<Directory /var/www/>
       Options Indexes
        AllowOverride None
        Require all granted
</Directory>

 

의 사이에  구문 추가

 

<Directory /var/www/>
       Options Indexes
        AllowOverride None
        Require all granted

        <LimitExcept GET POST>

                 Order deny,allow

                 Deny from all

        </LimitExcept>
</Directory>

 

 

# 마지막 라인에 구문 추가

TraceEnable Off

 

이후 apache2 데몬을 재실행하여 다시 메서드를 확인한 결과

OPTIONS 메서드가 차단되어 정보를 제대로 확인할 수 없는것을 확인할 수 있습니다.

 

 

웹 방화벽 설치

ModSecurity & OWASP 탐지 룰 설정을 통하여

웹에서만 작동하는 방화벽을 구축할 수 있습니다.

 

ModSecurity 설치 및 설정

apt install -y libapache2-mod-security2

 

cd /etc/modsecurity/

ll

 

# 환경설정 기본값 복사

cp modsecurity.conf-recommended modsecurity.conf

 

gedit modsecurity.conf

 

# 7라인 구문 수정

SecRuleEngine On

 

# On = 탐지 및 차단 활성화

# DetectionOnly = 탐지만 활성화

# Off = 해제

 

이후 apache2 데몬을 재시작

 

 

Ex) 방화벽 설정 전 후로

http://웹서버IP/index.html?exec=/bin/bash로 파라메터 값을 주며 접근 할 경우

 

방화벽 설정 전에 접근하려 할 경우

파라메터 값의 전달을 시도해도 문제없이 서버에 접근할 수 있음을 확인할 수 있습니다.

 

 

방화벽 설정 완료 후 접근하려 할 경우

웹 서버 자체에는 문제없이 접근 가능하나

파라메터 값을 넣으려 시도하면 차단되어 접속되지 않음을 확인할 수 있습니다.

 

 

 방화벽 로그 확인

cd /var/log/apache2

 

cat modsec_audit.log

 

/var/log/apache2/modsec_audit.log 파일에 방화벽이 차단한 요청의 로그가 저장됩니다.

 

 

 

테스트를 위해 Brute Force 방식으로 게시판을 공격해 보겠습니다.

 

Brute Force 공격을 수행해본 결과

공격이 제대로 수행되지 않으며 방화벽에서 차단되어

 

access.log

error.log

modsec_audit.log

로그가 계속해서 쌓이는 것을 확인하였습니다.

 

내용 확인 결과 공격을 수행했던 Kali Linux의 IP나 접근한 페이지 경로,

클라이언트(공격자)에게 보낸 메시지 등을 확인할 수 있습니다.

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유