IPtables에 관해 질문이 있습니다.
내 책에 있는 다음 예제부터 시작하겠습니다.
EMSTP(포트 465) 및 IMAP(포트 993) 연결(하나의 네트워크 인터페이스 eth1은 인터넷에 노출되고 다른 네트워크 인터페이스 eth2는 회사 네트워크에 노출됨)을 허용하는 메일 서버에 대해 어떤 규칙을 설정하시겠습니까?
나는 다음과 같이 대답하려고 노력했다.
Iptable -A FORWARD -p EMSTP, IMAP -s all -i eth1 -m multiport 465,993 state –state NEW, ESTABILISHED -j ACCEPT
Iptable -A FORWARD -p EMSTP, IMAP -s all -i eth2 -m multiport 465,993 state –state NEW, ESTABILISHED -j ACCEPT
- 트래픽이 INPUT인지 OUTPUT인지 지정이 없기 때문에 FORWARD를 고려했습니다. 그래서 일반 입력/출력을 사용했습니다(이 모드에서 가능한 경우 FORWARD).
- 프로토콜이 지정되어 있으니 문제 없을 것 같습니다.
- 저는 서로 다른 인터페이스를 사용하기 때문에 두 가지 규칙을 사용하고 있지만 동일한 규칙에서 모든 작업을 수행하는 것이 가능하다고 생각합니다. 동일한 규칙에 또 다른 -i를 추가하기만 하면 됩니다.
- 네트워크의 경우 하나는 (인터넷)이고 다른 하나는 로컬 네트워크라고 생각합니다 ( "회사"가 무엇을 의미하는지 잘 모르겠습니다)
내 질문은 내 대답이 좋은지, 그리고 이러한 유형의 형식을 적용하는지 여부입니다.
규칙을 바꾸는 순서는 어떻게 되나요?
이 경우 광고 예는 다음과 같습니다.
Iptable -A FORWARD -j ACCEPT -i eth1 -p EMSTP, IMAP -s all -m multiport 465,993 state –state NEW, ESTABILISHED
점프와 인터페이스를 바꾸세요(-j 및 -i).
누구든지 이해하도록 도와줄 수 있나요?
답변1
먼저 몇 가지 알림 사항은 다음과 같습니다.
-p
매개변수는 IMAP과 같은 상위 수준 프로토콜이 아닌 TCP, UDP, ICMP 등과 같은 특정 프로토콜용입니다.OUTPUT 및 INPUT 체인은 머신으로 들어오고 나가는 패킷에 사용됩니다. 전달된 패킷을 필터링하려면(컴퓨터가 게이트웨이 역할을 할 때)~ 해야 하다FORWARD 체인을 사용하세요. IN과 OUT을 구별하려면 입력 또는 출력 인터페이스와 소스 및 대상 IP를 사용하십시오.
ESTABILISHED
--> 오타! ! ! :)
이제 문제를 살펴보겠습니다.
EMSTP(포트 465) 및 IMAP(포트 993) 연결(하나의 네트워크 인터페이스 eth1은 인터넷에 노출되고 다른 네트워크 인터페이스 eth2는 회사 네트워크에 노출됨)을 허용하는 메일 서버에 대해 어떤 규칙을 설정하시겠습니까?
이 질문은 다음과 같이 너무 광범위합니다.
- 이 기계는 메일 서버입니다.
- 두 개의 인터페이스가 있습니다.
- 메일 관련 프로토콜에 대한 연결을 허용해야 합니다.
그러나 이것이 두 네트워크(인터넷/기업) 모두 연결을 수락해야 한다는 의미는 아닙니다. 그럼에도 불구하고 우리는 이것이 사실이라고 가정합니다.
iptables
판별식과 함께 사용: -i
이 인터페이스로 들어오는 패킷을 일치시키는 데 사용됩니다. 모든 인터페이스가 트래픽을 허용하도록 하려면 -i
앞서 언급한 대로 -p
전송 프로토콜을 지정하세요. 메일은 TCP를 통해 작동하므로 ̀ -p tcp`를 사용하세요.
따라서 첫 번째 응답은 작동할 것입니다(오타 및 일부 문법 오류를 제외하면 아이디어는 괜찮습니다). 마지막 항목에서는 인터넷(eth1)의 패킷이 서버를 통과하여 회사 네트워크로 전달되는 것을 허용하지 않습니다.