웹사이트 검색

LFCA: Linux 네트워크 보안을 개선하는 방법 – 19부


끊임없이 연결된 세상에서 네트워크 보안은 조직이 많은 시간과 리소스를 투자하는 영역 중 하나로 점점 더 커지고 있습니다. 기업의 네트워크는 모든 IT 인프라의 백본이며 모든 서버와 네트워크 장치를 연결하기 때문입니다. 네트워크가 침해되면 조직은 해커의 손에 넘어갈 것입니다. 중요한 데이터가 유출될 수 있으며 비즈니스 중심 서비스 및 애플리케이션이 다운될 수 있습니다.

네트워크 보안은 매우 광범위한 주제이며 일반적으로 두 가지 접근 방식을 취합니다. 네트워크 관리자는 일반적으로 첫 번째 방어선으로 방화벽, IDS(침입 탐지 시스템) 및 IPS(침입 방지 시스템)와 같은 네트워크 보안 장치를 설치합니다. 이는 적절한 보안 계층을 제공할 수 있지만 위반을 방지하려면 OS 수준에서 몇 가지 추가 조치를 취해야 합니다.

이 시점에서는 IP 주소 지정, TCP/IP 서비스 및 프로토콜과 같은 네트워킹 개념에 이미 익숙해야 합니다. 또한 강력한 비밀번호 설정, 방화벽 설정과 같은 기본 보안 개념을 숙지하고 있어야 합니다.

시스템의 안전을 보장하기 위한 다양한 단계를 다루기 전에 먼저 일반적인 네트워크 위협에 대한 개요를 살펴보겠습니다.

네트워크 공격이란 무엇입니까?

크고 상당히 복잡한 기업 네트워크는 비즈니스 운영을 지원하기 위해 연결된 여러 엔드포인트에 의존할 수 있습니다. 이는 워크플로를 간소화하는 데 필요한 연결을 제공할 수 있지만 보안 문제를 야기합니다. 유연성이 향상되면 공격자가 네트워크 공격을 시작하는 데 활용할 수 있는 위협 환경이 더 넓어집니다.

그렇다면 네트워크 공격이란 무엇일까요?

네트워크 공격은 데이터에 액세스하여 훔치고 웹 사이트를 훼손하고 애플리케이션을 손상시키는 등 기타 사악한 활동을 수행할 목적으로 조직의 네트워크에 무단으로 액세스하는 것입니다.

네트워크 공격에는 크게 두 가지 범주가 있습니다.

  • 수동 공격: 수동 공격에서는 해커가 무단 액세스 권한을 얻어 데이터를 수정하거나 손상시키지 않고 데이터를 염탐하고 훔칠 뿐입니다.
  • 능동 공격: 공격자가 네트워크에 침투하여 데이터를 훔칠 뿐만 아니라 데이터를 수정, 삭제, 손상, 암호화하고 애플리케이션을 분쇄하며 실행 중인 서비스를 중단시키는 행위를 합니다. 분명히 이것은 두 가지 공격 중 가장 파괴적인 공격입니다.

네트워크 공격 유형

Linux 시스템을 손상시킬 수 있는 일반적인 네트워크 공격 중 일부를 살펴보겠습니다.

1. 소프트웨어 취약점

오래되고 오래된 소프트웨어 버전을 실행하면 시스템이 쉽게 위험에 빠질 수 있으며, 이는 주로 시스템에 숨어 있는 고유한 취약점 및 백도어 때문입니다. 데이터 보안에 대한 이전 주제에서 우리는 Equifax 고객 불만 포털의 취약점이 해커에 의해 악용되어 가장 악명 높은 데이터 침해 중 하나로 이어지는 방법을 살펴보았습니다.

이러한 이유로 소프트웨어 응용 프로그램을 최신 버전으로 업그레이드하여 소프트웨어 패치를 지속적으로 적용하는 것이 항상 권장됩니다.

2. 중간자 공격

