초보자를위한 iptables 가이드, Linux 방화벽

Aug 27, 2025
개인 정보 보호 및 보안

Iptables는 Linux 운영 체제 용으로 구축 된 매우 유연한 방화벽 유틸리티입니다. Linux 초보자이든 시스템 관리자이든 iptables가 유용 할 수있는 방법이 있습니다. 가장 다재다능한 Linux 방화벽을 구성하는 방법을 보여 주면서 계속 읽으십시오.

iptables 정보

iptables는 정책 체인을 사용하여 트래픽을 허용하거나 차단하는 명령 줄 방화벽 유틸리티입니다. 연결이 시스템에서 자체적으로 설정을 시도하면 iptables는 목록에서 일치 할 규칙을 찾습니다. 찾을 수없는 경우 기본 작업을 사용합니다.

iptables는 거의 모든 Linux 배포판에 사전 설치되어 제공됩니다. 업데이트 / 설치하려면 iptables 패키지를 검색하십시오.

sudo apt-get iptables 설치

다음과 같은 iptables에 대한 GUI 대안이 있습니다. Firestarter 하지만 iptables는 몇 가지 명령을 내리면 그렇게 어렵지 않습니다. iptables 규칙을 구성 할 때 특히 서버에 SSH를 사용하는 경우에는 매우주의해야합니다. 잘못된 명령 하나가 물리적 시스템에서 수동으로 수정 될 때까지 영구적으로 잠길 수 있기 때문입니다.

체인의 종류

iptables는 입력, 전달 및 출력의 세 가지 체인을 사용합니다.

입력 –이 체인은 들어오는 연결의 동작을 제어하는 ​​데 사용됩니다. 예를 들어 사용자가 PC / 서버에 SSH를 시도하면 iptables는 IP 주소와 포트를 입력 체인의 규칙에 일치 시키려고 시도합니다.

앞으로 –이 체인은 실제로 로컬로 전달되지 않는 수신 연결에 사용됩니다. 라우터를 생각해보십시오. 데이터는 항상 전송되지만 실제로 라우터 자체로 전송되는 경우는 거의 없습니다. 데이터는 대상으로 전달됩니다. 전달이 필요한 시스템에서 일종의 라우팅, NATing 또는 기타 작업을 수행하지 않는 한이 체인을 사용하지도 않습니다.

시스템이 포워드 체인을 사용 / 필요로하는지 여부를 확인하는 확실한 방법이 있습니다.

iptables -L -v

위의 스크린 샷은 몇 주 동안 실행 중이며 수신 또는 발신 연결에 제한이없는 서버입니다. 보시다시피 입력 체인은 11GB의 패킷을 처리하고 출력 체인은 17GB를 처리했습니다. 반면에 포워드 체인은 단일 패킷을 처리 할 필요가 없습니다. 이는 서버가 어떤 종류의 전달도 수행하지 않거나 통과 장치로 사용되지 않기 때문입니다.

산출 –이 체인은 나가는 연결에 사용됩니다. 예를 들어 howtogeek.com에 ping을 시도하면 iptables는 연결 시도를 허용하거나 거부하기 전에 ping 및 howtogeek.com과 관련된 규칙이 무엇인지 확인하기 위해 출력 체인을 확인합니다.

주의 사항

외부 호스트를 ping하는 것이 출력 체인을 통과하기 만하면되는 것처럼 보이지만 데이터를 반환하려면 입력 체인도 사용된다는 점을 명심하십시오. iptables를 사용하여 시스템을 잠그는 경우 많은 프로토콜에 양방향 통신이 필요하므로 입력 및 출력 체인을 모두 올바르게 구성해야합니다. SSH는 사람들이 두 체인 모두에서 허용하는 것을 잊어 버리는 공통 프로토콜입니다.

정책 체인 기본 동작

들어가서 특정 규칙을 구성하기 전에 세 체인의 기본 동작을 원하는대로 결정해야합니다. 즉, 연결이 기존 규칙과 일치하지 않는 경우 iptables가 수행하기를 원하는 것은 무엇입니까?

일치하지 않는 트래픽을 처리하도록 현재 정책 체인이 구성되어 있는지 확인하려면 iptables -L 명령.

보시다시피 grep 명령을 사용하여 더 깨끗한 출력을 제공했습니다. 이 스크린 샷에서 우리 체인은 현재 트래픽을 허용하는 것으로 보입니다.

대부분의 경우 시스템에서 기본적으로 연결을 허용하기를 원할 것입니다. 이전에 정책 체인 규칙을 변경하지 않았다면이 설정이 이미 구성되어 있어야합니다. 어느 쪽이든 기본적으로 연결을 수락하는 명령은 다음과 같습니다.

iptables --policy INPUT ACCEPT
iptables-정책 출력 수락
iptables --policy FORWARD ACCEPT

