Skip to content

Grading Checklist: TCP Connections Reset After Idle Period

  • Identified the stateful firewall as the device generating or causing the RST
  • Explained how stateful firewalls track connections and expire idle entries
  • Checked firewall conntrack/session timeout configuration
  • Compared firewall timeout to application keepalive interval
  • Noted that the firewall timeout (3600s) is shorter than the app keepalive or that no keepalive is configured
  • Proposed fix: reduce TCP keepalive interval below firewall timeout
  • Mentioned alternative fix: increase firewall session timeout
  • Discussed OS-level TCP keepalive settings (tcp_keepalive_time, tcp_keepalive_intvl, tcp_keepalive_probes)
  • Explained that after conntrack entry expires, subsequent data packets are seen as invalid and get RST
  • Mentioned testing by placing client and server on the same subnet to isolate firewall as the cause
  • Considered application-level keepalive/heartbeat as another layer of defense
  • Noted that the issue correlates with the new firewall deployment