[어플리케이션 보안] Apache 웹 서버 보안

Apache HTTP 서버

  • Apache HTTP Server는 오픈 소스 소프트웨어 그룹인 아파치 소프트웨어 재단에서 만드는 웹 서버 프로그램

Apache 보안 설정

  • 서버 실행 계정 확인: root 말고 apache라는 별도의 계정을 권한으로 만들어 아파치 웹 프로세스에 대한 권한으로 할당한다.
  • Apache 설정파일 수정(httpd.conf):Timeout, MaxClient, Port, User, MaxSpareServer 등 설정 파일을 수정한다 (/etc/httpd/conf/httpd.conf)

httpd.conf 세션 설정

  • TimeOut : 클라이언트의 요청에 서버가 대기하는 시간
  • KeepAlive (on/off) : on 으로 설정하면 클라이언트와 서버간의 tcp 연결을 keepalivetimeout 동안 유지하게 된다. 즉, 한 번의 연결에 대해 한 번의 요청만 처리하는 것이 아니라 또 다른 요청을 기다리게 된다. (일반적으로 on이 좋다)
  • KeepAliveTimeout : KeepAlive 옵션이 on 이라면 클라이언트 최초 요청을 받은 뒤에 다음 요청이 전송될때까지 대기하는 시간(s)
  • MaxKeepAliveRequests : KeepAlive 옵션이 on 이라면 허용할 최대 요청 수를 정의함. 이 옵션을 0으로 설정하면 무한대의 요청을 허용함 (성능은 좋아짐), KeepAlive 를 허용하는 유저 수.
  • MaxClients : 아파치 서버 동시 접속자 수 (최대: 256)
  • DirectoryIndex : 웹 디렉토리 접근 시 인식되는 인덱스 파일의 순서 지정
  • Listen : 사용할 포트 지정
  • CustomLog : 엑세스 로그 파일 위치 지정
  • ErrorLog : 에러 로그 파일 위치 지정
  • Port : 아파치가 사용할 기본 포트 (일반적으로 80)
  • User : 보안상 절대 root 로 설정하지 말자

httpd.conf 접근제어

- 시스템 루트( / ) 디렉토리에 대한 제어
<Directory />
Order Deny, Allow
Deny from All
LimitRequestBody 5000000
Options FollwSymLinks
AllowOverride None
</Directory>

- /usr/local/apache/htdocs 디렉토리에 대한 제어
<Directory  "/usr/local/apache/htdocs"/>
Order Deny, Allow
Deny from All
Allow from 127.0.0.1
LimitRequestBody 5000000
Options Indexes FollowSymLinks
AllowOverride AuthConfig
</Directory>
  • Order Deny, Allow: Deny와 Allow 순서를 정한다.
  • Deny from All : 모든 트래픽을 막는다.
  • FollowSymLinks : 심볼릭 링크를 허용한다.
  • LimitRequestBody : 파일 업로드, 다운로드 시 파일크기를 제한한다.
  • Indexes : 웹 서버의 디렉토리에 접근 했을 때 DirectoryIndex 지시자로 설정한 파일이 없을 경우 디렉토리안의 파일목록을 보여준다. → '디렉토리 리스팅'이 가능하므로 해당 값을 삭제하는게 안전하다.
  • AllowOverride: 클라이언트의 디렉토리 접근 제어에 관한 설정, 어떻게 접근을 허락할 것인가? (None, ALL, AuthConfig, FileInfo...) → 'None' 이면 값을 'AuthConfig'로 변경해서 상위 디렉토리 접근을 금지할 수 있다.

기출문제

https://q.fran.kr/%EB%AC%B8%EC%A0%9C/10005
https://q.fran.kr/%EB%AC%B8%EC%A0%9C/9721
https://q.fran.kr/%EB%AC%B8%EC%A0%9C/14779
https://q.fran.kr/%EB%AC%B8%EC%A0%9C/9998


참고사이트
https://namu.wiki/w/%EC%95%84%ED%8C%8C%EC%B9%98%20HTTP%20%EC%84%9C%EB%B2%84
https://zidarn87.tistory.com/364
https://peemangit.tistory.com/308
https://mosei.tistory.com/entry/apache-httpdconf-%EC%84%A4%EC%A0%95-%EB%B0%8F-%EC%84%A4%EB%AA%85

좋은 웹페이지 즐겨찾기