Security

[Security] 웹 서버 보안(Web Server Security)

구루싸 2020. 3. 5. 18:17
반응형
SMALL

하루 24시간이 왜 이리도 짧은지 아무것도 안했는데 해가 지고 있네요-_-

문득 인생이 긴 마라톤이라는 말이 아닐지도 모른다는...헛소리를 한 번해보면서 오늘의 학습을 시작하겠습니다

이번 주제는 웹 서버 보안(Web Server Security)입니다

먼저 웹(Web)은 WWW(World Wide Web)의 줄임말로 메뉴 방식으로 서비스하던

기존의 인터넷 서비스를 Tim Berners-Lee의 제안으로 하이퍼텍스트를 기반으로

웹 문서를 활용하여 편의성을 향상시킨 서비스를 의미합니다

웹의 특징을 살펴보면 다음과 같습니다

특징 내용
일괄된 사용자 인터페이스 인터넷상에서 제공되는 많은 서비스의 통합된 접속 도구 역할을 하여 기존 프로토콜과 서비스를 제공
하이퍼텍스트(Hypertext) 다른 문서를 지정하는 포인터(Pointer)가 존재하여 정보와 연결된 다른 정보에 쉽게 접근 가능
능동적 참여 방대한 데이터 창고 역할뿐만 아니라 참여자들 사이에 다양한 정보를 공유
분산된 저장소 서비스를 제공하는 서버에 모든 데이터가 집중되지 않고 웹의 각종 정보가 분산 저장
개방형 표준 W3C 표준 프로토콜인 HTTP의 개방형 프로토콜을 지원하고 웹 페이지에 대한 웹 표준을 준수하여 하드웨어 및 소프트웨어 플랫폼에 독립적인 서비스를 지원

웹 서버의 종류는 다양한데 대표적으로 아파치(Apache)가 있습니다

아파치 웹 서버는 공개 소프트웨어로 누구나 쉽게 설치해서 사용할 수 있습니다

httpd라는 데몬(Daemon) 프로세스가 실행되어서 가동되는데

웹 서버가 80번 포트를 사용하기 때문에 httpd는 root 소유자의 권한으로 기동되어야 하고

웹 브라우저들이 접속을 하면 httpd 프로세스를 실행(fork)해서 요청을 처리합니다

(웹 브라우저의 연결을 처리하는 프로세스는 apache라는 사용자를 만들어서 기동)

아파치 웹 서버의 보안 설정을 살펴보면 다음과 같습니다

설정 내용
주요 디렉터리 및 파일 접근 권한

root에 의해 실행 가능한 모든 명령어는 다른 사용자가 수정하지 못하도록 설정

불필요한 파일 삭제

기본적으로 설치되는 /var/www/cgi-bin과 /var/www/manual 파일은 공격에 이용될 수 있으므로 삭제

Directory Listring index.html이 없거나 Listing을 보여주는 옵션이 indexes에 설정되어 있는 경우 웹 페이지의 디렉터리가 보임
FollowSymLink 심볼릭 링크를 이용해서 파일 시스템에 접근하여 root 권한을 획득할 수 있으므로 제거
Directory indexes index.cgi > index.html > index.htm 순으로 우선순위 결정
Server Tokens 웹 서버에 접속할 경우 최소한의 정보만 보이도록 설정(Prod)
ServerSignature on 으로 설정된 경우 아파치 버전 및 서버 이름이 노출됨
접근 제어 클라이언트의 이름 및 IP 주소 등을 사용해 접근 제어 수행
Timeout 웹 브라우저가 웹 페이지에 접근한 뒤 클라이언트의 요청에 서버가 대기하는 시간을 설정(기본값은 300초)
MaxKeepAliveRequests 접속을 허용할 수 있는 최대 횟수(0일 경우 무제한이며 기본값은 100)
KeepAliveTimeout 클라이언트 최초 요청을 받은 뒤에 다음 요청이 전송될 때가지 대기하는 시간
KeepAlive 접속 연결에 대한 재요청을 허용할 것인지 여부(기본값은 off)

아파치 웹 서버의 설정 파일은 /etc/httpd/conf/httpd.conf로

httpd 프로세스가 실행될 때 읽어서 웹 서버의 환경설정을 하는 파일입니다

다음으로 윈도우에서 제공하는 웹 서버인 IIS(Internet Information Server)를 살펴보면 다음과 같습니다

구성요소 내용
서비스

· 웹과 FTP 관리를 위한 IIS 관리 서비스

· WWW 서버 서비스

· FTP 서비스

· SMTP(Simple Mail Transport Protocol)

· NNTP(Network News Transport Protocol)

계정 및 그룹

· IUSR_MACHINE(인터넷으로 접근하는 익명 계정)

· IWAM_MACHINE(out-of-process로 실행되는 웹 애플리케이션이 실행되는 계정

폴더

· %windir%\system32\inetsrv(IIS 프로그램)

· %windir%\system32\inetsrv\iisadmin(IIS 관리 프로그램)

· %windir%\help\iishelp(IIS 도움말 파일)

· %systemdrive%\inetpub(웹, FTP, SMTP 루트 폴더)

웹 사이트

· 기본 웹 사이트(80번 포트) : %systemdrive%\inetpub\wwwroot

· 관리 웹 사이트(3693번 포트) : %systemdrive%\system32\inetsrv\iisadmin

이상으로 이번 학습을 마치겠습니다

그럼 이만-_-

반응형
LIST

'Security' 카테고리의 다른 글

[Security] 장치 관리  (0) 2020.03.08
[Security] 입출력 처리  (0) 2020.03.07
[Security] 전자 우편(E-Mail)  (0) 2020.03.05
[Security] FTP(File Transfer Protocol)  (0) 2020.03.05
[Security] 암호화 알고리즘  (0) 2020.03.02