iptables의 UNCLEAN 상태는 무엇을 의미합니까?
예:
iptables -A INPUT -m conntrack --ctstate UNCLEAN -j DROP
이로 인해 실제로 오류가 발생하지만 불결한 상태가 있어야 합니다.
또한 INVALID 상태와의 차이점과 연관성은 무엇인가요?
답변1
깨끗하지 않다:
이
UNCLEAN
일치에는 어떤 옵션도 필요하지 않으며, 사용하려는 경우 명시적으로 로드하기만 하면 됩니다. 이 옵션은 실험적인 것으로 간주되어 항상 작동하지 않을 수 있으며 모든 비정상 패킷이나 문제를 처리하지 못할 수도 있습니다. 부정확한 일치는 잘못된 헤더나 체크섬이 있는 패킷과 같이 형식이 잘못되었거나 변칙적으로 보이는 패킷을 일치시키려고 시도합니다. 예를 들어 잘못된 스트림을 연결하고 확인하는 데 사용할 수 있지만DROP
이로 인해 합법적인 연결이 중단될 수 있다는 점에 유의해야 합니다.참고 사항: 얼마 전에 제거되었습니다(죄송합니다. 정확히 언제인지는 기억나지 않지만 2.6.x 트리의 시작 부분에 있었던 것 같습니다). 그들은 그것이 올바르게 사용되지 않았으며 구현이 원하는 것과 다르다고 지적했습니다. 아마도 그럴 것입니다. 내 생각엔 2.6.x 변경 로그 중 하나에 있어야 할 것 같습니다.
유효하지 않은:추천하다~에서
상태는
INVALID
패킷을 인식할 수 없거나 상태가 없음을 의미합니다. 이는 시스템 메모리가 부족하거나 알려진 연결에 응답하지 않는 ICMP 오류 메시지 등 여러 가지 이유 때문일 수 있습니다. 일반적으로 이 상태에서는 모든 것을 삭제하는 것이 좋습니다.상태 저장 규칙은
INVALID
잘못된 헤더 또는 체크섬, 잘못된 TCP 플래그, 잘못된 ICMP 메시지(예: 호스트에 아무것도 보내지 않을 때 포트에 연결할 수 없음)가 있는 모든 패킷을 삭제하며 시퀀스 예측 또는 시퀀스로 인해 발생할 수 있습니다. 순서 패킷. 기타 유사한 공격.DROP
패킷을 정중하게 거부하는 REJECT와 달리 대상은 아무런 응답 없이 패킷을 삭제합니다. 이러한 패킷에 대한DROP
올바른 응답이 없고 이러한 패킷을 수신했는지 확인하고 싶지 않기 때문에 사용합니다.REJECT
INVALID