728x90
반응형
지난 포스팅때 간단하게 읽는 방법에 대해 설명했다.
자주 쓰이는 옵션이 포함된 라인을 읽어보고 설명을 더 해보고자 한다.
아래 설명하는 것은 자주 쓰이는 iptables 기능으로
패킷의 출발지와 목적지, 어떤 프로토콜을 사용하는지, 포트번호, 어떤 인터페이스를 기준으로
필터링을 할지 말지에 대한 규칙을 설정 할 수 있는데 INPUT Chain 기준으로 설명한다.
출발지 기준
iptables -A INPUT -s 10.10.10.10 -j DROP
-> -s는 출발지를 의미하고 출발지가 10.10.10.10 인 패킷을 어찌어찌 하겠다.
-> -s는 출발지를 의미하고 출발지가 10.10.10.10 인 패킷을 어찌어찌 하겠다.
지난 포스팅에서 읽는 방법대로 읽어주면 되는데
-A INPUT : INPUT Chain 에 추가하겠다.
-s 10.10.10.10 : 출발지가 10.10.10.10 인 패킷에 대해.
-j DROP : 버리겠다.
이렇게 읽으면 되겠다.
-A INPUT : INPUT Chain 에 추가하겠다.
-s 10.10.10.10 : 출발지가 10.10.10.10 인 패킷에 대해.
-j DROP : 버리겠다.
이렇게 읽으면 되겠다.
목적지 기준
iptables -A INPUT -d 10.10.10.10 -j DROP
-> -d 는 목적지를 의미한다. 목적지가 10.10.10.10 인 패킷을 어찌어찌 하겠다.
프로토콜 기준
iptables -A INPUT -p tcp -j ACCEPT
-> -p 는 프로토콜을 의미한다. tcp 프로토콜을 사용하는 패킷을 어떻게 해버리겠다.
INPUT Chain 으로 들어오는 패킷중에 tcp 프로토콜을 사용하는 패킷을 ACCEPT 하겠다.
허용하겠다는 의미이다.
INPUT Chain 으로 들어오는 패킷중에 tcp 프로토콜을 사용하는 패킷을 ACCEPT 하겠다.
허용하겠다는 의미이다.
포트번호 기준
iptables -A INPUT --dport 80 -j DROP
-> --dport 는 목적지 포트를 의미한다. 추가적으로 지금 설명해야 안 헷갈릴 것 같은데 --sport 옵션도 있다. 출발지 포트이다.
어쨌든 위 문장은 INPUT Chain 으로 들어오는 패킷중에 목적지 포트번호가 80번인 패킷을 버리겠다는 의미이다.
어쨌든 위 문장은 INPUT Chain 으로 들어오는 패킷중에 목적지 포트번호가 80번인 패킷을 버리겠다는 의미이다.
인터페이스 지정
iptables -A INPUT -i eth0 -j DROP
-> -i 는 인터페이스를 의미한다. eth0 인터페이스로 들어오는 패킷을 버린다는 의미이다.
-o 옵션도 있는데 이건 output을 의미하고 INPUT CHAIN 에서는 사용되지 않는다. 해봐야 필요가 없기 때문이다.
iptables 관련 첫 포스팅때 설명했는데 INPUT CHAIN 은 INPUT (입력) 컴퓨터에......NIC(Network Interface Card) 랜카드에 입력되는걸 말하는데 입력이라고 해서 키보드나 마우스로 입력하는거랑 비교하면 이해가 어려울 수 있다.
랜카드에 입력되는 패킷을 말하는건데
랜카드에 입력이 된다는 것은 외부 어딘가에서 랜카드로 보냈기 때문에 입력이 되는거니까
들어오는 패킷이라고 이해하면 되겠다.
여튼 -o 옵션은 output 이니까 들어오는 패킷에 대해서는 해당이 안된다.
OUTPUT CHAIN에서는 반대로 -i 옵션을 사용해봐야 소용이 없기때문에 사용하지 않는다.
INPUT CHAIN에는 -i 옵션만
OUTPUT CHAIN 에는 -o 옵션만 사용한다.
3 Hand shake - 쓰리핸드쉐이킹 ( three hand shaking )
다음 포스팅 때 또 이야기 할거긴 한데 아래 설명은 TCP 프로토콜의 통신 이전에 Three hand shake 과정이다.
3핸드쉐이킹이 뭐냐면 클라이언트와 서버가 통신을 할 적에 통신할 준비가 되었는지 서로 확인하는 과정이다.
C는 클라이언트, S는 서버이다. syn 은 동기화를 요청 하는거고 ack는 그래 하는 긍정의 대답을 의미한다.
-> -i 는 인터페이스를 의미한다. eth0 인터페이스로 들어오는 패킷을 버린다는 의미이다.
-o 옵션도 있는데 이건 output을 의미하고 INPUT CHAIN 에서는 사용되지 않는다. 해봐야 필요가 없기 때문이다.
iptables 관련 첫 포스팅때 설명했는데 INPUT CHAIN 은 INPUT (입력) 컴퓨터에......NIC(Network Interface Card) 랜카드에 입력되는걸 말하는데 입력이라고 해서 키보드나 마우스로 입력하는거랑 비교하면 이해가 어려울 수 있다.
랜카드에 입력되는 패킷을 말하는건데
랜카드에 입력이 된다는 것은 외부 어딘가에서 랜카드로 보냈기 때문에 입력이 되는거니까
들어오는 패킷이라고 이해하면 되겠다.
여튼 -o 옵션은 output 이니까 들어오는 패킷에 대해서는 해당이 안된다.
OUTPUT CHAIN에서는 반대로 -i 옵션을 사용해봐야 소용이 없기때문에 사용하지 않는다.
INPUT CHAIN에는 -i 옵션만
OUTPUT CHAIN 에는 -o 옵션만 사용한다.
3 Hand shake - 쓰리핸드쉐이킹 ( three hand shaking )
다음 포스팅 때 또 이야기 할거긴 한데 아래 설명은 TCP 프로토콜의 통신 이전에 Three hand shake 과정이다.
3핸드쉐이킹이 뭐냐면 클라이언트와 서버가 통신을 할 적에 통신할 준비가 되었는지 서로 확인하는 과정이다.
C는 클라이언트, S는 서버이다. syn 은 동기화를 요청 하는거고 ack는 그래 하는 긍정의 대답을 의미한다.
1) C ——— syn ——-▷ S
2) C ◁——- syn ack —– S
3) C ——— ack ——-▷ S
728x90
반응형