일반적으로 MITM으로 축약되는 중간자 공격은 공격자가 사용자와 애플리케이션 또는 엔드포인트 간의 통신을 가로채는 공격입니다. 공격자는 합법적인 사용자와 응용 프로그램 사이에 위치함으로써 암호화를 제거하고 주고받는 통신을 도청할 수 있습니다. 이를 통해 그는 로그인 자격 증명 및 기타 개인 식별 정보와 같은 기밀 정보를 검색할 수 있습니다.

이러한 공격의 대상이 될 가능성이 있는 대상에는 전자상거래 사이트, SaaS 비즈니스 및 금융 애플리케이션이 포함됩니다. 이러한 공격을 실행하기 위해 해커는 무선 장치에서 패킷을 캡처하는 패킷 스니핑 도구를 활용합니다. 그런 다음 해커는 교환되는 패킷에 악성 코드를 주입합니다.

3. 악성코드

악성 코드는 악성 소프트웨어(Malicious Software)의 합성어로 바이러스, 트로이 목마, 스파이웨어, 랜섬웨어 등 광범위한 악성 애플리케이션으로 구성됩니다. 네트워크에 들어가면 악성코드는 다양한 장치와 서버에 전파됩니다.

맬웨어 유형에 따라 결과는 치명적일 수 있습니다. 바이러스 및 스파이웨어는 기밀 데이터를 염탐하고, 훔치고 추출하고, 파일을 손상 또는 삭제하고, 네트워크 속도를 늦추고, 응용 프로그램을 하이재킹할 수도 있습니다. 랜섬웨어는 피해자가 몸값으로 상당한 금액을 지불하지 않는 한 파일을 암호화하여 액세스할 수 없게 만듭니다.

4. 분산 서비스 거부(DDoS) 공격

DDoS 공격은 악의적인 사용자가 대상 시스템에 액세스할 수 없게 만들고 이를 통해 사용자가 중요한 서비스 및 애플리케이션에 액세스하지 못하게 하는 공격입니다. 공격자는 봇넷을 사용하여 대상 시스템을 엄청난 양의 SYN 패킷으로 가득 채워 궁극적으로 일정 기간 동안 액세스할 수 없도록 만듭니다. DDoS 공격은 웹사이트뿐만 아니라 데이터베이스도 다운시킬 수 있습니다.

5. 내부 위협/불량 직원

접근 권한이 있는 불만을 품은 직원은 시스템을 쉽게 손상시킬 수 있습니다. 직원이 네트워크에 침투할 필요가 없기 때문에 이러한 공격은 일반적으로 탐지하고 보호하기가 어렵습니다. 또한 일부 직원은 악성 코드가 포함된 USB 장치를 연결할 때 의도치 않게 네트워크를 악성 코드로 감염시킬 수 있습니다.

네트워크 공격 완화

네트워크 공격을 완화하기 위해 상당한 수준의 보안을 제공하는 장벽을 설치하기 위해 취할 수 있는 몇 가지 조치를 확인해 보겠습니다.

1. 소프트웨어 애플리케이션을 최신 상태로 유지

OS 수준에서 소프트웨어 패키지를 업데이트하면 시스템을 해커의 악용 위험에 빠뜨릴 수 있는 기존 취약점이 패치됩니다.

호스트 기반 방화벽 구현

일반적으로 침입에 대한 첫 번째 방어선을 제공하는 네트워크 방화벽 외에도 방화벽 및 UFW 방화벽과 같은 호스트 기반 방화벽을 구현할 수도 있습니다. 이는 일련의 규칙에 따라 네트워크 트래픽을 필터링하여 추가 보안 계층을 제공하는 간단하면서도 효과적인 방화벽 애플리케이션입니다.

3. 필요하지 않은 서비스 비활성화

적극적으로 사용되지 않는 실행 중인 서비스가 있는 경우 해당 서비스를 비활성화하십시오. 이는 공격 표면을 최소화하는 데 도움이 되며 공격자가 허점을 활용하고 찾을 수 있는 최소한의 옵션만 남깁니다.

같은 줄에서 Nmap과 같은 네트워크 스캐닝 도구를 사용하여 열려 있는 포트를 스캔하고 조사합니다. 불필요한 포트가 열려 있으면 방화벽에서 차단하는 것이 좋습니다.

