IPtables를 사용하여 Linux에서 방화벽을 구성하는 방법

iptable 리눅스

때때로 저는 여전히 혼자 Windows를 만지고 다른 많은 사람들은 제 컴퓨터에서 떨어져서 일을 해야 할 때 강제로(marditoh rodoreh) Windows에 대해 이야기하는 것은 시간이 많이 지난 것과 같습니다. 내 메인 시스템으로 사용했을 때(다른 것은 없었습니다) Kaspersky의 바이러스 백신과 간헐적인 방화벽, 기타 여러 보안 도구와 같은 소프트웨어로 보호하려고 했습니다. Linux에서 우리는 Windows만큼 노출된 적이 없지만 다음과 같이 우리를 더 차분하게 만드는 소프트웨어도 있습니다. IP 테이블, 방화벽 또는 방화벽.

방화벽은 운영 체제에 들어오고 나가는 네트워크 트래픽을 제어하는 ​​보안 시스템입니다. Linux에서 가장 널리 퍼진 것 중 하나는 앞서 언급한 IPtables입니다. 아마도 여러분이 알지 못하는 사이에 여러분이 출시한 이후로 여러분의 운영 체제에 이미 설치되었을 것입니다. 이 기사에서 우리가 하려고 하는 것은 설명하는 것입니다. 리눅스에서 방화벽을 구성하는 방법 IPtables와 함께.

Linux의 IPtables, 알아야 할 사항

방화벽 구성 복잡할 수 있다, Linux와 같은 운영 체제에서 터미널 터치로 최고를 얻을 수 있습니다. 시작하기 전에 네트워크 및 보안 문제에 대해 조금 알고 있거나 최소한 우리가 연결되어 있을 때 다른 장비와 통신하고 있으며 이러한 장치 또는 해당 소유자의 의도가 좋을 수도 있고 나쁠 수도 있다는 점을 이해하는 것이 좋습니다. 이러한 이유로 우리가 PC를 어떻게 사용하느냐에 따라 나가는 모든 것과 들어오는 모든 것을 제어할 가치가 있습니다.

또한 발생할 수 있는 일에 대해 Linux 시스템에 다른 방화벽이 있고 IPtables에서 조정을 시작하려는 경우 현재 방화벽 구성의 백업 복사본을 만드는 것이 좋습니다. 이 모든 것이 명확해지면 IPtables의 구성에 대해 완전히 이야기하기 시작합니다.

  1. 가장 먼저 해야 할 일은 패키지를 설치하는 것입니다. 대부분의 Linux 배포판에는 기본적으로 설치되어 있지만 항상 그런 것은 아닙니다. 운영 체제에 IPtables가 설치되어 있는지 확인하려면 터미널을 열고 씁니다. iptables -v. 내 경우와 이 기사를 쓰는 시점에서 터미널이 나를 반환합니다. iptable v1.8.8. 설치되지 않은 경우 다음과 같이 설치할 수 있습니다.

우분투/데비안 또는 파생 상품:

sudo apt 설치 iptables

Fedora/Redhat 또는 파생 상품:

sudo yum 설치 iptables

아치 리눅스 및 파생 상품

sudo pacman -Siptables

설치 후 다음과 같이 활성화됩니다.

sudo systemctl 활성화 iptables sudo systemctl 시작 iptables

다음을 통해 상태를 확인할 수 있습니다.

sudo systemctl 상태 iptables
  1. 방화벽이 이미 설치되어 있으면 해당 규칙을 구성해야 합니다. IPtables 규칙은 테이블로 나뉩니다(이 기사의 뒷부분에서 자세히 설명하겠습니다): filter, nat 및 mangle에 원시 및 보안을 추가해야 합니다. 필터 테이블은 들어오고 나가는 트래픽을 제어하는 ​​데 사용되고 nat 테이블은 NAT(네트워크 주소 변환)를 수행하는 데 사용되며 mangle 테이블은 IP 패킷을 수정하는 데 사용됩니다. 필터 테이블의 규칙을 구성하기 위해 다음 명령이 사용됩니다.
  • iptables -A INPUT -j ACCEPT(들어오는 모든 트래픽 허용).
  • iptables -A OUTPUT -j ACCEPT(모든 발신 트래픽 허용).
  • iptables -A FORWARD -j ACCEPT(모든 라우팅 트래픽 허용). 그러나 이 구성은 모든 트래픽을 허용하며 프로덕션 시스템에는 권장되지 않습니다. 시스템의 특정 요구 사항에 따라 방화벽 규칙을 지정하는 것이 중요합니다. 예를 들어 포트 22(SSH)에서 들어오는 트래픽을 차단하려는 경우 다음 명령을 사용할 수 있습니다.