기본적으로 수락 규칙을 사용하면 iptables를 사용하여 특정 IP 주소 또는 포트 번호를 거부하고 다른 모든 연결을 계속 수락 할 수 있습니다. 잠시 후 이러한 명령에 대해 설명하겠습니다.

모든 연결을 거부하고 연결을 허용 할 연결을 수동으로 지정하려면 드롭 할 체인의 기본 정책을 변경해야합니다. 이렇게하면 민감한 정보가 포함되어 있고 동일한 IP 주소 만 연결된 서버에만 유용 할 것입니다.

iptables-정책 입력 드롭
iptables-정책 출력 드롭
iptables --policy FORWARD DROP

연결 별 응답

기본 체인 정책을 구성하면 iptables에 규칙 추가를 시작할 수 있으므로 특정 IP 주소 또는 포트에서 연결이 발생했을 때 수행 할 작업을 알 수 있습니다. 이 가이드에서는 가장 기본적이고 일반적으로 사용되는 세 가지 "응답"에 대해 살펴 보겠습니다.

동의하기 – 연결을 허용합니다.

하락 – 연결을 끊고 결코 발생하지 않은 것처럼 행동하십시오. 소스가 시스템의 존재를 인식하지 못하도록하는 것이 가장 좋습니다.

받지 않다 – 연결을 허용하지 않고 오류를 반환합니다. 특정 소스가 시스템에 연결되는 것을 원하지 않지만 방화벽이 해당 소스를 차단했음을 알리려는 경우 가장 좋습니다.

이 세 가지 규칙의 차이점을 보여주는 가장 좋은 방법은 PC가 이러한 설정 각각에 대해 구성된 iptables를 사용하여 Linux 시스템에 ping을 시도 할 때 어떻게 보이는지 보여주는 것입니다.

연결 허용 :

연결 끊기 :

연결 거부 :

특정 연결 허용 또는 차단

정책 체인을 구성하면 이제 특정 주소, 주소 범위 및 포트를 허용하거나 차단하도록 iptables를 구성 할 수 있습니다. 이 예에서는 연결을 다음으로 설정합니다. 하락 ,하지만 다음으로 전환 할 수 있습니다. 동의하기 또는 받지 않다 , 요구 사항 및 정책 체인 구성 방법에 따라.

참고 :이 예에서는 iptables -A 기존 체인에 규칙을 추가합니다. iptables는 목록의 맨 위에서 시작하여 일치하는 규칙을 찾을 때까지 각 규칙을 살펴 봅니다. 다른 규칙 위에 규칙을 삽입해야하는 경우 다음을 사용할 수 있습니다. iptables -I [chain] [number] 번호를 지정하려면 목록에 있어야합니다.

단일 IP 주소에서 연결

이 예에서는 IP 주소 10.10.10.10의 모든 연결을 차단하는 방법을 보여줍니다.

iptables -A INPUT -s 10.10.10.10 -j DROP

다양한 IP 주소에서 연결

이 예에서는 10.10.10.0/24 네트워크 범위의 모든 IP 주소를 차단하는 방법을 보여줍니다. 넷 마스크 또는 표준 슬래시 표기법을 사용하여 IP 주소 범위를 지정할 수 있습니다.

iptables -A INPUT -s 10.10.10.0/24 -j DROP

또는

iptables -A INPUT -s 10.10.10.0/255.255.255.0 -j DROP

특정 포트에 연결

이 예에서는 10.10.10.10에서 SSH 연결을 차단하는 방법을 보여줍니다.

iptables -A INPUT -p tcp -dport ssh -s 10.10.10.10 -j DROP

"ssh"를 프로토콜 또는 포트 번호로 바꿀 수 있습니다. 그만큼 -p tcp 코드의 일부는 프로토콜이 사용하는 연결의 종류를 iptables에 알려줍니다. TCP가 아닌 UDP를 사용하는 프로토콜을 차단했다면 -p udp 대신 필요합니다.

이 예는 모든 IP 주소에서 SSH 연결을 차단하는 방법을 보여줍니다.

iptables -A INPUT -p tcp -dport ssh -j DROP

연결 상태

앞서 언급했듯이 많은 프로토콜에는 양방향 통신이 필요합니다. 예를 들어 시스템에 대한 SSH 연결을 허용하려면 입력 및 출력 체인에 규칙을 추가해야합니다. 그러나 SSH 만 시스템에 들어오는 것을 허용하려면 어떻게해야합니까? 출력 체인에 규칙을 추가해도 나가는 SSH 시도도 허용되지 않나요?

여기에서 연결 상태가 발생하여 양방향 통신을 허용하지만 단방향 연결 만 설정하는 데 필요한 기능을 제공합니다. 10.10.10.10의 SSH 연결은 허용되지만 10.10.10.10에 대한 SSH 연결은 허용되지 않는이 예를 살펴보십시오. 그러나 세션이 이미 설정되어있는 한 시스템은 SSH를 통해 정보를 다시 보낼 수 있으므로이 두 호스트간에 SSH 통신이 가능합니다.

