From owner-freebsd-questions@FreeBSD.ORG Wed Apr 18 19:18:31 2007 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F08A416A401 for ; Wed, 18 Apr 2007 19:18:31 +0000 (UTC) (envelope-from hunteke@earlham.edu) Received: from sipala.earlham.edu (sipala.earlham.edu [159.28.1.75]) by mx1.freebsd.org (Postfix) with ESMTP id ED02E13C469 for ; Wed, 18 Apr 2007 19:18:26 +0000 (UTC) (envelope-from hunteke@earlham.edu) Received: from [159.28.7.5] (ec454.lly.earlham.edu [159.28.7.5]) (authenticated bits=0) by sipala.earlham.edu (8.13.6/8.13.6) with ESMTP id l3IJIKFe020041 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Wed, 18 Apr 2007 15:18:25 -0400 (EDT) X-Authentication-Warning: sipala.earlham.edu: Host ec454.lly.earlham.edu [159.28.7.5] claimed to be [159.28.7.5] In-Reply-To: <20070418144246.bab7d6d5.wmoran@potentialtech.com> References: <669BB85F-59F2-4DDE-ADAA-0111A0E85967@earlham.edu> <20070418144246.bab7d6d5.wmoran@potentialtech.com> Mime-Version: 1.0 (Apple Message framework v752.3) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Kevin Hunter Date: Wed, 18 Apr 2007 15:17:27 -0400 To: Bill Moran X-Mailer: Apple Mail (2.752.3) Cc: FreeBSD Questions , Randy Schultz Subject: Re: program/binary ip filtering X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Apr 2007 19:18:32 -0000 At 2:42p -0400 18 Apr 2007, Bill Moran wrote: >> We are in the process of setting up a bastion host. One of the >> things we'd like to do is to filter packets not only at the ip >> layer, but by what program is listening on a particular port. Is >> this a possibility? > > Are you saying that you want to have the packet filter check to see > what application is listening on a particular port, then allow/deny > access based on the name of the application? Exactly. > Do you not have control over what is run on this system? So perhaps our specific example might be prudent: kevin $: ssh bastion bastion $: ssh internalserver Relevant part of log: Apr 18 09:35:23 kappia ipmon[405]: 09:35:22.695348 fxp0 \ @0:4 b internalserver,22 -> bastion,53136 PR tcp \ len 20 52 -AS IN It's blocking because we are dropping all packets not destined for port 22. Since ssh /from/ the bastion picks a random high port, it's dropping all the return packets to that random high port. How have others handled this type of scenario, where a hardening of a bastion host has been desired/necessary? > However, you might be able to accomplish this by using a pf table, > then having a secondary script update the table based on the output > of sockstat or some other similar hack. We did not know about this utility. We'll check out your idea. Thank you for the pointer. We'll let the list know how it goes. :-) (Of course, if there's a standard, cut and dry solution, that'd be ideal!) Thanks Bill, Kevin