웹 서버 강화 가이드

게시 됨: 2022-03-15

기능으로 인해 웹 서버는 일반적인 네트워크 환경의 다른 많은 장치와 다릅니다. 웹 서버는 의도적으로 인터넷에 노출될 뿐만 아니라 완전히 낯선 사람에게 웹 트래픽을 제공할 가능성이 높습니다. 또한 많은 상황에서 웹 서버는 WordPress 웹 사이트와 같은 동적 응용 프로그램을 제공하거나 다른 내부 응용 프로그램에 대한 프록시 역할을 할 수 있습니다. 따라서 웹 서버가 공격자에게 흥미로운 표적이 되는 것은 놀라운 일이 아닙니다.

시스템 강화는 악의적인 해커가 시스템을 손상시키고 네트워크 내에서 발판을 확보하는 것을 더 어렵게 만들도록 시스템의 방어를 개선하는 프로세스를 말합니다.

물론 웹 서버를 강화하는 프로세스는 사용 중인 웹 서버의 종류(예: Apache HTTP Server, Nginx, Microsoft IIS…)에 따라 다르지만, 사용 중인 웹 서버에 관계없이 염두에 두어야 하는 웹 서버 보안.

이 문서는 웹 서버 강화 가이드입니다. 여기에서 우리는 웹 서버 보안을 향상시킬 수 있는 여러 기술에 구애받지 않는 모범 사례를 살펴볼 것입니다. WordPress 강화에 대해서는 WordPress 보안 및 강화 가이드를 참조하세요.

1. 웹 서버를 최신 상태로 유지

소프트웨어를 최신 상태로 유지하는 것은 별 문제가 아닌 것처럼 들릴 수 있지만, 보안 패치를 적시에 적용하는 것은 틀림없이 구현할 수 있는 가장 중요한 방어 수단 중 하나입니다. 성능 및 안정성 개선 외에도 웹 서버 및 운영 체제 업데이트에는 보안 취약점에 대한 수정 사항이 포함되는 경우가 많습니다.

표면적으로는 사소하게 들릴 수 있지만 정보 보안 전문가는 패치 적용이 생각보다 복잡하다고 말할 것입니다. 대부분의 소프트웨어의 최신 버전을 설치하는 것이 특히 어렵기 때문이 아니라 패치가 항상 적용 가능한 것으로 간주되기 때문입니다. 연기되다.

웹 서버 소프트웨어가 지속적으로 업데이트되도록 하는 가장 좋은 방법은 귀하 또는 웹 서버 및 운영 체제 소프트웨어 업데이트를 담당하는 사람에게 적합한 시스템이나 루틴을 찾는 것입니다. 대부분의 경우 시간을 내기 위해 주기적 알림(예: 반복되는 일정 이벤트 설정)으로 요약됩니다.

2. 불필요한 소프트웨어 및 모듈 제거

항상 그렇지는 않지만 웹 서버는 소프트웨어의 복잡한 부분입니다. Apache HTTP Server와 같은 일부 웹 서버에는 사용 사례에 따라 활성화 또는 비활성화할 수 있는 일련의 "모듈"(WordPress 플러그인과 유사)이 함께 제공됩니다. 악의적인 공격자는 웹 서버 모듈의 기능과 취약성을 활용하여 웹 서버에 대한 추가 정보를 수집하는 것으로 알려져 있습니다. 이것이 공격 성공의 유일한 이유는 아닐 수 있지만 웹 서버 강화의 요점은 심층 방어 접근 방식을 취하여 악의적인 행위자가 아주 작은 발판도 얻지 못하도록 하는 것입니다.

이것의 실용적인 예는 Apache HTTP Server의 mod_status와 같은 모듈입니다. 이 모듈은 /server-status URL을 통해 서버의 활동 및 성능(현재 호스트, 처리 중인 요청 수, 유휴 작업자 수 및 CPU 사용률)에 대한 개요를 얻도록 설계되었습니다. 이러한 기능은 공격자에게 웹 서버가 얼마나 잘 수행되고 있는지에 대한 매우 좋은 표시를 제공할 수 있습니다. DoS(서비스 거부) 공격이 발생한 경우에 매우 유용한 도구입니다.

마찬가지로 웹 서버에서 실행 중인 다른 미사용 소프트웨어가 불필요한 위험을 초래할 수 있습니다. 예를 들어:

  1. 필요하지 않은 vsftpd 와 같은 FTP 서버를 실행하고 있습니까?
  2. 더 이상 필요하지 않은 Sendmail 또는 Postfix와 같은 메일 전송 에이전트가 있습니까? WordPress 이메일 전송 가능성을 개선하기 위해 타사 서비스를 사용하는 경우 이러한 서비스가 필요하지 않습니다.

서버에 있는 이러한 애플리케이션/서비스 및 기타 많은 구성 요소는 모두 고유한 보안 단점, 취약성 및 패치 요구 사항이 있는 구성 요소입니다.

