내 데스크톱 서버 Debian Jessie 컴퓨터는 테스트 목적으로만 19시간 동안 실행되었습니다. 위에서 볼 수 있듯이 몇 가지 규칙을 설정했습니다. 하지만 저는 네트워킹에 별로 관심이 없습니다. 그래서 약간의 수정이 필요합니다.
이 내 꺼야 iptables -L -v
:
Chain INPUT (policy DROP 1429 packets, 233K bytes)
pkts bytes target prot opt in out source destination
1360 61482 DROP all -- any any anywhere anywhere ctstate INVALID
25079 2528K DROP icmp -- any any anywhere anywhere
15 480 DROP igmp -- any any anywhere anywhere
14353 7379K ACCEPT all -- lo any anywhere anywhere
5848K 1157M ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED
1632 86441 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:8333
9 472 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:33211
13801 804K ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:56874
58386 5659K ACCEPT udp -- eth0 any anywhere anywhere udp dpt:56874
0 0 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:63547
0 0 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:https
머신은 주로 웹 서버로 사용되므로 필요한 다른 수신 프로토콜(예: HTTP(S))을 모두 제거하려면 어떻게 해야 합니까?
Etherape를 실행하면 방화벽을 통해 연결을 시도하는(또는 침투했을 수 있는) 프로토콜이 많이 보입니다.
답변1
위의 iptables 구성은 TCP 및 UDP 패킷만 방화벽을 통과하도록 허용합니다(루프백에서 발생하지 않는 한). INPUT 체인의 기본 규칙은 DROP으로 설정되었습니다. 이는 명시적으로 허용되지 않은 모든 패킷이 삭제된다는 의미입니다. 루프백에는 이상한 패킷이 없어야 하므로 TCP/UDP 패킷만 허용됩니다.
프로토콜에 대해 명확히 해야 할 중요한 사항이 하나 있습니다. 네트워크 통신은 다음에서 발생합니다.다수(실제로는 7층)각 계층에는 자체 프로토콜 세트가 있습니다. 예를 들어 전송 계층 프로토콜(예: TCP 및 UDP)과 응용 프로그램 계층 프로토콜(예: SMB)의 목적에는 근본적인 차이가 있습니다. iptables의 범위는 전송 계층 이하로 제한됩니다. 애플리케이션 계층 프로토콜에 대한 패킷을 분석하려면 심층적인 패킷 검사가 필요하며 계산 비용이 훨씬 더 많이 듭니다.
또한 프로토콜과 서비스 이름을 혼동하지 않도록 주의해야 합니다. 인기있는 서비스는 다음과 같습니다특정 포트에 할당됨. FTP 서비스는 일반적으로 포트 21에서 사용할 수 있는 반면 웹 서버는 포트 80에서 수신 대기합니다.힌트포트 21의 트래픽에 사용되는 프로토콜은 일반적으로 FTP이고, 포트 80의 트래픽에 사용되는 프로토콜은 일반적으로 FTP입니다. 그러나 해당 포트의 트래픽은 서비스와 관련된 프로토콜을 사용하는 데 필요하지 않습니다. 포트 80의 트래픽은 SSH이거나 완전히 왜곡될 수 있습니다.