인프런 커뮤니티 질문&답변

바름이님의 프로필 이미지

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

로그인 처리하기 - 세션 동작 방식 파트 질문입니다.

해결된 질문

작성

·

206

·

수정됨

0

중요한 정보는 모두 서버에 저장해야 한다고 써있는데, 만약 서버가 공격받게 된다면 이 정보가 모두 노출될텐데, 서버가 공격받는 것은 어떻게 예방할 수 있나요? 예시 몇 가지만 들어주시면 감사하겠습니다.

답변 1

0

안녕하세요. timeisgold님, 공식 서포터즈 코즈위버입니다.

'범죄는 막을 수 없다. 확률을 낮출 뿐이다' 는 말이 있지요. 범죄 확률을 낮추기 위해선 '상대적으로 높은 보안'을 유지해야 합니다. 여기서 상대적이란 다른 웹 서버를 말합니다. 즉, 다른 웹 서버보다 우리 웹 서버가 보안수준을 높이면 범죄확률을 줄일 수 있습니다.

  • 방화벽을 설치

    • 가장 확실하고 효과적인 방법입니다.

  • 소프트웨어 버전을 최신버전으로 유지

    • 소프트웨어 취약점을 이용한 해킹을 방지합니다.

    • 그러나 최신버전 자체가 버그를 품고 있을 위험도 있습니다.

  • '최소 공개'원칙

    • 사용하지 않는 모든 포트는 항상 닫아둡니다.

    • 권한 등의 설정도 항상 최소 공개를 원칙으로 운영합니다.

    • 이를 위해 보안계에서는 다음의 원칙을 적용하라고 조언하기도 합니다.

      • 일단 모든 권한을 폐쇄.

      • 권한 개방을 요청하면, 최소한의 권한 개방

        • 가령, 웹 서버 접속가능한 IP를 모두 차단

          • 물론, 개발자가 접속할 수 있는 IP는 허용해야 합니다.

          • 나까지 차단해버리면, 서버에서 바로 튕겨버리니 주의.

        • 대한민국에서 서비스해야 하는 웹서비스 라면 '대한민국 IP'만 접근 허용.

        • 이후 서비스가 일본등에 진출한다면 '일본IP'만 접근 허용 추가.

      • 또 웹서버와 데이터베이스 서버를 분리

        • 데이터베이스 서버 접속권한은 웹 서버만 허용 설정

 

감사합니다.