iptables 규칙을 설정합니다. iptables의 주요 개념은 다음과 같습니다. 우리는 무엇에 대해 이야기할까요?

커뮤니케이션 마케팅 프로그램은 문서입니다. 이 문서는 회사의 마케팅 목표와 마케팅 계획을 간략하게 설명하고 정당화하며 자세히 설명합니다.

일반적으로 이 문서는 세 부분으로 구성됩니다.

회사의 마케팅 및 재무 목표에 대한 설명

회사가 계획한 마케팅 활동의 정당성

미디어 계획 마케팅 활동회사.

마케팅 프로그램 개발이 공동으로 수행됩니다. 실무 그룹에는 고객 회사의 컨설턴트, 마케팅 담당자 및 이해관계자가 포함됩니다. 작업은 프로젝트 형식으로 제공됩니다. 프로젝트는 기업 표준에 따라 관리됩니다.

마케팅 프로그램 개발 단계:

- 목표의 정의.

커뮤니케이션 마케팅 프로그램의 개발은 일련의 마케팅 활동을 통해 달성될 것으로 예상되는 목표를 정의하는 것부터 시작됩니다. 목표를 올바르게 설정하는 것이 목표를 달성하는 열쇠입니다. 목표는 달성 가능하고 측정 가능해야 하며 비즈니스 요구 사항을 표현해야 합니다. 목표를 정의할 때 회사가 이미 보유하고 있는 자료는 매우 유용할 수 있습니다. 여기에는 사업 계획 또는 제품 개발 계획, 회사의 전략적 목표 및 균형 성과표, 마케팅 계획, 경쟁 환경 분석, 시장 상황 및 일반적인 추세 등이 포함될 수 있습니다.

회사의 유능하고 책임있는 직원 총회에서 목표를 정의하고 회사에 중요하고 마케팅 도구를 사용하여 구현하는 목표에 대한 각자의 의견을 표현할 기회를 제공하는 것은 매우 유용합니다.

- 마케팅 컨셉의 개발.

이 단계에서는 마케팅 프로그램이 어떤 타겟 고객을 대상으로 할지, 어떤 구체적인 마케팅 활동으로 채워야 할지 결정하는 것이 필요합니다.

개념은 주로 마케팅 프로그램의 일반적인 방향을 결정하고 주요 마케팅 도구에 대한 비전을 포함합니다. 마케팅 컨셉을 개발하는 것은 창의적인 작업입니다. 여기에서 고유한 구현 메커니즘, 이러한 도구 이름에 대한 아이디어, 슬로건 등을 갖춘 새로운 마케팅 도구가 탄생할 수 있습니다. 마케팅 컨셉을 개발할 때 타겟 고객을 위한 마케팅 프로그램의 매력이 분석됩니다.

동시에 마케팅 개념을 만들 때 마케팅 활동, 산업 또는 관련 활동의 참조 라이브러리를 사용할 수 있습니다. 마케팅 사례그리고 모범 사례. 주어진 예비 견적개별 마케팅 도구와 전체 마케팅 프로그램의 효율성.

- 새로운 마케팅 캠페인을 테스트합니다.

구매자의 경쟁에서 승리하려면 새롭고 비표준적인 마케팅 캠페인을 만들고 사용해야 합니다. 이러한 프로모션을 사용하면 구매자에게 개발된 마케팅 프로그램의 매력이 보장됩니다. 동시에, 새로운 프로모션이 제작자가 원하는 대로 작동하지 않을 위험도 있습니다. 잠재력 평가 새로운 프로모션마케팅 프로그램에서의 사용 위험은 판촉 및 분석의 시험 사용을 통해 도움이 될 것입니다. 달성된 결과대규모 출시 전.

- 구매자의 대상 및 통제 그룹을 결정합니다.

적절하게 강조 표시됨 타겟 고객- 개발된 마케팅 프로그램의 경제적 효율성의 핵심.

- 마케팅 활동의 결정.