4. TCP 래퍼 구성

TCP 래퍼는 IP 주소와 같은 일련의 규칙을 기반으로 네트워크 서비스에 대한 액세스를 제한하는 호스트 기반 ACL(액세스 제어 목록)입니다. TCP 래퍼는 다음 호스트 파일을 참조하여 클라이언트가 네트워크 서비스에 대한 액세스를 허용하거나 거부할 위치를 결정합니다.

  • /etc/hosts.allow
  • /etc/hosts.deny

참고할 몇 가지 사항:

  1. 규칙은 위에서 아래로 읽혀집니다. 특정 서비스에 대한 첫 번째 일치 규칙이 먼저 적용됩니다. 순서가 매우 중요하다는 점에 유의하세요.
  2. /etc/hosts.allow 파일의 규칙이 먼저 적용되며 /etc/hosts.deny 파일에 정의된 규칙보다 우선합니다. 이는 /etc/hosts.allow 파일에서 네트워크 서비스에 대한 액세스가 허용되면 /etc/hosts.deny 파일에서 동일한 서비스에 대한 액세스가 거부됨을 의미합니다. 간과되거나 무시될 것입니다.
  3. 호스트 파일 중 하나에 서비스 규칙이 없으면 기본적으로 서비스에 대한 액세스가 허용됩니다.
  4. 두 호스트 파일에 대한 변경 사항은 서비스를 다시 시작하지 않고도 즉시 구현됩니다.

5. 안전한 원격 프로토콜 및 VPN 사용

이전 주제에서는 악의적인 사용자가 시스템에 액세스하는 것을 방지하기 위해 SSH 프로토콜을 보호하는 방법을 살펴보았습니다. VPN을 사용하여 특히 공용 네트워크를 통해 Linux 서버에 대한 원격 액세스를 시작하는 것도 마찬가지로 중요합니다. VPN은 서버와 원격 호스트 간에 교환되는 모든 데이터를 암호화하여 통신이 도청될 가능성을 제거합니다.

6. 24시간 네트워크 모니터링

WireShark와 같은 도구를 사용하여 인프라를 모니터링하면 악성 데이터 패킷에 대한 트래픽을 모니터링하고 검사하는 데 도움이 됩니다. 무차별 공격으로부터 서버를 보호하기 위해 Fail2ban을 구현할 수도 있습니다.

7. 맬웨어 방지 소프트웨어 설치

Linux의 인기와 사용이 증가함에 따라 점점 더 해커의 표적이 되고 있습니다. 따라서 시스템에서 루트킷, 바이러스, 트로이 목마 및 모든 종류의 맬웨어를 검사하기 위한 보안 도구를 설치하는 것이 좋습니다.

맬웨어를 방지하는 데 효율적인 ClamAV와 같은 널리 사용되는 오픈 소스 솔루션이 있습니다. 시스템에 루트킷 징후가 있는지 확인하기 위해 chkrootkit 설치를 고려할 수도 있습니다.

8. 네트워크 세분화

네트워크를 VLAN(Virtual Local Area Networks)으로 분할하는 것을 고려하십시오. 이는 독립 실행형 네트워크 역할을 하는 동일한 네트워크에 서브넷을 생성하여 수행됩니다. 네트워크를 분할하면 침해의 영향을 한 영역으로 제한하는 데 큰 도움이 되며 해커가 다른 하위 네트워크를 통과하여 액세스하는 것이 훨씬 더 어려워집니다.

9. 무선 장치 암호화

네트워크에 무선 라우터나 액세스 포인트가 있는 경우 중간자 공격의 위험을 최소화하기 위해 최신 암호화 기술을 사용하고 있는지 확인하십시오.

요약

네트워크 보안은 네트워크 하드웨어 부분에 대한 조치를 취하고 운영 체제에 호스트 기반 정책을 구현하여 침입에 대한 보호 계층을 추가하는 것을 포함하는 거대한 주제입니다. 설명된 조치는 네트워크 공격 벡터에 대한 시스템 보안을 향상시키는 데 큰 도움이 될 것입니다.