IPTABLES 소개 : Linux에서 방화벽 구성

iptables에

Linux에서 방화벽 또는 방화벽을 구성하면 iptables를 사용할 수 있습니다., 많은 사용자가 잊고있는 강력한 도구입니다. 링크 수준에서 트래픽을 필터링하는 ebtables 및 arptables 또는 응용 프로그램 수준에서 Squid와 같은 다른 방법이 있지만 iptables는 대부분의 경우 매우 유용 할 수 있으며, net의 트래픽 및 전송 수준에서 시스템에 우수한 보안을 구현합니다.

Linux 커널은 iptables를 구현합니다. 패킷 필터링 처리 이 기사에서는 간단한 방법으로 구성하는 방법을 알려드립니다. 간단히 말해 iptables는 입력 할 수있는 정보와 입력 할 수없는 정보를 식별하여 잠재적 인 위협으로부터 팀을 격리합니다. Firehol, Firestarter 등과 같은 다른 프로젝트가 있지만 이러한 방화벽 프로그램 중 상당수는 iptables를 사용합니다.

음, 모든 것을 더 잘 이해할 수있는 예를 들어 작업을 시작하겠습니다. (이러한 경우에는 권한이 필요하므로 명령 앞에 sudo를 사용하거나 루트가됩니다) :

iptables를 사용하는 일반적인 방법 필터 정책을 만드는 방법은 다음과 같습니다.

IPTABLES-인수 I / O 조치

-ARGUMENT는 우리가 사용할 인수, 일반적으로 -P는 기본 정책을 설정하지만, 구성한 정책을보기위한 -L, 생성 된 정책을 삭제하는 -F, 바이트 및 패킷 카운터를 재설정하는 -Z 등이 있습니다. 또 다른 옵션은 정책을 추가하려면 -A (기본값 아님), 특정 위치에 규칙을 삽입하려면 -I, 지정된 규칙을 삭제하려면 -D입니다. -p 프로토콜, –sport 소스 포트, 대상 포트의 경우 –dport, -i 수신 인터페이스, -o 발신 인터페이스, -s 소스 IP 주소 및 -d 대상 IP 주소를 가리키는 다른 인수도 있습니다.

iptables 입력-출력

또한 I / O는 정치 INPUT 입력, OUTPUT 출력에 적용되거나 FORWARD 트래픽 리디렉션 (예 : PREROUTING, POSTROUTING 등이 있지만 사용하지 않음)입니다. 마지막으로 내가 ACTION이라고 부르는 것은 수락하면 ACCEPT, 거부하면 REJECT, 제거하면 DROP 값을 가질 수 있습니다. DROP과 REJECT의 차이점은 REJECT를 사용하여 패킷이 거부되면 해당 패킷을 보낸 시스템이 거부되었음을 알 수 있지만 DROP을 사용하면 자동으로 작동하고 공격자 또는 출처가 무슨 일이 발생했는지 알지 못하므로 방화벽이 있는지 아니면 연결이 실패했는지 알 수 있습니다. syslog의 후속 조치를 보내는 LOG와 같은 다른 것도 있습니다.

규칙을 수정하려면, 우리가 선호하는 텍스트 편집기 인 nano, gedit, ...로 iptables 파일을 편집하거나 규칙을 사용하여 스크립트를 만들 수 있습니다. (재정의하려면 줄 앞에 #을 넣어서 할 수 있습니다. 주석으로 무시 됨) 여기에서 설명 할 명령으로 콘솔을 통해. Debian 및 파생 제품에서는 iptables-save 및 iptables-restore 도구를 사용할 수도 있습니다.

가장 극단적 인 정책은 모든 것을 차단하는 것입니다, 절대적으로 모든 트래픽이 발생하지만 다음과 같이 격리됩니다.

iptables -P INPUT DROP

모든 것을 받아들이려면:

iptables -P INPUT ACCEPT

우리가 원한다면 우리 팀에서 나가는 모든 트래픽이 허용됩니다.:

iptables -P OUTPUT ACEPT

La 또 다른 급진적 조치는 모든 정책을 지우는 것입니다 iptables에서 :

iptables -F

좀 더 구체적인 규칙으로 가자웹 서버가 있으므로 포트 80을 통한 트래픽이 허용되어야한다고 가정 해보십시오.

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

이전 규칙에 추가하여 iptables가있는 팀을 원하면 서브넷의 컴퓨터에서만 볼 수 있습니다. 그리고 그것은 외부 네트워크에 의해 눈에 띄지 않습니다.

iptables -A INPUT -p tcp -s 192.168.30.0/24 --dport 80 -j ACCEPT

이전 줄에서 우리가 iptables에게 말하고있는 것은 -A 규칙을 추가하여 INPUT 입력과 포트 80을 통한 TCP 프로토콜이 허용되도록하는 것입니다. 이제 당신이 원하는 것을 상상 해보세요 웹 브라우징이 거부되었습니다 iptables를 실행하는 머신을 통과하는 로컬 머신의 경우 :

iptables -t filter -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 DROP

사용이 간단하다고 생각합니다. iptables의 각 매개 변수가 무엇인지 고려하면 간단한 규칙을 추가 할 수 있습니다. 우리가 상상하는 모든 조합과 규칙을 수행 할 수 있습니다. 더 이상 확장하지 않으려면 한 가지만 추가하면됩니다. 즉, 시스템이 재부팅되면 생성 된 정책이 삭제됩니다. 테이블이 다시 시작되고 이전과 동일하게 유지되므로 규칙을 잘 정의하면 영구적으로 만들고 싶다면, /etc/rc.local에서 시작하거나 Debian 또는 파생 제품이있는 경우 제공된 도구 (iptables-save, iptables-restore 및 iptables-apply)를 사용해야합니다.


코멘트를 남겨주세요

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

*

*

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

  1.   지미 올라 노

    이것은 밀도가 높지만 중간 수준의 지식이 필요하지만 곡물로 직접 이동하는 IPTABLES에 대한 첫 번째 기사입니다.

    아주 잘 요약되고 설명되어 있으므로 모든 사람이 "빠른 참조 설명서"로 사용하는 것이 좋습니다. 8-)

  2.   예수

    나는 당신이 미래의 기사에서 대부분의 리눅스 배포판에서 systemd 로의 변경이 어떤 식 으로든 일반적으로 리눅스의 보안에 영향을 미치는지, 그리고이 변화가 미래와 리눅스 배포판의 더 좋든 나쁘 든간에 이야기하기를 바랍니다. 또한 devuan (시스템이없는 데비안)의 미래에 대해 알려진 것이 무엇인지 알고 싶습니다.
    아주 좋은 기사를 만들어 주셔서 감사합니다.

  3.   슬레븐

    망글 테이블을 설명하는 기사를 만들 수 있습니까?

  4.   세바스찬

    Facebook 만 차단 하시겠습니까?