심볼릭 링크 기능 비활성화
- 공격자의 서버 디렉토리 경로에 대한 접근을 막기 위해서는 심볼릭 링크 기능 비활성화 필요
- /etc/apache2/apache2.conf 파일의 /var/www/ 안에 있는 Options Indexes FollowLinks에서 FollowSymLinks를 삭제
- 삭제 후 systemctl restart apache2 명령어를 통해 수정 내용을 서버에 반영
* 심볼릭 링크: 파일이나 폴더에 대한 참조를 포함하는 파일을 말함(ex: 윈도우 바로가기)
디렉터리 리스팅 비활성화
- /etc/apache2/apache2.conf 파일의 Options Indexes를 Options None으로 수정
- 웹 서버를 다시 실행하여 수정 내용을 서버에 반영
웹 서버 정보 노출 차단
- /etc/apache2/apache2.conf 파일 가장 아래에 ServerTokens Prod, ServerSignature Off 코드를 추가
- 위 코드는 웹 서버 정보 노출 설정 최소화, 웹 브라우저 정보 노출 비활성화 코드임
- 웹 서버를 다시 실행하여 수정 내용을 서버에 반영
접근 가능한 파일 IP 설정
- 방화벽 뿐만 아니라 웹 서버에 가상 호스트 별로 접근 제어 기능을 통해 IP 대역 차단 가능
- /etc/apache2/apache2.conf 파일에 아래 코드를 작성
<Location />
<RequireAll>
Require all granted
Include /etc/apache2/ipblacklist.conf
</RequireAll>
</Location>
3. /etc/apache2/apache2.conf 파일에 아래 코드 작성
Require not ip 192.xxx.xxx.xx #차단하고 싶은 ip 대역 작성
4. 이후 웹 서버를 재부팅하여 수정된 내용 서버에 반영
불필요한 파일 제거
- 웹 서버를 개발할 때 사용했던 파일들이 공격자에게 공격 기회를 제공 할 수도 있음
- 예를 들어 웹 서버 설치후 보이는 기본 페이지, back 백업 파일, 테스트 페이지등 웹 서버를 운영할 때 불필요한 파일이 있을경우 제거하거나 공격자가 파일 이름을 추측하기 어려운 이름으로 변경하는 것이 좋음
HTTP 메서드 제한
- 다양한 HTTP 프로토코 메서드 중에 보안에 취약한 메서드 중 불필요한 메서드는 차단이 필요
- /etc/apache2/apache2.conf 파일에서 <Directory /var/www/> 부분에 아래명령어를 입력
<LimitEcept GET POST>
Order XXXX #허용 메서드
Deny XXXX #차단 메서드
</LimitEcpet>
3. 이후 웹 서버를 재부팅 하여 수정된 내용 서버에 반영
HTTPS를 통한 보안 서버 구축
- HTTP는 암호화를 하지 않고 일반 통신을 하기 때문에 패킷을 제 3자가 확인 가능
- SSL/TLS(HTTPS)를 구축하면 통신 구간을 안전하게 암호화 처리가 가능
- 사설 SSL/TLS 인증서를 생성하여 적용 (일반적으로 내부망에서 개발 할 때 사용)
- 최신 웹 브라우저는 사설 인증서를 신뢰 X
- CA에서 정식 SSL/TLS 인증서를 구매하여 적용하는 것이 제일 보안 신뢰도가 높음
- 비용이 부담되는 경우 ISRG의 Let's Encrypt에서 제공하는 무료 인증서를 적용 가능
'Security' 카테고리의 다른 글
Security_원격 접속 해킹 (0) | 2025.01.23 |
---|---|
Security_데이터베이스 해킹 & 보안 (1) | 2025.01.13 |
Security_웹 서버 취약점 및 해킹 분석 (1) | 2025.01.08 |
Security_PAM 활용 사용자 계정 보안 (0) | 2025.01.07 |
Security_방화벽 (0) | 2025.01.07 |