On 03/13/2017 08:58 PM, David Christensen wrote:
> With a "pull" arrangement (e.g. the server backs up all the
> workstations) -- if a workstation gets compromised, the backups should
> be safe (and might have clues about the intrusion).

On 03/17/2017 10:16 PM, David Christensen wrote:
> The backup server can be firewalled with no incoming ports and
> outgoing ports limited to SSH and other required ports.

I spent some time with my Debian 7.11 amd64 backup server and Firewall Builder today.


I had previously created a firewall using the Firewall Builder wizard and a template. Trying again today, I see a "Create New Firewall" icon -> iptables, Linux 2.4/2.6, "Use preconfigured firewall templates", "Use standard template objects" -> "host fw template 1" (workstation with single interface, dynamic IP, incoming SSH allowed). The created policy looks more sophisticated than what I obtained in the past.


Starting with my old, existing policy that gave me incoming firewalling, I tried adding outgoing firewalling. After several edit/ compile/ test cycles, this is what I ended up with:

Group           0
Source          backup
Destination     Any
Service         Any
Interface       LAN
Direction       Inbound
Action          Deny
Time            Any
Options         log
Comment         anti spoofing rule

This policy denies incoming connections on the LAN interface that claim to come from the host IP.


Group           1
Source          backup
Destination     Any
Service         ICMP ping request, TCP ssh, UDP domain, UDP ntp
Interface       LAN
Direction       Outbound
Action          Accept
Time            Any
Options
Comment

This policy accepts outgoing ping, SSH, DNS, and NTP on the LAN interface coming from the host IP.


Group           2
Source          Any
Destination     backup
Service         ICMP ping request
Interface       LAN
Direction       Inbound
Action          Accept
Time            Any
Options
Comment

This policy accepts incoming ping on the LAN interface destined for the host IP.


Group           3
Source          Any
Destination     Any
Service         Any
Interface       loopback
Direction       Both
Action          Accept
Time            Any
Options
Comment

This policy accepts all connections on the loopback interface.


Group           4
Source          Any
Destination     Any
Service         Any
Interface       Any
Direction       Both
Action          Deny
Time            Any
Options         log
Comment

This policy denies anything that doesn't match any of the above.


My backup server can now find other hosts (DNS), ping them, and pull backups via SSH/rsync. My LAN hosts can ping the backup server, but nmap can find no open incoming ports:

2017-03-31 17:38:32 dpchrist@jesse ~
$ nmap -A -Pn backup

Starting Nmap 6.47 ( http://nmap.org ) at 2017-03-31 17:38 PDT
Nmap scan report for backup (<redacted>)
Host is up.
rDNS record for <redacted>: backup.holgerdanske.com
All 1000 scanned ports on backup (<redacted>) are filtered

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 201.62 seconds



On 03/17/2017 10:16 PM, David Christensen wrote:
> I still need to figure out the "other required outgoing ports".

On 03/22/2017 03:35 AM, Dan Purgert wrote:
> Unfortunately, pretty much "all ephemeral ports", if the server is
> running things that initiate connections.  Some programs allow you to
> specify what ports they're connecting from, but not all.

On 03/22/2017 03:45 AM, to...@tuxteam.de wrote:
> That's what ESTABLISHED is for, in firewall jargon (you accept packets
> belonging to an established TCP connection).

The key is "stateless" vs. "stateful" firewalls:

https://en.wikipedia.org/wiki/Stateful_firewall


Linux/ iptables implements a stateful firewall.


Firewall Builder provides a "stateless" option (among others) for each policy.


Any suggestions or comments?


David

Reply via email to