요약하자면 가능한 한 적은 소프트웨어를 실행하십시오. 모듈이나 서비스를 사용하지 않는 경우 비활성화하거나 제거해야 합니다. 당연히 개발 또는 스테이징 환경에서 철저한 테스트 없이 모듈이나 응용 프로그램을 비활성화하지 마십시오(때로는 웹 서버 모듈 또는 응용 프로그램이 사용 중인지 완전히 명확하지 않을 수 있음).

3. 접근 통제 강화

웹 서버에 대한 액세스를 제어하는 ​​것은 올바른 작업을 수행하는 데 필수적입니다. 결국, 웹 서버에 대한 액세스가 잘못된 사람의 손에 들어갈 가능성을 최소화하기를 원합니다. 다음은 적절한 액세스 제어를 유지하는 것과 관련하여 따라야 할 여러 모범 사례입니다.

  • 루트 사용자를 사용하지 마십시오. 관리 작업을 수행해야 하는 경우 sudo를 대신 사용하십시오.
  • 강력한 시스템(및 WordPress) 암호를 사용합니다.
  • SSH를 사용할 때 암호 대신 SSH 키를 사용하십시오.
  • 특정 IP 주소에서 SSH/RDP 액세스를 제한하는 것을 고려하십시오.
  • 모든 클라우드 공급자 계정에서 2FA(2단계 인증)를 활성화합니다.
  • 웹 서버에 액세스하는 각 사용자에게 고유한 사용자가 있는지 확인하십시오. 사용자 간에 사용자 계정을 공유하지 마십시오.
  • 쉘/SSH/원격 데스크톱 액세스를 필요한 사람들에게 명시적으로 제한하십시오.

4. 파일 무결성 모니터링(FIM) 설정

FIM(파일 무결성 모니터링)은 시스템 관리자가 웹 서버에서 파일이 변경되는 시기를 식별하는 데 도움이 됩니다. 일부 파일은 일반적인 웹 서버 작업의 일부로 매우 자주 변경되지만 관리자가 변경(예: wp-config.php 파일 업데이트)하거나 WordPress 자체를 업데이트하지 않는 한 WordPress 설치와 같은 파일은 절대 변경되어서는 안 됩니다.

파일 무결성 모니터링과 관련하여 선택할 수 있는 다양한 옵션이 있지만 실행 중인 애플리케이션에 특정한 것을 고수하는 것이 좋습니다. 설정 및 작동이 간단하고 많은 튜닝. 그렇지 않으면 무의미한 알림에 빠져 자신도 모르게 피로가 쌓이고 함께 하려는 노력이 지워집니다. 요컨대, FIM과 관련하여 더 많은 경고와 기능이 더 나은 것이 아니라 최소한의 오버헤드로 최대의 가치를 제공하는 솔루션을 찾으십시오.

5. DDoS 완화 및 WAF 서비스 사용

웹 서버를 인터넷에 직접 노출하는 대신 DDoS(분산 서비스 거부) 공격을 비롯한 광범위한 공격으로부터 자신을 보호하기 위해 Cloudflare, Fastly, Akamai 또는 이와 유사한 서비스를 사용하는 것을 고려해야 합니다. 서비스 거부(DoS) 공격은 공격자가 요청으로 웹사이트를 압도하여 결과적으로 웹 서버가 합법적인 사용자에게 요청을 제공하지 못하도록 하는 공격 유형입니다.

서비스 거부 완화 외에도 이러한 클라우드 서비스는 일반적으로 기본 SQL 주입(SQLi) 및 단순 교차 사이트와 같은 일반적인 웹 애플리케이션 공격을 막을 수 있는 WAF(웹 애플리케이션 방화벽) 기능도 제공합니다. 스크립팅(XSS). WAF는 웹 애플리케이션 취약점에 대한 솔루션은 아니지만 특히 WordPress 웹 사이트에 최적화된 WAF 규칙을 사용하여 악용에 대한 보호 기능을 제공합니다.

다음 단계는 무엇입니까?

이 기사에서는 몇 가지 일반적인 웹 서버 강화 기술을 다루지만 보안 분야에서 절대적인 것은 없습니다. 따라서 시스템을 방어하는 어떤 방법도 완벽하지 않습니다. 특히 단호한 적과 마주할 때 그렇습니다. 따라서 WordPress 웹 사이트를 구성하는 모든 구성 요소를 보호해야 하는 이유입니다. 웹 서버를 보호하고 WordPress 보안 또는 자신의 컴퓨터를 무시할 수 없습니다.

그러나 지속적인 패치와 우수한 보안 관행 및 위생을 준수하면 공격자가 성공적으로 공격을 시작하기 위해 투입해야 하는 노력이 크게 증가할 수 있습니다. 이는 대부분의 경우 공격자를 좌절시키고 더 부드러운 대상을 공격하게 됨을 의미합니다.