웹서버 보안 강화의 핵심은 취약한 프로토콜 비활성화, 불필요한 정보 노출 차단, 그리고 디렉터리 접근 제어다.[1] > 네트워크/보안/해킹

본문 바로가기
사이트 내 전체검색

네트워크/보안/해킹

▒ Info Tech ▒ 네트워크/보안/해킹 ▒ 하드웨어 ▒ 소프트웨어
Information Technology Group
▒ Info Tech ▒ 네트워크/보안/해킹 ▒ 하드웨어 ▒ 소프트웨어

보안 웹서버 보안 강화의 핵심은 취약한 프로토콜 비활성화, 불필요한 정보 노출 차단, 그리고 디렉터리 접근 제어다.[1]

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 2회 작성일 26-07-26 12:50

본문

웹서버 보안 강화의 핵심은 취약한 프로토콜 비활성화, 불필요한 정보 노출 차단, 그리고 디렉터리 접근 제어다. 각 환경별 필수 보안 설정 파일( conf ) 예시와 방안은 다음과 같다.

 1. Linux + Nginx 환경

Nginx는 가볍고 빠르지만 기본 설정 상태로는 정보 노출 위험이 있다. /etc/nginx/nginx.conf 또는 가상 호스트 설정 파일에 아래 보안 설정을 반영해야 한다. 
nginx
               http {
    # 1. Nginx 버전 정보 숨기기 (헤더 노출 차단)
    server_tokens off;
    # 2. 클릭재킹 공격 방지 및 XSS 필터링 설정
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-XSS-Protection "1; mode=block" always;
    add_header Content-Security-Policy "default-src 'self';" always;
    server {
        listen 443 ssl;
        server_name example.com;
        # 3. 안전한 TLS 프로토콜 및 암호화 알고리즘만 허용 (TLS 1.0, 1.1 차단)
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
        # 4. 디렉터리 리스팅 차단 및 특정 경로 IP 제한
        location / {
            autoindex off; # 파일 목록 노출 금지
        }
        location /admin {
            allow 192.168.1.0/24; # 허용할 관리자 IP 대역
            deny all;             # 그 외 모든 접근 차단
        }
    }
}

               
코드를 사용할 때는 주의가 필요합니다.

2. Linux + Apache 환경
Apache는 모듈 기반으로 동작하므로 보안 관련 모듈( mod_headers , mod_rewrite )이 활성화되어 있어야 한다. /etc/httpd/conf/httpd.conf 또는 .htaccess 파일에 적용한다.
apache
               # 1. Apache 버전 및 OS 정보 숨기기
ServerTokens ProductOnly
ServerSignature Off
# 2. 클릭재킹 및 보안 헤더 추가 (mod_headers 필요)
<IfModule mod_headers.c>
    Header set X-Frame-Options "SAMEORIGIN"
    Header set X-Content-Type-Options "nosniff"
    Header set X-XSS-Protection "1; mode=block"
</IfModule>
# 3. 디렉터리 리스팅 차단 및 상위 디렉터리 접근 제한
<Directory "/var/www/html">
    Options -Indexes -FollowSymLinks # Indexes 제거로 리스팅 차단
    AllowOverride None
    Require all granted
</Directory>
# 4. 관리자 페이지 IP 접근 제한
<Directory "/var/www/html/admin">
    Require ip 192.168.1.100
    # 위의 IP 외에는 모두 거부됨
</Directory>
# 5. 불필요한 HTTP 메소드(TRACE, TRACK 등) 차단
TraceEnable Off

               
코드를 사용할 때는 주의가 필요합니다.

3. Windows + IIS 환경
IIS는 텍스트 기반 conf 파일 대신 웹 루트 디렉터리의 web.config XML 파일로 설정을 관리한다. 구버전 TLS 차단은 Windows 레지스트리 수정이 필요하며, 웹 설정은 아래 코드를 사용한다.
xml
               <?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <!-- 1. 디렉터리 리스팅 차단 -->
    <directoryBrowseenabled="false" />
    <!-- 2. 보안 HTTP 헤더 추가 -->
    <httpProtocol>
      <customHeaders>
        <addname="X-Frame-Options"value="SAMEORIGIN" />
        <addname="X-Content-Type-Options"value="nosniff" />
        <addname="X-XSS-Protection"value="1; mode=block" />
        <!-- 서버 정보 숨기기 (X-Powered-By 제거) -->
        <removename="X-Powered-By" />
      </customHeaders>
    </httpProtocol>
    <!-- 3. 관리자 페이지 IP 접근 제한 -->
    <security>
      <ipSecurityallowUnlisted="true"> <!-- 기본적으론 허용하되 아래 경로에서 별도 제어 --><!-- 특정 폴더에 적용 시 <location> 태그 활용 가능 -->
      </ipSecurity>
      <!-- 4. 서버 배너 정보(Server: Microsoft-IIS) 숨기기 (IIS 10.0 이상) -->
      <requestFilteringremoveServerHeader="true" />
    </security>
  </system.webServer>
</configuration>
               
코드를 사용할 때는 주의가 필요합니다.

 

댓글목록

등록된 댓글이 없습니다.


사이트 정보

회사명 : 회사명 / 대표 : 대표자명
주소 : OO도 OO시 OO구 OO동 123-45
사업자 등록번호 : 123-45-67890
전화 : 02-123-4567 팩스 : 02-123-4568
통신판매업신고번호 : 제 OO구 - 123호
개인정보관리책임자 : 정보책임자명

접속자집계

오늘
7
어제
4
최대
28
전체
175
Copyright © HeyWEB. All rights reserved.