WAS Security Checker
  • PDF

WAS Security Checker

  • PDF

Classic/VPC 환경에서 이용 가능합니다.

WAS Security Checker 메뉴에서는 Web Application Server(WAS)의 보안 설정 점검 결과를 확인할 수 있습니다. 점검 상세 결과를 진단 리포트를 통해 확인하거나 PDF 또는 엑셀 파일로 다운로드할 수 있습니다. 또한, 적절한 보안 설정과 조치 방법을 확인할 수 있습니다.

참고

점검 결과를 확인하려면, 먼저 서버에서 보안 설정 점검을 실행해 주십시오. 점검 방법에 대한 자세한 내용은 OS 및 WAS 점검을 참고해 주십시오.

WAS Security Checker 화면

System Security Checker 이용을 위한 WAS Security Checker 메뉴의 기본적인 설명은 다음과 같습니다.
ssc-wassecuritychecker_screen_ko

영역 설명
① 메뉴명 현재 확인 중인 메뉴 이름, 조회 중인 검사 결과 수
② 기본 기능
  • 서비스 이용 신청 및 해제(System Security Checker 시작 참고)
  • 점검 방법 확인
  • WAS Security Checker 사용 가이드 확인
  • System Security Checker 상세 정보 확인
  • 페이지 새로 고침
  • ③ 검색 영역 점검 일시를 기준으로 필터링하거나 서버 이름으로 검색하여 점검 결과 조회
    Excel 버튼을 클릭하여 점검 결과를 엑셀 파일로 다운로드
    ⑤ 점검 결과 목록 조회 중인 WAS 보안 설정 점검 결과 목록

    점검 결과 확인

    서버의 WAS 보안 설정 점검 결과를 확인하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔에서 Services > Security > System Security Checker 메뉴를 차례대로 클릭해 주십시오.
    2. WAS Security Checker 메뉴를 클릭해 주십시오.
    3. 점검 결과를 확인해 주십시오.
      • 점검 일시로 결과를 필터링하거나 Server 이름을 입력하여 원하는 결과를 검색할 수 있습니다.
      • Region: 서버가 존재하는 리전
      • Application: 점검한 WAS 종류
      • Pid: 점검한 WAS 프로세스의 ID
      • server 이름: 서버 이름, 클릭하여 해당 검사의 상세 결과 및 조치 방법 확인(상세 결과 및 조치 방법 확인 참고)
      • InstanceNo: 서버 고유 번호
      • 점검 일시: 점검 실행 일시
      • 진단 구분: 해당 진단의 최초 진단 또는 재진단 여부 표시
        • 재진단으로 표시되는 경우, 해당 진단에 대해서는 과금되지 않습니다.(진단 구분에 대한 자세한 내용은 서비스 소개 페이지 참고)
      • OS type: 점검한 서버의 OS 유형
      • OS version: 점검한 서버의 OS 버전
      • 취약/전체 항목: 점검 결과가 Bad인 점검 항목 수/전체 점검 항목 수
      • Critical, Major, Minor: 해당 위험도의 점검 항목 중 점검 결과가 Bad인 항목 수
      • Report view: [리포트] 버튼을 클릭하여 해당 검사 결과 전체를 진단 리포트로 확인 및 PDF 파일로 다운로드

    상세 결과 및 조치 방법 확인

    WAS 보안 설정 점검의 상세 결과와 점검 항목에 대한 설명, 조치 방법을 확인하고 진단 리포트를 다운로드하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔에서 Services > Security > System Security Checker 메뉴를 차례대로 클릭해 주십시오.
    2. WAS Security Checker 메뉴를 클릭해 주십시오.
    3. 상세 결과를 확인할 점검 서버의 이름을 클릭해 주십시오.
    4. 상세 결과 및 조치 팝업 창이 나타나면 점검 세부 항목과 결과를 확인해 주십시오.
      • 각 점검 항목을 클릭하여 점검 항목에 대한 설명, 권고 설정 및 판단 기준, 조치 방법 확인
      • 위험도점검결과를 선택하고 [검색] 버튼을 클릭하여 점검 항목 필터링
      • [리포트] 버튼을 클릭하여 조회 중인 결과를 진단 리포트로 확인 및 PDF 파일로 다운로드
      • [Excel] 버튼을 클릭하여 조회 중인 결과를 엑셀 파일로 다운로드

    WAS 보안 설정 점검 항목

    점검하는 WAS 종류에 따른 보안 설정 점검 항목을 확인해 주십시오.

    참고

    점검 항목에 대한 자세한 설명과 권장 설정, 조치 방법은 네이버 클라우드 플랫폼 콘솔의 상세 결과 및 조치 팝업 창에서 확인할 수 있습니다.(상세 결과 및 조치 방법 확인 참고)

    Apache 점검 항목

    Apache 보안 설정 점검 항목과 그에 대한 설명은 다음과 같습니다.

    Check ID 점검 항목 점검 항목 설명
    AAC-01 루트 디렉토리 접근 제어 - Order OS 루트 디렉터리에 대한 접근 제어 정책 설정
    AAC-02 루트 디렉토리 접근 제어 - Deny OS 루트 디렉터리에 대한 기본 거부 정책 설정
    AAC-03 AllowOverride 설정 - All Apache OverRide 지시문을 All로 설정
    ADS-01 KeepAlive 설정 KeepAlive 지시문을 On으로 설정
  • KeepAlive 지시문: Apache가 클라이언트의 후속 HTTP 요청을 처리하기 위해 클라이언트 당 동일한 TCP 연결을 재사용할지 여부를 제어
  • ADS-02 MaxKeepAliveRequests 설정 MaxKeepAliveRequests 지시문을 100 이상으로 설정
  • MaxKeepAliveRequests 지시문: KeepAlive가 설정된 경우 연결 당 허용되는 요청 수 제어
  • ADS-03 Timeout 설정 TimeOut 지시문을 10 이하로 설정
  • TimeOut 지시문: Apache HTTP 서버가 입/출력 호출이 완료될 때까지 대기하는 최대 시간(초) 제어
  • ADS-04 KeepAliveTimeout 설정 KeepAliveTimeout 지시문을 15 이하로 설정
  • KeepAliveTimeout 지시문: Apache가 활성 상태로 유지되는 연결을 닫기 전에 후속 요청을 대기하는 시간(초) 제어
  • AIL-01 ServerTokens 설정 ServerTokens 지시문을 서버의 버전에 대하여 최소한의 정보만을 제공하도록 설정
    AIL-02 ServerSignature 설정 오류 페이지와 같은 서버 생성 문서 맨 아래 서명 등에 추가되는 정보를 제한하기 위하여, ServerSignature 지시문을 off로 설정
    ALM-01 에러로그 수준 설정 - LogLevel notice LogLevel 지시문을 notice 레벨로 설정
  • LogLevel 지시문: 에러 로그의 수준을 구성
  • ALM-02 에러로그 수집 설정 ErrorLog 지시문을 설정하여 에러 로그 파일 이름 구성
    ALM-03 로그 포맷 정의 LogFormat 지시문을 설정하여 액세스 로그 항목에 포함될 형식 및 정보 정의
    ALM-04 CustomLog 포맷 정의 CustomLog 지시문을 설정하여 로그 파일, syslog 기능 또는 파이프 로깅 유틸리티 지정
    AMF-01 Options 설정 - none 루트(/) OS 레벨에 대한 옵션 지시 설정
    AMF-02 기본 콘텐츠 사용제한 - server-status 서비스에 필요하지 않은 Apache 기본 콘텐츠 제거
    AMF-03 기본 콘텐츠 사용제한 - server-info 서비스에 필요하지 않은 Apache 기본 콘텐츠 제거
    AMF-04 기본 콘텐츠 사용제한 - perl-status 서비스에 필요하지 않은 Apache 기본 콘텐츠 제거
    AMF-05 HTTP TRACE 사용 금지 Apache TraceEnable을 설정하여 HTTP TRACE 요청 방식을 비활성화
    AMM-01 log_config_module 사용 log_config 모듈을 사용하여 로깅 설정 활성화
  • log_config 모듈: 클라이언트 요청의 유연한 로깅을 제공하고 각 로그에 대한 정보 제공
  • AMM-02 webdav_modules 사용 금지 WebDAV 모듈 비활성화
  • WebDAV 모듈: 클라이언트가 웹 서버에서 파일과 리소스를 생성/이동/삭제할 수 있도록 하는 HTTP 프로토콜의 확장
  • AMM-03 status_module 사용 금지 status 모듈 비활성화
  • status 모듈: 현재 서버 성능 통계 제공
  • AMM-04 autoindex_module 사용 금지 autoindex 모듈 비활성화
  • autoindex 모듈: 서버에 있는 디렉터리의 내용을 나열한 웹 페이지를 자동으로 생성
  • AMM-05 proxy module 사용 금지 Apache 설치가 다른 네트워크에 대한 프록시 요청 또는 다른 네트워크에 있지 않을 경우, 프록시 모듈 비활성화
  • 프록시 모듈: 서버가 프록시 또는 역방향으로 작동하도록 허용
  • AMM-06 userdir module 사용 금지 userdir 모듈을 비활성화하여 tilde(~)를 이용한 사용자 홈 디렉터리 접근 허용 안 함
    AMM-07 info_module 사용 금지 info 모듈을 비활성화
  • info 모듈: /etc/server-info URL위치에 대한 액세스를 통해 서버 설정에 대한 정보 제공
  • APO-01 apache 사용 Group 제한 Group 지시문을 설정하여 Apache를 사용할 그룹 지정
    APO-02 apache 사용 User 제한 User 지시문을 설정하여 Apache를 사용할 사용자 지정
    APO-03 apache 로그인 shell 제한 Apache 계정을 사용하여 로그인할 수 없도록 유효하지 않거나 nologin 쉘을 할당
    APO-04 apache 계정 잠금 정책 Apache가 실행되는 사용자 계정에는 유효한 비밀번호가 없어야 하지만 잠겨 있어야 함
    AST-01 ssl_module 사용 데이터의 보호를 위하여 mod_ssl 또는 mod_nss를 설치
  • mod_ssl: Apache용 SSL / TLS를 구현하는 가장 많이 사용되는 표준 모듈
  • mod_nss: Mozilla의 NSS(Network Security Services) 소프트웨어를 Apache 모듈로 구현한 것
  • Tomcat 점검 항목

    Tomcat 보안 설정 점검 항목과 그에 대한 설명은 다음과 같습니다.

    Check ID 점검 항목 점검 항목 설명
    TAD-01 Tomcat이 Security Manager를 이용하여 실행되어야 함 Tomcat이 Security Manager를 사용하여 샌드박스에서 실행되도록 설정
    TAD-02 자동 배포(autoDeploy) 기능 사용 금지 autoDeploy 옵션을 사용하지 않도록 설정
  • autoDeploy 옵션: Tomcat이 실행되는 중에 응용 프로그램의 자동 배포를 허용
  • TAD-03 시동시 자동배포(deployOnStartup) 기능 사용 금지 deployOnStartup 옵션을 사용하지 않도록 설정
  • deployOnStartup 옵션: Tomcat이 시동될 때 응용 프로그램 자동 배포
  • TCR-01 안전하지 않은 Realms 사용 제한 Tomcat이 다음의 안전하지 않은 Realm을 사용하지 않도록 설정
  • 안전하지 않은 Realm: MemoryRealm, JDBCRealm, UserDatabaseRealm, JAASRealm
  • Realm: 사용자의 유효한 웹 응용 프로그램을 식별하는 데 사용되는 사용자 이름과 비밀번호의 데이터베이스
  • TCR-02 LockOut Realms 사용 LockOut Realm 사용
  • LockOut Realm: 로그인 실패가 여러 번 발생할 때, 사용자 로그인을 잠글 수 있는 기능
  • TCS-01 Connector 옵션 : clientAuth=true 로 설정 Client-cert 인증 설정
  • Client-cert 인증: 인증에 클라이언트 인증서가 필요하여 암호 기반 인증보다 강력함
  • TCS-02 Connector 옵션 : SSLEnabled, secure 옵션 확인 커넥터의 보안 상태를 커넥터를 통해 작동하는 응용 프로그램에 정확하게 전달하는지 확인
    TCS-03 Connector 옵션 : sslProtocol=TLS 사용 sslProtocol 특성을 TLS로 설정
  • sslProtocol: Tomcat이 트래픽 보호에 사용할 프로토콜 결정
  • TIL-01 서버 정보 노출을 방지를 위한 server.info 문자열 변경 server.info 문자열을 변경하여 애플리케이션 서비스 이름 및 버전 정보 노출 방지
    TIL-02 서버 정보 노출을 방지를 위한 server.number 문자열 변경 server.number 문자열을 변경하여 Tomcat의 상세 버전 노출 방지
    TIL-03 서버 정보 노출을 방지를 위한 server.built 날짜 변경 server.bulit 문자열을 변경하여 서버의 설치 날짜 노출 방지
    TIL-04 X-Powered-By HTTP Header 사용하지 않음 xpoweredBy 설정값을 false로 설정
  • xpoweredBy 설정: Apache Tomcat이 XPowered-By HTTP 헤더를 통해 존재 여부를 알릴 것인지 결정
  • TIL-05 Stack Traces 정보 노출 제한 런타임 오류 발생 시 호출 스택과 같은 디버깅 정보를 요청자에게 노출하지 않도록 설정
    TIL-06 HTTP TRACE 사용하지 않음 Tomcat이 Trace 요청을 수락하지 못하도록 설정
  • HTTP TRACE: 주어진 요청에 대한 디버깅 및 진단 정보 제공
  • TMC-01 RECYCLE_FACADES 옵션 사용 각 요청에 대해 새 facade가 작성되도록 설정
    TMC-02 경로 구분 기호를 추가하는 옵션 (ALLOW_BACKSLASH) 사용 금지 ALLOW_BACKSLASH 옵션을 사용하지 않도록 설정
  • Tomcat에서 다른 경로 구분 기호를 지정할 수 있으면, 공격자가 이전에 mod_proxy와 같은 프록시에서 차단한 응용 프로그램에 액세스 할 수 있는 가능성이 생김
  • TMC-03 경로 구분 기호를 추가하는 옵션 (ALLOW_ENCODED_SLASH) 사용 금지 ALLOW_ENCODED_SLASH 옵션을 사용하지 않도록 설정
  • Tomcat에서 다른 경로 구분 기호를 지정할 수 있으면, 공격자가 이전에 mod_proxy와 같은 프록시에서 차단한 응용 프로그램에 액세스 할 수 있는 가능성이 생김
  • TMC-04 사용자 정의 상태 메시지 (USE_CUSTOM_STATUS_MSG_IN_HEADER) 옵션 사용금지 USE_CUSTOM_STATUS_MSG_IN_HEADER 옵션을 사용하지 않도록 설정
  • 사용자 지정 헤더 상태 메시지가 필요한 경우 US-ASCII 형식인지, 사용자가 제공한 데이터는 포함되어 있지 않은지 확인
  • TMC-05 enableLookups 옵션 사용 금지 enableLookups 옵션을 금지하여 DNS Lookup으로 인한 리소스 낭비 방지
    TRE-01 서비스에 불필요한 파일 제거 Tomcat을 설치할 때 기본적으로 제공되는 애플리케이션과 설명 문서, 기타 디렉터리 삭제
    TSP-01 Shutdown 옵션 nondeterministic 설정 $CATALINANAL_HOME/conf/server.xml의 shutdown 속성을 nondeterministic으로 설정
  • 악성 로컬 사용자가 Tomcat을 종료하는 것을 방지
  • TSP-02 Shutdown port 사용 금지 종료 포트를 비활성화
  • 악성 로컬 사용자가 Tomcat을 종료하는 것을 방지
  • TTC-01 접근 제한 설정 : $CATALINA_HOME 중요 환경 변수에 대한 접근 제한 설정
  • $CATALINA_HOME: 루트 Tomcat 디렉터리에 대한 경로를 보유하는 환경 변수
  • TTC-02 접근 제한 설정 : $CATALINA_BASE 중요 환경 변수에 대한 접근 제한 설정
  • $CATALINA_BASE: 대부분의 상대 경로가 해석되는 기본 디렉터리를 지정하는 환경 변수
  • TTC-03 접근 제한 설정 : $CATALINA_HOME/conf/ 중요 디렉터리에 대한 접근 제한 설정
  • $CATALINA_HOME/conf/: Tomcat 구성 파일이 있는 디렉터리
  • TTC-04 접근 제한 설정 : $CATALINA_HOME/logs/ 중요 디렉터리에 대한 접근 제한 설정
  • $CATALINA_HOME/logs/: Tomcat 로그가 있는 디렉터리
  • TTC-05 접근 제한 설정 : $CATALINA_HOME/temp/ 중요 디렉터리에 대한 접근 제한 설정
  • $CATALINA_HOME/temp/: 임시 정보를 디스크에 저장하기 위해 Tomcat에서 사용하는 디렉터리
  • TTC-06 접근 제한 설정 : $CATALINA_HOME/bin/ 중요 디렉터리에 대한 접근 제한 설정
  • $CATALINA_HOME/bin/: Tomcat 런타임의 일부인 실행 파일을 포함하는 디렉터리
  • TTC-07 접근 제한 설정 : $CATALINA_HOME/webapps/ 중요 디렉터리에 대한 접근 제한 설정
  • $CATALINA_HOME/webapps: Tomcat을 통해 배포되는 웹 응용 프로그램을 포함하는 디렉터리
  • TTC-08 접근 제한 설정 : catalina.policy 중요 파일에 대한 접근 제한 설정
  • catalina.policy: Tomcat에 대한 보안 정책을 구성하는 데 사용되는 파일
  • TTC-09 접근 제한 설정 : catalina.properties 중요 파일에 대한 접근 제한 설정
  • catalina.properties: 클래스 로더 정보, 보안 패키지 목록 및 성능 등록 정보를 비롯하여 Tomcat에 대한 설정을 포함하는 Java 등록 정보 파일
  • TTC-10 접근 제한 설정 : context.xml 중요 파일에 대한 접근 제한 설정
  • context.xml: 모든 웹 응용 프로그램에 의해 로드되고 특정 구성 옵션을 설정하는 파일
  • TTC-11 접근 제한 설정 : logging.properties 중요 파일에 대한 접근 제한 설정
  • logging.properties: 로깅 구성을 지정하는 Tomcat 파일
  • TTC-12 접근 제한 설정 : server.xml 중요 파일에 대한 접근 제한 설정
  • server.xml: Tomcat 서블릿 정의 및 구성 포함
  • TTC-13 접근 제한 설정 : tomcat-users.xml 중요 파일에 대한 접근 제한 설정
  • tomcat-users.xml: Tomcat 응용 프로그램에 대한 인증 정보 포함
  • TTC-14 접근 제한 설정 : web.xml 중요 파일에 대한 접근 제한 설정
  • web.xml: 응용 프로그램 구성 설정을 저장하는 Tomcat 구성 파일
  • Nginx 점검 항목

    Nginx 보안 설정 점검 항목과 그에 대한 설명은 다음과 같습니다.

    Check ID 점검 항목 점검 항목 설명
    NGX-01 버퍼 오버플로우 방지 - client_body_buffer_size 설정 클라이언트 요청의 body 내용을 읽기 위한 버퍼 크기 설정
    NGX-02 버퍼 오버플로우 방지 - client_header_buffer_size 설정 클라이언트 요청 헤더를 읽기 위한 버퍼의 크기를 설정
    NGX-03 버퍼 오버플로우 방지 - client_max_body_size 설정 클라이언트 요청 body의 허용되는 최대 크기를 설정
    NGX-04 버퍼 오버플로우 방지 - large_client_header_buffers 설정 클라이언트 요청 헤더를 읽기 위한 버퍼의 최대 크기를 설정
    NGX-05 버전 정보 삭제 오류 페이지에 현재 버전을 표시하지 않도록 server_tokens 옵션 설정
    NGX-06 Slow HTTP DoS 공격 차단 - client_body_timeout 클라이언트 요청에 대한 본문 읽기 제한 시간 설정
  • 제한 시간은 전체 요청 본문의 전송이 아닌, 두 개의 연속 읽기 작업 사이의 기간에 대해서 설정됨
  • NGX-07 Slow HTTP DoS 공격 차단 - client_header_timeout 클라이언트 요청 헤더를 읽기 위한 제한 시간 설정
    NGX-08 Slow HTTP DoS 공격 차단 - keepalive_timeout keep-alive 제한 시간 설정
    NGX-09 Slow HTTP DoS 공격 차단 - send_timeout 클라이언트에 응답을 전송하기 위한 제한 시간 설정
  • 제한 시간은 전체 응답을 전송하기 위한 것이 아니라, 두 개의 연속 쓰기 작업 사이에서 설정
  • NGX-10 SSL/TLS 설정 가능하면 SSLv2, SSLv3 등을 사용하지 않도록 설정
  • TLS 사용 권장
  • NGX-11 BEAST 공격 차단을 위한 서버 사이드 설정 BEAST 공격을 방지하기 위해서, 클라이언트 대신에 서버에 의해 결정되도록 암호에 대한 선호도를 설정
  • BEAST 공격: SSL/TLS와 함께 사용되는 암호 블록체인(CBC)에 대한 공격
  • NGX-12 안전하지 않은 암호방식 사용 금지 DES를 포함한 취약한 암호화 방식은 사용하지 않도록 설정
    NGX-13 클릭재킹 방지 클릭재킹 방지를 위하여 보호 헤더를 설정
    NGX-14 content-type 스니핑 차단 설정 HTTP 응답의 헤더에 MIME 형식 및 nosniff 옵션 추가
    NGX-15 Cross-site scripting (XSS) 필터 설정 Cross-site scripting(XSS) 공격을 방지하기 위하여 X-XSS-Protection 옵션 설정
    NGX-16 안전한 SSL 보안 설정 SSL Stripping 공격 방지를 위해 Nginx의 보안 설정에 Strict-Transport-Security 헤더를 추가

    이 문서가 도움이 되었습니까?