이 단계에서는 마케팅 프로모션, 이벤트 및 도구의 전체 목록이 생성됩니다. 목록에 포함된 각 주식에 대한 운영 규칙이 개발 및 명확화되고 있습니다. 동작과 이벤트가 서로 상호 작용하는 순서와 순서가 결정됩니다. 필요한 마케팅 도구 목록이 작성 중입니다(단골 고객 카드, 쿠폰, 기프트 카드) 프로그램 내에서 사용됩니다. 컨택센터를 활용한 음성 커뮤니케이션, SMS, 메일링 등 프로모션 지원을 위한 커뮤니케이션 시나리오를 제작합니다.

- 마케팅 프로그램을 지원하는 미디어 계획입니다.

마케팅 프로그램에 포함된 활동에는 광고 및 홍보 지원이 필요할 수 있습니다. 이러한 미디어 캠페인은 마케팅 프로그램을 시작하거나 그 효과를 높이는 데 사용될 수 있습니다. 미디어 계획 개발도 마케팅 프로그램 준비 단계 중 하나입니다.

- 마케팅 프로그램의 효율성을 평가합니다.

가장 효과적인 것으로 평가 중요한 단계마케팅 프로그램을 준비할 때 프로그램 자금 조달 결정은 그에게 달려 있습니다. 투자 기대는 이에 달려 있습니다. 과대평가는 마케팅 예산에 자금을 지원하는 투자자들의 신뢰를 잃게 만듭니다. 과소평가하면 이익 손실이 발생합니다.

- 마케팅 프로그램의 세금 및 법적 정당성.

마케팅 프로그램에 대한 세금 및 법적 정당성. 복잡하거나 이전에 사용되지 않은 프로모션이나 이벤트가 마케팅 프로그램에 포함된 경우, 프로그램 프레임워크 내에서 수행되는 무역 거래에 대한 세금 체계를 준비하는 것이 좋습니다. 외부 감사를 통해 실시되는 마케팅 프로그램에 대한 세무 및 법률 검토 및 법률 사무소, 비즈니스에 대한 신뢰성과 보안을 강화할 것입니다.

- 마케팅 프로그램에 대한 기술적 정당성.

마케팅 프로그램을 준비할 때 특별한 관심기술적 정당성에 주목할 가치가 있습니다. 프로그램에 필요한 기능이 없는 경우 기술적 지원, 그러면 그런 일은 일어나지 않을 것입니다.

마케팅 프로그램 개발의 이 단계에서는 프로모션에 참여하는 구매자를 식별하는 방법, 프로그램 내에서 사용하도록 계획된 마케팅 도구 발행 요구 사항, 무역 운영의 마케팅 처리 구성 계획에 주목할 가치가 있습니다. , 통신 방식 대상 그룹구매자, 기본 및 백업 데이터 전송 채널의 가용성 및 상태, 기술 및 소프트웨어 결함그리고 이러한 위험을 관리하는 방법.

- 마케팅 프로그램을 구현합니다.

가장 중요한 단계. 모든 것이 의도한 대로 작동하는지 분명해집니다. 성과평가는 정당한가? 마케팅 프로그램을 구현하는 데 개입이 필요합니까?

마케팅 프로그램을 관리하기 위해서는 프로그램에 포함되어 진행 중인 모든 마케팅 캠페인에 대한 성과 지표를 지속적으로 확보하고 분석해야 합니다. 프로그램을 준비하는 동안 형성된 낙관적 및 비관적 추정치에서 이러한 지표의 편차를 통해 프로그램 관리 및 계획된 결과 달성에 대한 결정을 내릴 수 있습니다.

강철, 밍크, 쇠고기, 종이 2010년 9월 28일 오후 7시 47분

예제를 사용한 iptables의 기본 눈으로 보는 데비안아기

우리는 무엇에 대해 이야기할까요?

