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


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

네트워크 보안은 상당히 방대한 주제이며 일반적으로 두 가지 접근 방식을 취합니다. 네트워크 관리자는 일반적으로 방화벽, IDS(침입 탐지 시스템) 및 IPS(침입 방지 시스템)와 같은 네트워크 보안 장치를 1차 방어선으로 설치합니다. 이것은 적절한 보안 계층을 제공할 수 있지만 위반을 방지하기 위해 OS 수준에서 몇 가지 추가 단계를 수행해야 합니다.

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

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

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

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

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

네트워크 공격은 데이터 액세스 및 도용, 웹사이트 손상 및 애플리케이션 손상과 같은 기타 악의적인 활동을 수행하기 위한 유일한 목적으로 조직의 네트워크에 무단으로 액세스하는 것입니다.

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

<울> \u003cli\u003e수동 공격: 수동 공격에서 해커는 무단 액세스 권한을 얻어 데이터를 수정하거나 손상시키지 않고 오로지 감시하고 훔칩니다.\u003c/li\u003e\n\u003cli\u003e능동 공격: 여기에서 공격자는 네트워크에 침투하여 데이터를 훔칠 뿐만 아니라 데이터를 수정, 삭제, 손상 또는 암호화하고 애플리케이션을 파괴하고 실행 중인 서비스를 중단시킵니다. 이것은 두 가지 공격 중 가장 파괴적인 공격입니다.

네트워크 공격 유형

Linux 시스템을 손상시킬 수 있는 몇 가지 일반적인 네트워크 공격에 대해 살펴보겠습니다.

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

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

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

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

맬웨어는 악성 소프트웨어의 합성어로 바이러스, 트로이 목마, 스파이웨어 및 랜섬웨어와 같은 광범위한 악성 응용 프로그램으로 구성됩니다. 네트워크 내부에 들어가면 악성 코드가 다양한 장치와 서버에 전파됩니다.

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

DDoS 공격은 악의적인 사용자가 대상 시스템에 액세스할 수 없도록 하여 사용자가 중요한 서비스 및 응용 프로그램에 액세스하지 못하도록 하는 공격입니다. 공격자는 봇넷을 사용하여 대상 시스템에 막대한 양의 SYN 패킷을 플러딩하여 궁극적으로 일정 기간 동안 액세스할 수 없게 만듭니다. DDoS 공격은 데이터베이스와 웹사이트를 다운시킬 수 있습니다.

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

네트워크 공격 완화

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

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

일반적으로 침입에 대한 첫 번째 방어선을 제공하는 네트워크 방화벽 외에도 UFW 방화벽과 같은 호스트 기반 방화벽을 구현할 수도 있습니다. 이들은 규칙 집합을 기반으로 네트워크 트래픽을 필터링하여 추가 보안 계층을 제공하는 간단하면서도 효과적인 방화벽 응용 프로그램입니다.

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

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

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

<울>

  • /etc/hosts.allow
  • /etc/hosts.deny
  • 참고할 몇 가지 사항:

    <올>

  • 규칙은 위에서 아래로 읽습니다. 지정된 서비스에 대한 첫 번째 일치 규칙이 먼저 적용됩니다. 순서는 매우 중요합니다.\u003c/li\u003e\n
  • /etc/hosts.allow 파일의 규칙이 먼저 적용되고 /etc/hosts.deny 파일에 정의된 규칙보다 우선 적용됩니다. 이는 /etc/hosts.allow 파일에서 네트워크 서비스에 대한 액세스가 허용된 경우 /etc/hosts.deny 파일에서 동일한 서비스에 대한 액세스 거부가 무시되거나 무시됨을 의미합니다.\u003c/li\u003e\n\u003cli\u003e호스트 파일에 서비스 규칙이 없으면 기본적으로 서비스에 대한 액세스가 허용됩니다.\u003c/li\u003e\n\u003cli\u003e두 호스트 파일에 대한 변경 사항은 서비스를 다시 시작하지 않고 즉시 구현됩니다.\u003c/li\u003e\n

    이전 주제에서 VPN을 사용하여 특히 공용 네트워크를 통해 Linux 서버에 대한 원격 액세스를 시작하는 방법을 살펴보았습니다. VPN은 서버와 원격 호스트 간에 교환되는 모든 데이터를 암호화하여 통신이 도청될 가능성을 제거합니다.

    무차별 대입 공격으로부터 서버를 보호하기 위해 fail2ban과 같은 도구로 인프라를 모니터링합니다.

    [ 당신은 또한 좋아할 수도 있습니다: Linux에서 네트워크 사용을 분석하기 위한 16가지 유용한 대역폭 모니터링 도구 ]

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

    시스템에 루트킷의 징후가 있는지 확인하는 chkrootkit과 같은 인기 있는 오픈 소스 솔루션이 있습니다.

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

    네트워크에 무선 라우터나 액세스 포인트가 있는 경우 메시지 가로채기(man-in-the-middle) 공격의 위험을 최소화하기 위해 최신 암호화 기술을 사용하고 있는지 확인하십시오.

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