반응형

정보보안기사 실기 / 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 

 

 

반응형
반응형

정보보안기사 실기 / 3. IPSec (IP Security) - 애플리케이션 보안

 

IPSEC(IP Security)

보안에 취약한 인터넷에서 안전한 통신을 실현하는 통신 규약입니다. 인터넷상에서 전용 회선과 같이 가상 전용 회선을 구축하여 데이터를 도청당하는 등의 행위를 방지합니다. 

OSI 모델에서 3계층(네트워크 계층) 보안 프로토콜이며, VPN에서 많이 사용됩니다.

 

IPSEC 전송 방법

1) 터널 모드

VPN과 같은 구성으로 패킷의 출발지에서 일반 패킷이 보내지면 중간에서 IPSec을 탑재한 중계 장비가 패킷 전체를 암호화하고 중계 장비의 IP 주소를 붙여 전송합니다. 

원본 IP 패킷 전체를 암호화하므로 트래픽 경로도 노출되지 않습니다.

 

2) 전송 모드

패킷의 출발지에서 암호화를 하고 목적지에서 복호화가 이루어지므로 End-to-End 보안을 제공합니다. 

IP 페이로드만 암호화하여, 트래픽 경로는 노출됩니다.

 

IPSec 구성요소

1) AH

메시지 인증 코드(MAC)를 이용하여 무결성과 인증 기능을 제공하지만 암호화는 제공하지 않는 IP 확장 헤더입니다.

 

2)ESP

새로운 IP 패킷을 만드로 기존 패킷은 Payload에 넣어 감싸는 방식으로 암호화를 제공하는 방식이며, 암호화를 통해 기밀성을 유지하기 위해 사용됩니다.

 

3) IKE(Internet Key Exchange)

IPSec에서 키 교환을 위해 사용되는 프로토콜로, UDP 500포트를 사용합니다.

 

4) ISAKMP(Internet Security Association and Key Management Protocol)

Security Association 설정, 협상, 변경, 삭제 등 SA 관리와 키 교환을 정의합니다.

 

 

관련 문제

14회 다음에서 설명하는 IPSec의 구성요소를 적으시오.
1) 메시지 인증 코드(MAC)를 이용하여 무결성과 인증 기능을 제공하지만 암호화는 제공하지 않는 IP 확장 헤더
2) 새로운 IP 패킷을 만드로 기존 패킷은 Payload에 넣어 감싸는 방식으로 암호화를 제공하는 방식
3) IPSec에서 키 교환을 위해 사용되는 프로토콜로, UDP 500포트 사용

 

답 : 1) AH , 2) ESP , 3) IKE

 

12회 가상사설망(VPN)에서 사용되는 IPSec과 관련하여 아래 괄호안에 들어갈 말을 적으시오.
ㅇ IPSec은 OSI 모델에서 (  A  ) 계층에 속한다.
ㅇ IPSec에서 (  B  )는 무결성 보장, 메시지 인증을 위해 사용된다.
ㅇ IPSec에서 (  C  )는 암호화를 통해 기밀성을 유지하기 위해 사용된다.

 

답 : A: 3(네트워크), B: AH, C: ESP

 

11회 가상사설망(VPN)에서 사용되는 보안 프로토콜과 관련하여 아래 설명에 해당하는 프로토콜을 적으시오.
1) 3계층 보안 프로토콜로, 가장 많이 사용되는 프로토콜
2) 상기 프로토콜에서 무결성 보장, 메시지 인증을 위한 세부 프로토콜
3) 상기 프로토콜에서 암호화를 통해 기밀성을 유지하기 위한 세부 프로토콜

 

답 : 1) IPSec, 2) AH, 3) ESP

 

8회 IPSec 프로토콜은 전송모드와 터널모드 2가지를 가진다. ESP를 사용한 암호화 범위를 중심으로 전송모드와 터널모드의 차이를 설명하시오.

 

답 : 전송모드는 IP 페이로드만 암호화하여, 트래픽 경로는 노출된다.

터널 모드는 원본 IP 패킷 전체를 암호화하므로 트래픽 경로도 노출되지 않는다.

반응형

+ Recent posts