모든 것이 매우 간단합니다. 포럼에서 Linux 세계를 처음 접하는 사람들에게 다시 한 번 설명합니다. 제가 이해하는 바에 따르면 인터넷에서는 iptables 설정뿐만 아니라 일부 네트워크 기본 사항을 설명하는 종합 기사를 찾을 수 없습니다.
그래서 나는 여러분에게 짧은 여행을 소개합니다. 방화벽 설정리눅스에서. netfilter/iptables 설정에 대해 자세히 살펴보겠습니다. 질문에 대한 포괄적인 답변이 부족하기 때문에 의심할 여지 없이 다른 적용 문제도 다룰 것입니다... 그리고 여기서는 모든 것을 가능한 한 명확하게 제시하려고 노력할 것입니다.

그것은 어떻게 생겼나요?

우리는 사무실과 아파트, 예, 아파트에 대한 일반적인 계획을 고려할 것입니다! 집에 테이블 아래에 작은 서버를 가지고 있는 사람은 거의 없지만 집에 있는 대부분의 인터넷은 라우터를 통해 배포되며 대부분 Linux 펌웨어도 있습니다.
전형적인 소규모 사무실 레이아웃입니다. 1대의 컴퓨터(서버)가 인터넷에 연결되어 있고 나머지는 이 서버를 통해 인터넷에 연결된 경우입니다.

가자, 천천히...

그래서 우리는 무엇을 가지고 있습니까?
  • 2개의 네트워크 카드와 Debian Lenny가 설치된 서버
  • Debian Lenny 방화벽의 기본값 - netfilter/iptables
  • 서버를 포함하여 스위치를 통해 모두 연결된 N개 컴퓨터의 로컬 네트워크
NAT가 무엇인가요?
먼저 가장 일반적인 NAT(Network Address Translation)를 설정한다는 점을 이해해야 합니다. 목이 마르신 분들을 위해 마지막에는 오징어를 예로 들어 프록시 서버에 대해서도 언급하겠습니다. 이미 말했듯이 우리는 거의 모든 것을 씹을 것입니다.
NAT란 무엇입니까? 실제로 모든 것이 간단합니다. 모든 컴퓨터에는 물리적(MAC) 주소와 네트워크(IP) 주소가 있습니다. 우리는 이 순간 IP 주소에 관심이 있습니다. 동일한 네트워크 내에서 IP 주소는 고유해야 합니다! 그리고 현재 IPv4 표준에서는 4,294,967,296(2 32)만 고유할 수 있는데, 이는 전혀 많지 않으며 거의 ​​사라졌습니다. 하지만 걱정하지 마세요. IPv6가 곧 널리 보급될 예정이며 거기에는 수많은 주소가 있습니다!
하지만 여기서는 컴퓨터가 상당히 중요하다는 것을 알 수 있습니다. 뿐만 아니라 IPv4가 허용하는 번호 또는 집에 ​​있는 친구가 귀하와 동일한 주소를 가지고 있다고 말합니다! 이것이 바로 NAT가 작동하는 곳입니다. 이를 통해 연결할 수 있습니다. 컴퓨터 네트워크단일 IP 주소를 사용하는 방화벽 동작을 SNAT(소스 NAT 또는 소스 주소 대체)라고 합니다. 저것들. 99%의 경우 사무실 전체가 하나의 IP 주소로 인터넷에 액세스하는 반면, 사무실 내부의 모든 사람은 자신만의 IP 주소를 가지고 있습니다. 인터넷에서 IP 주소 클래스에 대해 읽을 수 있습니다.

이제 NAT가 무엇이고 무엇이 필요한지 알았으므로 서버 설정을 직접 진행할 수 있습니다.

