Hi Joris,

On Tue, Sep 29, 2015 at 08:56:54AM +0200, joris dedieu wrote:
> >   - TCP actions: "silent-drop". Finally it got merged as the actions
> >     registration mechanism made it a no-brainer. It works like a deny except
> >     that it tries to prevent the TCP RST from reaching the client, so that's
> >     quite efficient against certain bots and scripts as their connections
> >     remain established on their side only. It works on Linux and could
> >     possibly work on other systems (not tested).
> 
> I can confirm that silent-drop is not working as expected on FreeBSD
> 
> listen drop
>         bind 80.247.233.40:22222
>         tcp-request connection silent-drop
> 
> 08:31:31.324885 IP 82.236.20.129.60620 > 80.247.233.40.22222: Flags
> [S], seq 1048805770, win 29200, options [mss 1460,sackOK,TS val
> 14874937 ecr 0,nop,wscale 7], length 0
> 08:31:31.324903 IP 80.247.233.40.22222 > 82.236.20.129.60620: Flags
> [S.], seq 510555620, ack 1048805771, win 65535, options [mss
> 1460,nop,wscale 6,sackOK,TS val 1100790208 ecr 14874937], length 0
> 08:31:31.367359 IP 82.236.20.129.60620 > 80.247.233.40.22222: Flags
> [.], ack 1, win 229, options [nop,nop,TS val 14874946 ecr 1100790208],
> length 0
> 08:31:31.367425 IP 80.247.233.40.22222 > 82.236.20.129.60620: Flags
> [F.], seq 1, ack 1, win 1040, options [nop,nop,TS val 1100790250 ecr
> 14874946], length 0
(...)
> [F.], seq 1, ack 1, win 1040, options [nop,nop,TS val 1100817450 ecr
> 14874946], length 0
> 08:32:22.886834 IP 82.236.20.129.60620 > 80.247.233.40.22222: Flags
> [P.], seq 1:7, ack 1, win 229, options [nop,nop,TS val 14887826 ecr
> 1100790208], length 6
> 08:32:22.886850 IP 80.247.233.40.22222 > 82.236.20.129.60620: Flags
> [R], seq 510555621, win 0, length 0

Thanks for your feedback. The fact that the FIN is retranmsmitted like
this tends to confirm that the TTL setting works. However I feel quite
concerned about the fact that a FIN was emitted instead of a reset. I
fear that SO_LINGER doesn't work as expected which is much more of a
problem if that happens on the server side too when closing a server
connection!

Could you please run the same test under strace/truss/whatever you find
equivalent on your platform ?

I'd be interested in seeing each syscall status.

Thanks,
Willy


Reply via email to