웹 서버의 보안 관리 본문

LiNes/Security

웹 서버의 보안 관리

코딩교육 2014. 4. 8. 15:43

거의 모든 기업들이 자사의 홈페이지 제공 서비스를 운영하고 있을 것이다. 회사의 규모나 여건에 따라 사내에서 직접 웹 서버 구축을 통해 웹 서비스를 제공하거나 아니면 웹 호스팅 서비스를 이용해서 웹 서비스를 제공하고 있을 것이다. 내가 일하는 회사의 경우도 웹 페이지를 통해 사내의 기본적인 정보를 제공하고 있다. 초기의 기업 홈페이지의 경우 웹 사이트를 통해서 사내/외 커뮤니티 기능까지 포함을 하였으나 사외 커뮤니티의 경우 불필요한 스팸성 글들이 많고, 사내 커뮤니티의 경우 그룹웨어를 통해서 제공하기 때문에 최근에는 일방향적인 기본정보를 제공하는 경우가 많은 것 같다.

   

아무튼 웹 서비스를 제공하기 위해서는 보안 문제를 고려하지 않을 수 없는데, 자체적으로 웹 서버를 구축하는 것이 안전한가? 아니면 웹 호스팅 서비스를 이용하는 것이 안전한가 하는 문제도 의견이 분분한 것 같다. 나의 경우는 영세한 웹 호스팅의 경우 오히려 보안문제가 더 취약할 것이라 생각이 된다. 특히나 호스팅의 경우는 사회공학적인 기법의 공격에 대해 취약할 수 밖에 없을 것 같다. (내가 서비스를 이용하는 고객사라고 말하고 웹 서비스에 접근할 수 있는 계정 정보를 달라고 한다면 누가 제공하지 않으랴? 당사의 경우도 초기 도입하고 관리를 하지 않아서 호스팅 서버에 접근할 수 있는 정보가 없었는데 요청하니 너무 쉽게 모든 정보를 제공해 주었다)

   

때문에 이번에 사외에서 웹 호스팅을 통해 제공되는 서비스를 사내로 전환하는 것을 검토하고 있다. 사내로 웹 서버를 이전하는 과정에서 검토해야 할 것이 무엇인지? 이번 포스팅을 통해서 검토해 보고자 한다.

   

먼저 사내로 이전하기 이전에 사내에 구축할 웹 서버는 어떠한 방법으로 보안을 관리할 것인가를 먼저 생각해 보도록 하자.

   

  • 웹 서버 보안관리를 위해서는 패킷 필터(방화벽, 스크린드 라우터)가 외부에서 웹 서버로 오는 패킷에 대하여 80이나 8080 등 약속된 웹 서비스 포트만을 통과시킴으로써 웹 서버에 다른 서비스의 접근을 막는 것이다.
  • 배스천 호스트 구축으로 웹 전용 서버를 준비하는 방법은 웹 서비스와 필요하지 않는 모든 자원을 제거하여 배스천 호스트를 구성하는 것이다. 배스천 호스트의 구성으로 현재까지 알려진 해당 호스트에 대한 내/외부에서의 침입위협으로부터 모두 안전할 수 있도록 하는 것이다.
    • 불필요한 계정 및 홈 디렉토리 삭제
    • 불필요한 서비스 제거(/etc/services, /etc/inetd 수정)
    • 부트파일 중 웹 서비스 시 필요하지 않은 파일 삭제
    • 보안패치(security patch) 수행
    • 보안패치로 해결되지 않는 취약점들은 수동으로 보안문제 해결
    • 무결성 검사 보안도구 설치/운영(tripwire 또는 그 외 다른 도구)
  • 보안기능을 강화한 웹 서버 운영
    • 접근제어, 패스워드 인증기능 사용 : .htaccess, .htpasswd를 사용하여 주요 디렉토리에 사용자 인증기능을 추가하여 운영한다. 이 기능만으로 부족할 경우에 보다 강화된 인증기법을 사용할 수도 있다.
    • 로그 강화 : 시스템 로그(wtmp, utmp, sulog, pacct 등)와 웹(www) 로그를 수시로 백업하고 가능하다면 로그 서버를 따로 운영하여 2중 관리하는 것도 바람직하다.
    • 암호화 기능 이용 : 스니퍼링을 통한 정보유출을 막기 위하여 주요 정보 송수신 시 SSL, SHTTP 등 암호화 기능을 사용한다.
    • 웹 서버의 소요비용 대비 보안기능 : 웹 서버는 공개용일수록 보안의 헛점이 널리 알려져 있고, 상용서버일 경우 덜한 편이다. 특히 보안기능이 강화된 사용서버의 경우 가격은 일반적으로 높지만 보안성도 높다.
    • 철저한 백업 : 수시로 정기적인 백업을 하여 해킹이나 재난으로 인한 사고를 대비한다.
    • 원격관리 : 웹 서버의 관리는 콘솔에서 하는 것을 원칙으로 하고 원격접근 시 해당 로그를 남기도록 한다.
    • 침입탐지 시 경고기능 : 임의의 사용자가 주요 관리 파일 접근 시 관리자에게 알려주거나 네트워크를 통한 침입시도가 있을 경우 경고 기능을 추가한다.
    • 각종 보안도구의 설치/운영 : 공개용 및 상용 보안도구를 서비스의 특성에 맞게 설치, 운영한다. 시스템의 취약점을 점검해주는 도구 및 무결성 점검도구는 반드시 설치한다.



최근에 올라온 글

애드센스 (Adsense)

애드센스 (Adsense)

텐핑 (10PING)

클릭몬 (ClickMon)

클릭몬 (ClickMon)

최근에 달린 댓글

Total
Today
Yesterday