대중교통
모든 명령은 루트(수퍼유저)로 실행됩니다. 데비안에서는 소위 전송 트래픽이 기본적으로 비활성화되어 있습니다. 기본적으로 작업은 단일 머신으로만 제공됩니다. 짐작할 수 있듯이 전송 트래픽이 없으면 NAT가 없습니다. 활성화하려면 숫자 1개만 변경하면 됩니다. $ 에코 1 > /proc/sys/net/ipv4/ip_forward, 하지만 이 설정재부팅 후 충돌이 발생하므로 구성을 수정하는 것이 좋습니다. $ 나노 /etc/sysctl.conf다음으로 우리는 선을 찾습니다 #net.ipv4.ip_forward=1줄 시작 부분의 해시(주석 기호)를 제거하고 값이 1인지 확인하세요! 이제 iptables 구성을 직접 진행할 수 있습니다.
iptable 설정
iptables에 규칙을 작성하는 방법과 그 도움으로 무엇을 할 수 있는지에 대한 많은 기사가 인터넷에 있습니다. 저는 이 기사가 가장 완벽하고 읽기에 재미있다고 생각합니다.
그럼 시작해 보겠습니다. 먼저, 불필요한 규칙이 있을 경우를 대비해 불필요한 규칙의 표를 정리하겠습니다...
$ iptables -F
$ iptables -t nat -F
$ iptables -t 맹글 -F

초과분은 청소되었습니다. iptables의 규칙은 계층적으로 적용된다는 점을 이해하고 기억하는 것이 매우 중요합니다. 위의 규칙은 더 일찍 충족됩니다. 모든 체인에는 기본적으로 ACCEPT 정책이 있습니다. 즉, 모든 것을 허용합니다. 이는 이 체인의 규칙에 속하지 않습니다.
로컬 네트워크에 대한 인터페이스는 eth0이고 인터넷에 대한 인터페이스는 eth1이라는 데 동의합시다. 로컬 네트워크주소는 192.168.0.0/24이고 공급자는 우리에게 고정 주소 10.188.106.33("흰색"은 아니지만 인터넷에서 IP 주소 유형을 찾아볼 수도 있음) 그래서 우리는 다음과 같이 씁니다:
$ iptables -A 앞으로 -i eth0 -o eth1 -s 192.168.0.0/24 -j 수락
$ iptables -A 앞으로 -i eth1 -o eth0 -d 192.168.0.0/24 -j 수락
$ iptables -P 앞으로 드롭

