정보보안기사 실기 / 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 접근제어
<Directory /> Order Deny,Allow Options FollowSymLinks Deny from All AllowOverride none Require all granted LimitRequestBody 5000000 </Directory> |
옵션 | 내용 |
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 설정 시 발생할 수 있는 문제점 두가지를 작성하고 대응 방안을 쓰시오.
<Directory />
Options FollowSymLinks
AllowOverride none
Require all granted
</Directory>
<Directory /var/www>
Options indexes FollowSymLinks
AllowOverride none
Require all granted
</Directory>
(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 )에 해당하는 지시자를 작성하시오.
<Directory/> ( A ) 5000000 </Directory> |
=> LimitRequestBody
'자격증 > 정보보안기사' 카테고리의 다른 글
정보보안기사 실기 / Snort rule 구조 - 네트워크 보안 (0) | 2021.09.26 |
---|---|
정보보안기사 실기 / 3. IPSec (IP Security) - 애플리케이션 보안 (0) | 2020.10.21 |
정보보안기사 실기 / 2. 정보보호 위험 평가 - 정보보안 관리 및 법규 (0) | 2020.10.19 |
정보보안기사 실기 / 1. 접근 통제 - 정보보안 일반 (0) | 2020.10.19 |
정보보안기사 실기 / study 목록 (0) | 2020.10.19 |