iptables -A 입력 -p tcp --dport 22 -j DROP
  1. 또 다른 중요한 것은 시스템을 재부팅할 때 설정이 손실되지 않도록 설정을 저장하는 것입니다. Ubuntu 및 Debian에서 "iptables-save" 명령은 현재 구성을 파일에 저장하는 데 사용됩니다. Red Hat 및 Fedora에서는 "service iptables save" 명령을 사용하여 구성을 저장합니다. 어떤 것을 사용해야 할지 모르겠다면 Ubuntu/Debian 명령이 더 많은 배포판에서 작동하는 경향이 있습니다.

재부팅 후 구성 로드

저장된 설정 불러오기, 저장하는 데 사용된 것과 동일한 명령이 사용되지만 "저장" 대신 "복원" 작업이 사용됩니다. Ubuntu 및 Debian에서 "iptables-restore" 명령은 파일에서 저장된 구성을 로드하는 데 사용됩니다. Red Hat 및 Fedora에서는 "service iptables restore" 명령을 사용하여 저장된 구성을 로드합니다. 다시 한 번 말하지만 어떤 명령을 사용해야 할지 잘 모르겠다면 일반적으로 Ubuntu/Debian 명령이 가장 잘 작동합니다.

방화벽 설정을 변경한 경우 변경 사항을 적용하려면 설정을 저장하고 다시 로드해야 합니다. 설정 파일을 새로운 데이터로 덮어쓰는 방식이며, 이렇게 하지 않으면 변경 사항이 저장되지 않습니다.

IPtables의 테이블

5 유형이 있습니다 테이블 IPTables에 각각 다른 규칙이 적용됩니다.

  • 필터링 : IPTables 사용시 메인 테이블이자 기본 테이블입니다. 즉, 규칙을 적용할 때 특정 테이블이 언급되지 않으면 필터 테이블에 규칙이 적용됩니다. 이름에서 알 수 있듯이 필터 테이블의 역할은 패킷이 목적지에 도달하도록 허용할지 아니면 요청을 거부할지 결정하는 것입니다.
  • NAT (네트워크 주소 변환): 이름에서 알 수 있듯이 이 테이블을 통해 사용자는 네트워크 주소 변환을 결정할 수 있습니다. 이 테이블의 역할은 원본 및 대상 패킷 주소를 수정할지 여부와 수정 방법을 결정하는 것입니다.
  • 압착 롤러: 이 테이블을 사용하면 패킷의 IP 헤더를 수정할 수 있습니다. 예를 들어 TTL을 조정하여 패킷이 지원할 수 있는 네트워크 홉을 늘리거나 줄일 수 있습니다. 비슷한 방식으로 다른 IP 헤더도 기본 설정에 따라 수정할 수 있습니다.
  • 살갗이 벗어 진: 이 테이블의 주요 용도는 진행 중인 세션의 일부로 패킷을 볼 수 있도록 패킷을 표시하는 메커니즘을 제공하므로 연결을 추적하는 것입니다.
  • 보안: 보안 테이블을 사용하여 사용자는 네트워크 패킷에 내부 SELinux 보안 컨텍스트 플래그를 적용할 수 있습니다.

마지막 두 테이블은 거의 사용되지 않으며 대부분의 문서에서는 filter, nat 및 mangle에 대해서만 설명합니다.

도움말 파일에서 IPtables 관리 방법에 대한 예제를 찾을 수 있습니다. 그것을 보려면 터미널을 열고 다음을 입력하십시오. iptables -h.

iptables는 Linux를 위한 최고의 옵션 중 하나이지만 그래픽 인터페이스로 더 간단한 것을 선호하는 경우 다음을 살펴볼 수 있습니다. 방화벽.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.