그리하여 그들은 걸을 수 있게 되었다 대중교통 패키지당사의 IP 주소 범위에 대해서는 방화벽을 통과하며 그 외의 모든 것은 금지됩니다.
이제 NAT 자체는 다음과 같습니다.
$ iptables -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-source 10.188.106.33
NAT가 작동하도록 하려면 이것으로 충분합니다.
작은 것들...
클라이언트에서는 선택한 범위의 IP를 표시하고 서버의 IP 주소를 게이트웨이로 표시합니다(일반적으로 서브넷에서 먼저 할당됩니다. 이를 귀하의 재량에 맡기겠습니다). 모두 네트워크 설정서버에서는 다음을 수행할 수 있습니다.
$ 나노 /etc/네트워크/인터페이스네트워크 인터페이스의 설정을 지정합니다.
게이트웨이 또는 DNAT를 통해 네트워크 깊이에 액세스
그리고 나서 당신은 온라인에 있다는 것을 깨달았습니다. 윈도우 서버 RDP를 통해 항상 쉽게 액세스할 수 있었는데, 이 짜증나는 데비안 게이트웨이가 나왔습니다! 모든 것이 매우 간단합니다. iptables에 DNAT 규칙을 추가하기만 하면 됩니다.
DNAT는 어떤 짐승인가? DNAT(대상 NAT 또는 수신자 주소 대체) - 네트워크 카드자신에게 특별히 주소가 지정된 패킷만 허용하는 모드로 작업합니다. 하지만 인터넷에 액세스하는 데 사용되는 IP가 사무실의 다른 12개 컴퓨터에 있는 경우 서버로 이동할 수 있습니까? 요청이 그에게 어떻게 전달되나요? 실제로 이런 종류의 모든 요청은 우리 게이트웨이에 반대됩니다. 그리고 우리가 해야 할 일은 그러한 패키지를 사용하기 위한 규칙을 설정하는 것뿐입니다.
$ iptables -A 사전 라우팅 -i eth1 -p tcp -m tcp --dport 3389 -j DNAT --대상 192.168.0.2
이 간단한 규칙은 인터넷에서 게이트웨이에 도착하는 모든 패킷을 다음으로 리디렉션합니다. TCP 포트 3389(RDP 프로토콜이 사용하는 것)를 내부 윈도우섬기는 사람. 그리고 짜잔, 모든 것이 당신에게 도움이 됩니다.
그럼 네가 가장 좋아하는 오징어는 어때?
이제 모든 것이 작동하지만 모든 사람이 인터넷을 사용할 수 있고 모든 것이 작동하지만 일부는 여전히 프록시 서버가 필요합니다. 나는 그것에 대해 이야기하지 않을 것이다 오징어 구성, 이를 "투명하게" 만드는 규칙을 보여 드리겠습니다. SQUID에 등록하기만 하면 됩니다. 마법의 단어투명하게 올바른 장소에그러면 해당 요청을 올바르게 처리하기 시작합니다.
우리는 쓴다 $ iptables -A 사전 라우팅 중 -d! 192.168.0.0/24 -i eth0 -p tcp -m multiport --dports 80,443 -j REDIRECT --to-ports 3128.
그리고 이것이 우리에게 무엇을 주는가? 이제 모든 요청은 웹페이지 http((80) 및 https(443) 프로토콜을 통해 워크스테이션에서 squid가 수신하는 포트로 리디렉션됩니다. 콘텐츠 필터링, 누가 인터넷에서 어디에 있었고 무엇을 했는지에 대한 정보, 사용자에 대한 정보를 전혀 의심하지 않고 받습니다. , 이전처럼 작동합니다 ...
약간의 안전
최소한 게이트웨이를 최소한으로 보호해야 하므로 몇 가지 규칙을 더 추가해 보겠습니다.
$ iptables -A 입력 -i lo -j 수락
$ iptables -A 입력 -i eth0 -s 192.168.0.0/24 -j 수락
$ iptables -A 입력 -i eth1 -m conntrack --ctstate 관련, 설정됨 -j 수락
$ iptables -P 입력 삭제

따라서 이미 게이트웨이를 제외하고는 게이트웨이와의 직접적인 통신이 금지되었습니다. 설정된 연결, 즉. 당신이 시작한 일들과 당신은 단순히 그들에 대한 응답을 받습니다. 두려워하지 마십시오. 우리의 DNAT는 이러한 규칙에 도달하지 않습니다...
왜 이렇게 소수야?
기사는 고무적이지 않으며 여전히 모든 것을 말할 수는 없습니다 ... 내가 가져 왔습니다 최저한의 Linux에서 게이트웨이와 같은 거물을 마스터할 수 있도록 일련의 작업과 개념을 제공합니다. 여기에서는 넷필터의 다양한 측면과 기능에 대해 매우 오랫동안 이야기할 수 있습니다.

보시다시피 모든 것이 정말 간단합니다! 가장 중요한 것은 네트워크의 작동 원리를 이해하고 큰 매뉴얼을 설정하고 읽는 것을 두려워하지 않는 것입니다.
당신과 우정을 시작하기에 충분한 정보를 모을 수 있었으면 좋겠습니다. 소프트웨어 라우터리눅스 기반.

태그: iptables, 넷필터, NAT

Linux에서 방화벽을 구성하기 위한 솔루션은 여러 가지가 있지만 그 중 대부분은 실제로 iptables 구성을 위한 프런트엔드일 뿐이며 일부는 완전히 성공하지 못합니다. 원칙적으로는 방화벽을 빠르게 설정할 수 있는 것이 좋지만, 일단 iptables에 익숙해지면 더 빠르고 세밀하게 설정할 수 있게 됩니다. 미세 조정 iptables는 일반적으로 프런트엔드에서 사용할 수 없습니다.

시작하자. 간단한 것부터 시작해 구성을 복잡하게 만들어 보겠습니다. 여기 사이트에는 iptables 규칙 자동 로딩에 대한 기사가 이미 있으므로 지금은 규칙 로딩을 고려하지 않고 규칙 자체에 중점을 둘 것입니다. 방화벽은 항상 다음으로 구성됩니다. 계정뿌리.

네트워크 연결 시나리오

방화벽을 설정하기 전에 방화벽이 무엇인지 정확하게 이해해야 합니다. 네트워크 연결모든 서비스가 정상적으로 작동하려면 시스템 운영 중에 어떻게 설치해야 하는지 설명합니다. 작업에 대한 우리의 그림이 더 정확할수록 네트워크 서비스, 우리 서버와 다른 서버 모두에서 작동할수록 시스템을 더 세밀하게 구성할 수 있습니다. 따라서 항상 모든 것이 어떻게 작동해야 하는지에 대한 시나리오를 먼저 설명한 다음 방화벽 설정을 시작하는 것이 좋습니다. 스크립트는 어떤 언어로든 작성할 수 있습니다. 텍스트 에디터. 먼저 모든 것을 설명합니다. 외부 서비스, 서버가 실행 중인 서비스, 그리고 서버에서 실행 중인 모든 서비스. 이것이 왜 필요한가요? 기술적 부분을 탐구하지 않고 작업 프로세스 자체를 정확하게 표현합니다. 가장 정확한 스크립트를 작성한 후 방화벽 설정을 시작할 수 있습니다. 스크립트 설명은 다음과 같아야 합니다.

1) 모든 사용자가 사이트를 볼 수 있습니다. 기본적으로 사이트는 러시아어로 되어 있습니다.
2) 사용자가 주소에서 온 경우<список-адресов-или-маска-подсети>, 그러면 사이트가 우크라이나어로 표시되어야 합니다. 예를 들어, 이는 도메인 이름이 하나이고 러시아어 또는 우크라이나어로 표시되고 러시아 및 우크라이나에 대한 자체 판매 세트가 있는 온라인 상점이 될 것입니다. 우리는 단순히 두 개의 사이트를 갖게 될 것입니다. 하나는 러시아어로, 다른 하나는 우크라이나어로, 클라이언트가 온 주소에 따라 그가 갈 사이트가 결정됩니다. 물론 실제로는 이러한 문제가 다르게 해결됩니다. 또한 사이트를 다음에서 볼 수 없도록 허용할 수도 있습니다. 중국 주소계속되는 중국어 댓글 스팸으로 인해.
3) 우편물은 사무실에서 접근할 수 있어야 하며, 다른 곳에서는 접근할 수 없어야 합니다.
4) 외부에서 VPN 연결이 가능해야 합니다.
5) 우리는 신뢰할 수 있는 몇 개의 DNS 서버만 사용할 수 있습니다. 다른 DNS 서버접근이 불가능해야 합니다
6) …..