iptables -A INPUT -p tcp -dport ssh -s 10.10.10.10 -m state --state NEW, ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -d 10.10.10.10 -m state --state ESTABLISHED -j ACCEPT

변경 사항 저장

iptables 규칙에 대한 변경 사항은 변경 사항을 저장하는 명령을 실행하지 않는 한 다음에 iptables 서비스가 다시 시작될 때 스크랩됩니다. 이 명령은 배포에 따라 다를 수 있습니다.

Ubuntu :

sudo / sbin / iptables-save

Red Hat / CentOS :

/ sbin / service iptables 저장

또는

/etc/init.d/iptables 저장

기타 명령

현재 구성된 iptables 규칙을 나열합니다.

iptables -L

추가 -에서 옵션은 패킷 및 바이트 정보를 제공하고 -엔 모든 것을 숫자로 나열합니다. 즉, 호스트 이름, 프로토콜 및 네트워크가 숫자로 나열됩니다.

현재 구성된 모든 규칙을 지우려면 flush 명령을 실행할 수 있습니다.

iptables -F

Iptables Walkthrough (Linux Firewall)

Introduction To Linux IPTables

Introduction To Linux Firewall

Using `iptables` On Linux

Iptables Firewall Examples (ITS335, L23, Y14)

07 Iptables Firewall Rules

Firewalling In Linux Using IPtables Sp8scorp

Introduction To Linux: #15 - Iptables

Introduction To Iptables

Introduction To IPTables

Linux Firewall Configurations - Intro To Firewalld (RHCE Topic)

Linux Iptables - Configuring And Implementing Linux Iptables - Learn About Ip Values And Ranges #41

Advanced Linux Firewall Config. With Firewalld Rich Rules And IPset - Rich Rules + Ipset

Ubuntu Server 18.04 Administration Guide Part 11 - Configuring Firewall Rules With UFW

Intro To IPTables With Jason

Understand The Security At OS & Network Level | Configure Linux Firewall | DevOps Tutorial | Edureka


개인 정보 보호 및 보안 - 가장 인기있는 기사

바이러스 백신이 정말로 당신을 감시하고 있습니까?

개인 정보 보호 및 보안 Jan 29, 2025

발레리 브로 진 스키 /Shutterstock.com Avast는 사용자의 브라우징 기록을 수집하고 데이터를 제 3 자에게 판매하고..


Netflix의 자녀 보호 기능은 끔찍합니다

개인 정보 보호 및 보안 Apr 7, 2025

캐치되지 않은 콘텐츠 넷플릭스 Netflix에 자녀 보호 문제가 있습니다. "Kids"프로필을 만들 수 있지만 아이들은 쉽게 벗�..


Google 크롬에서 클릭 투 플레이 플러그인을 활성화하는 방법

개인 정보 보호 및 보안 Apr 26, 2025

Chrome은 더 이상 Flash를 제외한 어떤 플러그인도 지원하지 않으며 사용자가 권한을 부여하지 않으면 Flash도 자동으로 실행되지 않습니다. ..


HTTPS 란 무엇이며 왜주의해야합니까?

개인 정보 보호 및 보안 Oct 15, 2025

HTTPS, 주소 표시 줄의 자물쇠 아이콘, 암호화 된 웹 사이트 연결 등 여러 가지로 알려져 있습니다. 한때 주로 비밀번호 및 기타 민감한 데�..


사기꾼이 이메일 주소를 위조하는 방법과이를 알 수있는 방법

개인 정보 보호 및 보안 Sep 28, 2025

이것을 공익 광고라고 생각하십시오. 사기꾼은 이메일 주소를 위조 할 수 있습니다. 귀하의 이메일 프로그램에서 특정 이메일 주소에서 ..


SafetyNet 설명 : Android Pay 및 기타 앱이 루팅 된 기기에서 작동하지 않는 이유

개인 정보 보호 및 보안 Jul 11, 2025

Android 기기를 루팅하면 더 다양한 앱에 액세스하고 Android 시스템에 더 깊이 액세스 할 수 있습니다. 하지만 일부 앱은 Google의 Android..


Windows 8.1에서 유선 (또는 무선) 네트워크를 "잊는"방법

개인 정보 보호 및 보안 Dec 5, 2024

최근 이사 한 후 재미있는 일이 일어났습니다. 새 아파트에 무선 라우터를 설치 한 후 어떻게 시도하든 물리적으로 연결된 Windows 8 컴퓨�..


Google 크롬에 SiteAdvisor 추가

개인 정보 보호 및 보안 Jan 22, 2025

캐치되지 않은 콘텐츠 악성 코드가 계속 증가함에 따라 웹 사이트가 언제 문제인지 알면 고통스러운 경험에서 벗어날 수 있습니다. Chromium 기�..


카테고리