하루 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 |
이상으로 이번 학습을 마치겠습니다
그럼 이만-_-
'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 |