등등. 내 생각엔 그거면 충분할 것 같아 간단한 예. 요점은 네트워크 상호 작용의 그림을 최대한 정확하게 파악하는 것입니다. 모든 스크립트에는 각 연결에 대한 포트, 프로토콜, 소스 주소, 대상 주소를 포함하여 연결 설명을 작성하기 전에 사용자 및 서비스와의 상호 작용을 공식화하는 단 하나의 목표가 있습니다.

iptables 설정: 가장 간단한 구성

전투 서버에 관해 이야기하면 두 서버의 방화벽 설정은 해당 서버가 수행하는 작업에 따라 크게 달라질 수 있습니다. 그래서 나는 설명하려고 노력할 것이다 일반 원칙, 모든 서버에 방화벽을 설정할 때 사용할 수 있습니다. 이는 추가 사용자 정의를 위한 기초일 뿐입니다.

우선 로드된 규칙을 지워야 합니다.

iptables -F 입력 iptables -F 출력 iptables -F 앞으로

INPUT, OUTPUT, FORWARD - 패킷이 인터페이스에서 인터페이스로 흐르고, 들어오고, 나가고 전달되는 세 가지 주요 체인입니다.

그런 다음 기본 정책을 설정해야 합니다. ACCEPT와 DROP, 패킷 수락 여부 중 두 가지만 있습니다. 프로덕션 서버의 경우 항상 DROP을 선택한 다음 필요한 모든 항목을 열어야 합니다.

