방화벽%%거부%%

방화벽%%거부%%

firewalld (v0.4.4.2)Debian 9의 REJECT내부 네트워크에서 잘못된 요청을 구성하려고 합니다.

그러나 관련 지역에 대한 기본 대상을 설정하면 REJECT요청이 계속 삭제됩니다. (테스트하면 연결이 거부되는 대신 시간 초과가 발생합니다.)

~에 따르면문서은(는 ) REJECT정적으로 할당되지 않지만 다음과 같습니다.

%%REJECT%% 대상은 차단 영역에서 거부하는 데 사용됩니다(기본 방화벽 거부 유형 사용) 각 패킷은 어떤 규칙과도 일치하지 않습니다.

따라서 기본 거부 유형이 잘못된 것 같습니다. 이것을 어떻게 바꾸는지 모르겠습니다. 어떤 조언이라도 감사드립니다.

iptables -L(잘림):

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere            
INPUT_direct  all  --  anywhere             anywhere            
INPUT_ZONES_SOURCE  all  --  anywhere             anywhere            
INPUT_ZONES  all  --  anywhere             anywhere            
DROP       all  --  anywhere             anywhere             ctstate INVALID
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited
[...]

아마도 방화벽이 위의 내용을 사용하고 있을 수도 있지만 REJECT괜찮아 보입니다 icmp-host-prohibited. 하지만 클라이언트로부터는 이런 답변을 받지 못합니다.

iptables -vnL:

Chain IN_internal (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 IN_internal_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 IN_internal_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 IN_internal_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

답변1

icmp-host-prohibitedTCP 연결을 거부하는 일반적으로 예상되는 방법은 TCP RST 패킷을 통하기 때문에 일부 운영 체제는 TCP 연결 메시지에 올바르게 응답하지 않는 경우가 있습니다 . (아니면 일부 방화벽이 TCP 연결 시도와 관련된 ICMP 응답을 인식하지 못하고 필터링할 수도 있습니다.)

iptables기본 거부 방법(및 확장)은 모든 프로토콜에 동일하게 적용되는 "모든 프로토콜에 적용되는 단일 크기" 거부 방법을 시도하는 firewalld것입니다 . icmp-host-prohibited따라서 거부 유형을 사용하여 TCP 패킷에 대한 사용자 지정 거부 규칙을 추가할 수 있습니다 tcp-reset.

TCP 거부 풍부 규칙의 구문 firewall-cmd은 다음과 같습니다.

firewall-cmd --zone=internal --add-rich-rule='rule protocol value="tcp" reject type="tcp-reset"'

관련 정보