From owner-freebsd-pf@freebsd.org Tue Dec 3 07:05:58 2019 Return-Path: Delivered-To: freebsd-pf@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0F5241CAD50 for ; Tue, 3 Dec 2019 07:05:58 +0000 (UTC) (envelope-from vas@sibptus.ru) Received: from admin.sibptus.ru (admin.sibptus.ru [IPv6:2001:19f0:5001:21dc::10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 47RtLF2VKqz403K for ; Tue, 3 Dec 2019 07:05:57 +0000 (UTC) (envelope-from vas@sibptus.ru) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sibptus.ru; s=20181118; h=In-Reply-To:Message-ID:Subject:To:From:Date; bh=bHysHK9SboM2OAicyNJtTinL5ukFcGH5xxMRVHSzpdo=; b=o/x3U8J3MZ3DV0N2Jm2zSrcGqe szdfqJs0iWOrs0vjj1ZvjWeThT8dt8P3vFI6k1kl0ixtkCeqykU9TpwjtGP8dYnY5WjyO+3BB1c/Y 2qPrZFZ+WPIt0W2SlQgSpD5ABYdYxVXFhDPXkpD2iZtrNvL3O4COMgNdvDC2A60DFrCc=; Received: from vas by admin.sibptus.ru with local (Exim 4.92.3 (FreeBSD)) (envelope-from ) id 1ic2Fv-000A48-VW for freebsd-pf@freebsd.org; Tue, 03 Dec 2019 14:05:55 +0700 Date: Tue, 3 Dec 2019 14:05:55 +0700 From: Victor Sudakov To: freebsd-pf@freebsd.org Subject: Re: pf's states Message-ID: <20191203070555.GA38510@admin.sibptus.ru> References: <20191202025642.GA99174@admin.sibptus.ru> <7a5b77d9-29d2-4fb4-b82c-3e6a194baf6e@tuxpowered.net> <20191202152543.GA16128@admin.sibptus.ru> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="CE+1k2dSO48ffgeK" Content-Disposition: inline In-Reply-To: X-PGP-Key: http://admin.sibptus.ru/~vas/ X-PGP-Fingerprint: 10E3 1171 1273 E007 C2E9 3532 0DA4 F259 9B5E C634 User-Agent: Mutt/1.12.2 (2019-09-21) X-Rspamd-Queue-Id: 47RtLF2VKqz403K X-Spamd-Bar: -------- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=sibptus.ru header.s=20181118 header.b=o/x3U8J3; dmarc=pass (policy=none) header.from=sibptus.ru; spf=pass (mx1.freebsd.org: domain of vas@sibptus.ru designates 2001:19f0:5001:21dc::10 as permitted sender) smtp.mailfrom=vas@sibptus.ru X-Spamd-Result: default: False [-8.47 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[sibptus.ru:s=20181118]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; TO_DN_NONE(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCPT_COUNT_ONE(0.00)[1]; IP_SCORE(-3.37)[ip: (-9.87), ipnet: 2001:19f0:5000::/38(-4.94), asn: 20473(-1.97), country: US(-0.05)]; DKIM_TRACE(0.00)[sibptus.ru:+]; DMARC_POLICY_ALLOW(-0.50)[sibptus.ru,none]; SIGNED_PGP(-2.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:20473, ipnet:2001:19f0:5000::/38, country:US]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Dec 2019 07:05:58 -0000 --CE+1k2dSO48ffgeK Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Morgan Wesstr=F6m wrote: >=20 > - Your initial telnet SYN will create state on $inside through rule 3. > - There should be no state created on $dmz. > - Your SYN+ACK reply and further replies will be passed by pf's default= =20 > pass behaviour on $dmz. OK, let's forget about TCP flags entirely. Let's consider a simple ICMP pin= g. 1. Here is the picture without the "block..." rule: root@inside:~ # ping dmz.test PING dmz.test (172.16.1.10): 56 data bytes 64 bytes from 172.16.1.10: icmp_seq=3D0 ttl=3D63 time=3D0.532 ms 64 bytes from 172.16.1.10: icmp_seq=3D1 ttl=3D63 time=3D1.655 ms 64 bytes from 172.16.1.10: icmp_seq=3D2 ttl=3D63 time=3D1.682 ms 64 bytes from 172.16.1.10: icmp_seq=3D3 ttl=3D63 time=3D1.477 ms 64 bytes from 172.16.1.10: icmp_seq=3D4 ttl=3D63 time=3D1.626 ms root@fw:~ # pfctl -s rules ; echo ; pfctl -s state pass in on vtnet1 all flags S/SA keep state pass in on vtnet2 all flags S/SA keep state all icmp 172.16.1.10:1283 <- 192.168.10.3:1283 0:0 all icmp 192.168.10.3:1283 <- 172.16.1.10:1283 0:0 root@fw:~ # 2. Here is the picture with the "block..." rule uncommented: root@inside:~ # ping dmz.test PING dmz.test (172.16.1.10): 56 data bytes (no reply) root@fw:~ # pfctl -s rules ; echo ; pfctl -s state pass in on vtnet1 all flags S/SA keep state block drop in on vtnet1 inet from any to 192.168.0.0/16 pass in on vtnet2 all flags S/SA keep state all icmp 172.16.1.10:8707 <- 192.168.10.3:8707 0:0 root@fw:~ # --=20 Victor Sudakov, VAS4-RIPE, VAS47-RIPN 2:5005/49@fidonet http://vas.tomsk.ru/ --CE+1k2dSO48ffgeK Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJd5glTAAoJEA2k8lmbXsY0X74H/3bufYFR6FbPbgY78XLPEk0h db5gS4HYwpdi/RTCBEqrBSgoPFfjpV+R//rfX1XSd3vEsiDU+SNEsWVm4j/cNZPU zj28nOirfSH6Hv5J6ELRakKBEj/RGLn/JPWLPoS7lUqX7WMpK5HV878IOLWtniOV YWDtOZQqESMm743kfc2jwQ7GqtGS7hC+o1mdGkhIebluCHIB1hyvaOllmGTgZ0zh TTz4GzZ4VSY+n6RUxW0G9TUqWVh/DAk5LsLXFxnh52ZzFNm6yH/sRHyIELgwiZdB nlWe8ru6xqmD/mE3dKmq7xaRbHnQd5WaXiWl/HgxI9KcZLPZlQcudBxM+JMMYAw= =BxR5 -----END PGP SIGNATURE----- --CE+1k2dSO48ffgeK--