이러한 정책을 설정하려면 먼저 SSH를 통한 연결을 허용해야 합니다. 변경되지 않았다고 가정하겠습니다. 표준 포트(일반적으로 SSH 서버를 설치한 후 즉시 프로덕션 서버에서 수행해야 합니다).

Iptables -t 필터 -A 입력 -p tcp -m tcp --dport 22 -j 수락

그런 다음 기본 정책 변경을 시작할 수 있습니다.

iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP

OUTPUT 체인의 경우 현재는 나가는 연결을 허용하는 기본 ACCEPT 정책을 그대로 둘 수 있습니다. 들어오는 연결을 금지하는 경우 INPUT 체인을 설정한 후 이 정책으로 전환할 수 있습니다. 많은 서버에서는 INPUT 체인을 올바르게 구성하는 것만으로도 충분하지만 나중에 보다 엄격한 구성을 위해 OUTPUT 구성도 살펴보겠습니다.

그래서. 현재로서는 들어오는 연결을 위해 SSH 서버 포트만 열려 있습니다. 연결은 다른 모든 포트를 통과하지 않습니다. 이제 다른 서비스가 서버에서 실행 중인 경우 해당 포트에 대한 연결 수신을 추가해야 합니다.

Iptables -t 필터 -A 입력 -p tcp -m tcp --dport 25 -j 수락

DNS(일반적으로 UDP를 허용하는 것으로 충분하지만 TCP를 추가할 수도 있음):

Iptables -t 필터 -A INPUT -p udp -m udp --dport 53 -j ACCEPT

Iptables -t 필터 -A 입력 -p tcp -m tcp --dport 80 -j 수락

Iptables -t 필터 -A 입력 -p tcp -m tcp --dport 110 -j 수락

Iptables -t 필터 -A 입력 -p tcp -m tcp --dport 443 -j 수락

그러나 그것이 전부는 아닙니다. 포트가 열려 있고 외부에서 서비스에 접근할 수 있지만 메일은 작동하지 않으며 도메인 이름해결되지 않습니다. 사실은 DNS 서버에 쿼리할 때 다른 포트에 대한 연결과 마찬가지로 권한이 없는 포트 중에서 임의의 사용 가능한 포트에서 요청이 전송된다는 것입니다. 메일 서버. 그리고 이러한 서비스는 동일한 포트로 응답을 보냅니다. 그리고 아시다시피 이 항구는 우리에게 폐쇄되었습니다. 이 포트를 열 수 있지만 어느 포트에서 나올지 알 수 없습니다. 나가는 연결. 따라서 가능한 가장 간단한 작업을 수행할 수 있습니다. 즉, 원격 컴퓨터의 특정 포트로부터의 연결을 허용하는 것입니다.

Iptables -t 필터 -A INPUT -p tcp -m tcp --sport 25 -j ACCEPT

Iptables -t 필터 -A INPUT -p udp -m udp --sport 53 -j ACCEPT

이 두 규칙은 포트 25/tcp 및 53/udp에서 들어오는 연결을 허용하므로 적절한 프로토콜이 있는 패킷이 이 포트에서 도착하면 허용됩니다. 시스템을 업데이트할 계획이라면, 소프트웨어또는 작업에 필요한 패키지를 설치하려면 원격 컴퓨터의 포트 80에서 연결을 허용해야 합니다.

이제 가장 간단한 iptables 구성이 준비되었습니다.

테이블에 규칙을 입력한 후에는 저장해야 합니다. 이를 위해 예를 들어 스크립트를 사용할 수 있습니다.

