정보보안기사 실기 / Apache 웹 서버 보안 설정 - 애플리케이션 보안

정보보안기사 실기 / Apache 웹 서버 보안 설정 - 애플리케이션 보안

728x90

반응형

정보보안기사 실기 / Apache 웹 서버 보안 설정 - 애플리케이션 보안

Apache 웹 서버의 설정파일은 /etc/httpd/conf/httpd.conf 입니다.

이번에는 httpd.conf 설정 파일을 알아 보겠습니다.

httpd.conf 세션 설정

보안 설정 내용 예시 ServerRoot - 아파치의 기본 Root 경로 Timeout - 클라이언트의 요청에 서버가 대기하는 시간을 설정 Timeout 300 MaxKeepAliveRequests - 접속을 허용할 수 있는 최대 횟수 Maxkeepaliverequest 100 KeepAliveTimeout - 클라이언트 최초 요청을 받은 뒤에 다음 요청이 전송될 때까지 대기하는 시간을 설정 KeepAliveTimeout 100 KeepAlive - 접속 연결에 대한 재용청을 허용할 것인지 설정 Keepalive On Directoryindex - 웹 디렉토리 접근 시 인식되는 인덱스 파일의 순서 지정 DirectoryIndex index.htm index.php Listem - 사용할 포트 지정 Listen 1120 Servername - 서버의 도메인 지정 Servername zidarn87.tistory.com:1120 DocumentRoot - 웹문서가 위치하는 디렉토리 지정 DocumentRoot "/var/www/html/webadmin" ServerAdmin - 서버 관리자 이메일 지정 CustomLog - 엑세스 로그 파일 위치 지정 ErrorLog - 에러 로그 파일의 위치 지정

http 접근제어

Order Deny,Allow

Options FollowSymLinks

Deny from All

AllowOverride none

Require all granted

LimitRequestBody 5000000

옵션 내용 Order Deny, Allow - Deny와 Allow의 순서를 정한다. (Deny, Allow or Allow, Deny) Deny from All - 모든 트래픽을 막는다. LimitRequestBody 5000000 - 파일 업로드, 다운로드 시 파일 크기를 제한한다. Options FollowSymLinks - 심볼릭 링크로 설정된 링크 파일의 경로 까지도 확인 할 수 있다. indexes - indexes 웹서버의 디렉토리 접근 시 지정한 파일이 존재하지 않을 경우에 디렉토리내의 파일목록리스트를 보여준다. 보안을 위해 사용하지 않는 것이 좋다. AllowOverride - 어떻게 접근을 허락할 것인가에 대한 설정

- 옵션 : None, ALL, AuthConfig, FileInfo, Indexes, Limit, Options

관련 문제

17회 다음과 같이 Apache 설정 시 발생할 수 있는 문제점 두가지를 작성하고 대응 방안을 쓰시오.

Options FollowSymLinks

AllowOverride none

Require all granted

Options indexes FollowSymLinks

AllowOverride none

Require all granted

(1) 발생하는 두가지 문제점

1. 디렉터리 리스팅으로 웹 서버 구조 및 중요 파일 노출됨.

2. 상위 디렉터리로 이동하여 악의적인 접근 가능함.

(2) 두가지 문제점에 대한 대응방안

1. /var/www 디렉터리의 Options 지시자에서 Indexes 옵션 제거

2. AllowOverride 옵션을 None -> AuthConfig로 변경

14회 다음은 리눅스 웹서버인 Apache의 설정파일 중 일부이다. 표시된 설정 내용이 의미하는 바가 무엇인지 설명하시오.

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 100

DirectoryIndex index.htm index.html

CustomLog /www/logs/access_log common

1) KeepAlive 옵션을 켠다. 속도를 개선시킬 수 있으나 동시접속량이 줄어든다.

2) KeepAlive를 유지시키는 시간을 100초로 설정한다.

3) KeepAlive를 허용하는 유저 수를 100명으로 설정한다.

4) 디렉토리로 접근할 경우 index.htm을 먼저 읽고, 없으면 index.html을 읽는다.

5) 로그파일은 /www/logs/access_log 경로에 저장하고, Apache 기본 로그 포맷을 사용한다.

14회 Apache 웹 서버 보안 설정을 하고자 한다. 환경설정 파일인 httpd.conf 파일에 (1) ~(4) 각각 해당하는 보안 설정을 기술하시오.

(1) 서버가 클라이언트로부터 응답을 기다리는 최대시간을 300초로 설정한다.

=> Timeout 300

(2) KeepAlive 상태에서 연결당 처리할 최대요청 처리 건수를 1000으로 한다.

=> MaxKeepAliveRequest 1000

(3) 디렉터리만을 지정했을 경우 그 디렉터리에서 자동으로 보여줄 웹 문서를 index.htm으로 설정하되, index.htm이 없으면 index.php를 보이게 설정한다.

=> DirectoryIndex index.htm index.php

(4) 서버접속 오류메시지를 /user/local/apache/logs/error_msg에 기록한다.

=> ErrorLog logs/user/local/apache/logs/error_msg

14회 불필요한 파일 업로드, 다운로드 시에 대량의 업로드, 다운로드로 인한 서비스 불응 상태가 발생할 수 있다. 이를 방지하고자 파일 크기를 5,000,000바이트로 제한하기 위해서 아파치 설정 파일인 httpd.conf 파일을 아래와 같이 수정하고자 한다. 빈칸 ( A )에 해당하는 지시자를 작성하시오.

( A ) 5000000

=> LimitRequestBody

728x90

반응형

LIST

from http://zidarn87.tistory.com/364 by ccl(A) rewrite - 2021-09-27 21:59:54