연결 소스 처리

계속하세요. 전체 인터넷이 아닌 특정 IP 주소를 사용하는 특정 시스템과의 특정 포트에 대한 연결이 필요합니다. 따라서 패킷 소스 주소를 규칙에 추가하면 규칙을 약간 복잡하게 만들 수 있습니다.

Iptables -t 필터 -A INPUT -s 123.123.123.123 -p tcp -m tcp --dport 22 -j ACCEPT

이 규칙을 사용하면 다음을 통해 포트 22에서 패킷을 수신할 수 있습니다. TCP 프로토콜주소가 123.123.123.123인 소스에서만 이는 "-s" 매개변수(소스, 소스)로 표시됩니다. 이렇게 하면 SSH를 통한 서버 연결을 하나로 제한할 수 있습니다. 특정 IP 주소또는 별도의 IP 주소 대신 연결이 허용되는 서브넷 마스크를 지정하는 경우 특정 서브넷입니다.

서버가 메일을 보내는 데 항상 동일한 메일 게이트웨이를 사용하는 경우, 예를 들어 이 게이트웨이를 소스로 지정하여 포트 25/tcp로부터의 연결을 제한할 수 있습니다.

특정 네트워크 인터페이스 또는 IP 주소에 대한 규칙

서버에는 여러 개의 네트워크 인터페이스가 있을 수 있습니다. 일반적으로 외부 네트워크 인터페이스와 적절한 패킷 리디렉션이 없으면 외부에서 액세스할 수 없는 소위 루프백 인터페이스 127.0.0.1이라는 두 가지 이상이 있습니다. 또한 네트워크 인터페이스 별칭이나 다른 물리적 네트워크 인터페이스와 공유되는 다른 IP 주소가 하나 이상 있을 수도 있습니다. 그리고 모든 IP 주소 또는 네트워크 인터페이스에서 작동할 수 있습니다. 특정 서비스. 예를 들어, 하나에 아파치 웹 서버, 두 번째에는 바인딩9 도메인 이름 서비스 서버입니다. 그리고 해당 네트워크 인터페이스를 지정하지 않고 특정 포트에 대한 연결을 허용하면 모든 인터페이스에서 해당 포트에 대한 액세스가 열립니다. 따라서 권한 범위를 좁히는 방법에는 두 가지가 있습니다.

첫 번째 방법은 액세스를 허용할 IP 주소를 지정하는 것입니다.

Iptables -t 필터 -A 입력 -d 234.234.234.234 -p tcp -m tcp --dport 22 -j 수락

이 예에서는 iptables 규칙에서 대상 주소를 사용하는 방법을 보여줍니다. 소스 주소를 사용할 수도 있습니다.

Iptables -t 필터 -A INPUT -s 123.123.123.123 -d 234.234.234.234 -p tcp -m tcp --dport 22 -j 수락

안에 이 예우리는 이미 두 개의 주소로 액세스를 제한하고 있습니다. 이를 통해 주소 123.123.123.123에서 SSH를 통해 234.234.234.234의 서버에 액세스할 수 있으며, 다른 주소에서는 액세스할 수 없습니다.

두 번째 방법은 네트워크 인터페이스의 이름을 지정하는 것입니다. 이 방법은 다음 경우에도 적용 가능합니다. 외부 주소바꿀 수있다. 네트워크 인터페이스의 주소가 변경되면 이전 옵션을 사용하면 서버에 액세스할 수 없게 됩니다. 인터페이스 이름은 다음과 같이 지정됩니다.

Iptables -t 필터 -A INPUT -i eth0 -s 123.123.123.123 -p tcp -m tcp --dport 22 -j ACCEPT

이 옵션을 사용하면 eth0 네트워크 인터페이스에서 SSH를 통해 액세스할 수 있습니다. 네트워크 인터페이스 SSH 액세스는 사용할 수 없습니다.

방금 살펴본 모든 내용은 시작일 뿐이며 다음 부분은 계속됩니다 ...



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: