* [gentoo-user] Is this firewall safe? @ 2009-04-24 15:28 Marco 2009-04-24 16:59 ` Eric Martin 2009-04-24 17:00 ` Chris Frederick 0 siblings, 2 replies; 15+ messages in thread From: Marco @ 2009-04-24 15:28 UTC (permalink / raw To: gentoo-user Hi all, I set up my first firewall on my notebook (not running any services reachable from outside) using iptables. Since I am new to the topic, could you please verify if the output of 'iptables -L -v' is considered to be a safe firewall? Thanks! Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- lo any anywhere anywhere 0 0 ACCEPT all -- eth0 any anywhere anywhere state RELATED,ESTABLISHED 0 0 REJECT tcp -- eth0 any anywhere anywhere reject-with tcp-reset 0 0 REJECT udp -- eth0 any anywhere anywhere reject-with icmp-port-unreachable 0 0 DROP udp -- eth0 any anywhere anywhere udp spt:bootps 0 0 LOG all -- eth0 any anywhere anywhere LOG level warning prefix `INPUT ' 1 79 ACCEPT all -- wlan0 any anywhere anywhere state RELATED,ESTABLISHED 0 0 REJECT tcp -- wlan0 any anywhere anywhere reject-with tcp-reset 0 0 REJECT udp -- wlan0 any anywhere anywhere reject-with icmp-port-unreachable 0 0 DROP udp -- wlan0 any anywhere anywhere udp spt:bootps 0 0 LOG all -- wlan0 any anywhere anywhere LOG level warning prefix `INPUT ' Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 LOG all -- any any anywhere anywhere LOG level warning prefix `FORWARD ' 0 0 LOG all -- any any anywhere anywhere LOG level warning prefix `FORWARD ' Chain OUTPUT (policy ACCEPT 5 packets, 1691 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- any lo anywhere anywhere 0 0 LOG all -- any eth0 anywhere anywhere LOG level warning prefix `OUTPUT ' 1 52 LOG all -- any wlan0 anywhere anywhere LOG level warning prefix `OUTPUT ' ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-24 15:28 [gentoo-user] Is this firewall safe? Marco @ 2009-04-24 16:59 ` Eric Martin 2009-04-24 17:53 ` Marco 2009-04-24 17:00 ` Chris Frederick 1 sibling, 1 reply; 15+ messages in thread From: Eric Martin @ 2009-04-24 16:59 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 3143 bytes --] Marco wrote: > Hi all, > > I set up my first firewall on my notebook (not running any services > reachable from outside) using iptables. Since I am new to the topic, > could you please verify if the output of 'iptables -L -v' is > considered to be a safe firewall? Thanks! > > Chain INPUT (policy DROP 0 packets, 0 bytes) > pkts bytes target prot opt in out source > destination > 0 0 ACCEPT all -- lo any anywhere > anywhere > 0 0 ACCEPT all -- eth0 any anywhere > anywhere state RELATED,ESTABLISHED > 0 0 REJECT tcp -- eth0 any anywhere > anywhere reject-with tcp-reset > 0 0 REJECT udp -- eth0 any anywhere > anywhere reject-with icmp-port-unreachable > 0 0 DROP udp -- eth0 any anywhere > anywhere udp spt:bootps > 0 0 LOG all -- eth0 any anywhere > anywhere LOG level warning prefix `INPUT ' > 1 79 ACCEPT all -- wlan0 any anywhere > anywhere state RELATED,ESTABLISHED > 0 0 REJECT tcp -- wlan0 any anywhere > anywhere reject-with tcp-reset > 0 0 REJECT udp -- wlan0 any anywhere > anywhere reject-with icmp-port-unreachable > 0 0 DROP udp -- wlan0 any anywhere > anywhere udp spt:bootps > 0 0 LOG all -- wlan0 any anywhere > anywhere LOG level warning prefix `INPUT ' > > Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) > pkts bytes target prot opt in out source > destination > 0 0 LOG all -- any any anywhere > anywhere LOG level warning prefix `FORWARD ' > 0 0 LOG all -- any any anywhere > anywhere LOG level warning prefix `FORWARD ' > > Chain OUTPUT (policy ACCEPT 5 packets, 1691 bytes) > pkts bytes target prot opt in out source > destination > 0 0 ACCEPT all -- any lo anywhere > anywhere > 0 0 LOG all -- any eth0 anywhere > anywhere LOG level warning prefix `OUTPUT ' > 1 52 LOG all -- any wlan0 anywhere > anywhere LOG level warning prefix `OUTPUT ' > > It all depends on what you're trying to do. My internet facing boxes have a default OUTPUT policy of DROP and I only allow certain traffic off of the box (helps protect me from unauthorized services). Also, you're dropping bootps (same ports as dhcp) on udp so I don't think you can get a dhcp address like that. If you're running any services you won't be able to talk to them (ssh). Turn off forwarding in the kernel config (via /etc/sysctl.conf) as well. It also took me a few runs to figure out the firewall config (due to the rules and formatting). The last two output rules can be combined into one. Have 1 log line at the bottom of your tables and that will take care of that. Clean and short configs will help immensely when things don't work. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 899 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-24 16:59 ` Eric Martin @ 2009-04-24 17:53 ` Marco 2009-04-27 19:35 ` Eric Martin 0 siblings, 1 reply; 15+ messages in thread From: Marco @ 2009-04-24 17:53 UTC (permalink / raw To: gentoo-user On Fri, Apr 24, 2009 at 4:59 PM, Eric Martin <freak4uxxx@gmail.com> wrote: > Marco wrote: >> Hi all, >> >> I set up my first firewall on my notebook (not running any services >> reachable from outside) using iptables. Since I am new to the topic, >> could you please verify if the output of 'iptables -L -v' is >> considered to be a safe firewall? Thanks! >> >> Chain INPUT (policy DROP 0 packets, 0 bytes) >> pkts bytes target prot opt in out source >> destination >> 0 0 ACCEPT all -- lo any anywhere >> anywhere >> 0 0 ACCEPT all -- eth0 any anywhere >> anywhere state RELATED,ESTABLISHED >> 0 0 REJECT tcp -- eth0 any anywhere >> anywhere reject-with tcp-reset >> 0 0 REJECT udp -- eth0 any anywhere >> anywhere reject-with icmp-port-unreachable >> 0 0 DROP udp -- eth0 any anywhere >> anywhere udp spt:bootps >> 0 0 LOG all -- eth0 any anywhere >> anywhere LOG level warning prefix `INPUT ' >> 1 79 ACCEPT all -- wlan0 any anywhere >> anywhere state RELATED,ESTABLISHED >> 0 0 REJECT tcp -- wlan0 any anywhere >> anywhere reject-with tcp-reset >> 0 0 REJECT udp -- wlan0 any anywhere >> anywhere reject-with icmp-port-unreachable >> 0 0 DROP udp -- wlan0 any anywhere >> anywhere udp spt:bootps >> 0 0 LOG all -- wlan0 any anywhere >> anywhere LOG level warning prefix `INPUT ' >> >> Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) >> pkts bytes target prot opt in out source >> destination >> 0 0 LOG all -- any any anywhere >> anywhere LOG level warning prefix `FORWARD ' >> 0 0 LOG all -- any any anywhere >> anywhere LOG level warning prefix `FORWARD ' >> >> Chain OUTPUT (policy ACCEPT 5 packets, 1691 bytes) >> pkts bytes target prot opt in out source >> destination >> 0 0 ACCEPT all -- any lo anywhere >> anywhere >> 0 0 LOG all -- any eth0 anywhere >> anywhere LOG level warning prefix `OUTPUT ' >> 1 52 LOG all -- any wlan0 anywhere >> anywhere LOG level warning prefix `OUTPUT ' >> >> > It all depends on what you're trying to do. My internet facing boxes > have a default OUTPUT policy of DROP and I only allow certain traffic > off of the box (helps protect me from unauthorized services). Also, > you're dropping bootps (same ports as dhcp) on udp so I don't think you > can get a dhcp address like that. If you're running any services you > won't be able to talk to them (ssh). Turn off forwarding in the kernel > config (via /etc/sysctl.conf) as well. I am dropping bootps to not have my log file flooding due to the DHCP server in my wireless router (as suggested in www.novell.com/coolsolutions/feature/18139.html). As it seems I still get a dynamic ip from it. So far, I am not running any services that have to be exposed to the outside. > It also took me a few runs to figure out the firewall config (due to the > rules and formatting). The last two output rules can be combined into > one. Have 1 log line at the bottom of your tables and that will take > care of that. Clean and short configs will help immensely when things > don't work. Sorry for the bad format. gmail decided to insert some sub ideal pagebreaks... Talking about the 1 log line at the bottom you mean I should configure it to not specify an interface (eth0, wlan0)? Thanks! ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-24 17:53 ` Marco @ 2009-04-27 19:35 ` Eric Martin 0 siblings, 0 replies; 15+ messages in thread From: Eric Martin @ 2009-04-27 19:35 UTC (permalink / raw To: gentoo-user Marco wrote: > On Fri, Apr 24, 2009 at 4:59 PM, Eric Martin <freak4uxxx@gmail.com> wrote: > >> Marco wrote: >> >>> Hi all, >>> >>> I set up my first firewall on my notebook (not running any services >>> reachable from outside) using iptables. Since I am new to the topic, >>> could you please verify if the output of 'iptables -L -v' is >>> considered to be a safe firewall? Thanks! >>> >>> Chain INPUT (policy DROP 0 packets, 0 bytes) >>> pkts bytes target prot opt in out source >>> destination >>> 0 0 ACCEPT all -- lo any anywhere >>> anywhere >>> 0 0 ACCEPT all -- eth0 any anywhere >>> anywhere state RELATED,ESTABLISHED >>> 0 0 REJECT tcp -- eth0 any anywhere >>> anywhere reject-with tcp-reset >>> 0 0 REJECT udp -- eth0 any anywhere >>> anywhere reject-with icmp-port-unreachable >>> 0 0 DROP udp -- eth0 any anywhere >>> anywhere udp spt:bootps >>> 0 0 LOG all -- eth0 any anywhere >>> anywhere LOG level warning prefix `INPUT ' >>> 1 79 ACCEPT all -- wlan0 any anywhere >>> anywhere state RELATED,ESTABLISHED >>> 0 0 REJECT tcp -- wlan0 any anywhere >>> anywhere reject-with tcp-reset >>> 0 0 REJECT udp -- wlan0 any anywhere >>> anywhere reject-with icmp-port-unreachable >>> 0 0 DROP udp -- wlan0 any anywhere >>> anywhere udp spt:bootps >>> 0 0 LOG all -- wlan0 any anywhere >>> anywhere LOG level warning prefix `INPUT ' >>> >>> Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) >>> pkts bytes target prot opt in out source >>> destination >>> 0 0 LOG all -- any any anywhere >>> anywhere LOG level warning prefix `FORWARD ' >>> 0 0 LOG all -- any any anywhere >>> anywhere LOG level warning prefix `FORWARD ' >>> >>> Chain OUTPUT (policy ACCEPT 5 packets, 1691 bytes) >>> pkts bytes target prot opt in out source >>> destination >>> 0 0 ACCEPT all -- any lo anywhere >>> anywhere >>> 0 0 LOG all -- any eth0 anywhere >>> anywhere LOG level warning prefix `OUTPUT ' >>> 1 52 LOG all -- any wlan0 anywhere >>> anywhere LOG level warning prefix `OUTPUT ' >>> >>> > <snip> > Sorry for the bad format. gmail decided to insert some sub ideal pagebreaks... > > Talking about the 1 log line at the bottom you mean I should configure > it to not specify an interface (eth0, wlan0)? > > Thanks! > > Yeah, not specifying an interface for the log rule to apply to will make it catch all interfaces (including lo but all traffic has already been approved ahead of time so it won't catch). ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-24 15:28 [gentoo-user] Is this firewall safe? Marco 2009-04-24 16:59 ` Eric Martin @ 2009-04-24 17:00 ` Chris Frederick 2009-04-24 17:05 ` Hazen Valliant-Saunders ` (2 more replies) 1 sibling, 3 replies; 15+ messages in thread From: Chris Frederick @ 2009-04-24 17:00 UTC (permalink / raw To: gentoo-user Marco wrote: > Hi all, > > I set up my first firewall on my notebook (not running any services > reachable from outside) using iptables. Since I am new to the topic, > could you please verify if the output of 'iptables -L -v' is > considered to be a safe firewall? Thanks! > Hi Marco, Your firewall looks good, but I would change a few things. First off, change your FORWARD chain to DROP. Unless you are doing routing on your laptop, there's no reason to have it. I would also get rid of the REJECT targets. It's better to DROP instead. If someone is scanning the network, and you start sending icmp rejections back, they will know you are there and may try other techniques to break through your defenses, but if you DROP and send nothing back, it will be much harder for them to see you at all. I would also re-write your INPUT chain to be a bit less verbose. Something like this: Chain INPUT (policy DROP 0 packets, 0 bytes) target prot opt in out source destination ACCEPT all -- lo any anywhere anywhere ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED LOG all -- any any anywhere anywhere LOG level warning prefix `INPUT ' Everything else looks good from a security standpoint. From a performance standpoint, you might want to add a line to the beginning of your output chain like this: Chain OUTPUT (policy ACCEPT 5 packets, 1691 bytes) target prot opt in out source destination ACCEPT all -- any lo anywhere anywhere ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED LOG all -- any any anywhere anywhere LOG level warning prefix `OUTPUT ' This will log only NEW packets. Otherwise you could end up with a lot of log output. After you run this for a while, go back and look through your logs and see if you have enough data there to change your OUTPUT chain to DROP, and only allow packets through to ports you actually use. That's only if you're really paranoid though. Hope that helps. Chris ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-24 17:00 ` Chris Frederick @ 2009-04-24 17:05 ` Hazen Valliant-Saunders 2009-04-24 18:20 ` Marco 2009-04-24 17:23 ` Daniel Troeder 2009-04-24 18:18 ` Marco 2 siblings, 1 reply; 15+ messages in thread From: Hazen Valliant-Saunders @ 2009-04-24 17:05 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 2434 bytes --] Just a thought: http://www.fwbuilder.org/ I like how it looks "a lot" like checkpoint's policy manager. HTH, Hazen. On Fri, Apr 24, 2009 at 1:00 PM, Chris Frederick <cdf123@cdf123.net> wrote: > Marco wrote: > > Hi all, > > > > I set up my first firewall on my notebook (not running any services > > reachable from outside) using iptables. Since I am new to the topic, > > could you please verify if the output of 'iptables -L -v' is > > considered to be a safe firewall? Thanks! > > > > Hi Marco, > > Your firewall looks good, but I would change a few things. > > First off, change your FORWARD chain to DROP. Unless you are doing > routing on your laptop, there's no reason to have it. > > I would also get rid of the REJECT targets. It's better to DROP > instead. If someone is scanning the network, and you start sending icmp > rejections back, they will know you are there and may try other > techniques to break through your defenses, but if you DROP and send > nothing back, it will be much harder for them to see you at all. > > I would also re-write your INPUT chain to be a bit less verbose. > Something like this: > > Chain INPUT (policy DROP 0 packets, 0 bytes) > target prot opt in out source destination > ACCEPT all -- lo any anywhere anywhere > ACCEPT all -- any any anywhere anywhere state > RELATED,ESTABLISHED > LOG all -- any any anywhere anywhere LOG level warning > prefix `INPUT ' > > Everything else looks good from a security standpoint. From a > performance standpoint, you might want to add a line to the beginning of > your output chain like this: > > Chain OUTPUT (policy ACCEPT 5 packets, 1691 bytes) > target prot opt in out source destination > ACCEPT all -- any lo anywhere anywhere > ACCEPT all -- any any anywhere anywhere state > RELATED,ESTABLISHED > LOG all -- any any anywhere anywhere LOG level warning > prefix `OUTPUT ' > > This will log only NEW packets. Otherwise you could end up with a lot > of log output. > > After you run this for a while, go back and look through your logs and > see if you have enough data there to change your OUTPUT chain to DROP, > and only allow packets through to ports you actually use. That's only > if you're really paranoid though. > > Hope that helps. > > Chris > > -- Hazen Valliant-Saunders IT/IS Consultant (613) 355-5977 [-- Attachment #2: Type: text/html, Size: 3258 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-24 17:05 ` Hazen Valliant-Saunders @ 2009-04-24 18:20 ` Marco 0 siblings, 0 replies; 15+ messages in thread From: Marco @ 2009-04-24 18:20 UTC (permalink / raw To: gentoo-user On Fri, Apr 24, 2009 at 5:05 PM, Hazen Valliant-Saunders <hazenvs@gmail.com> wrote: > Just a thought: > > http://www.fwbuilder.org/ I've seen fwbuilder already. I thought since I only need a simple firewall, I probably make the thing worse if I don't really know how to use the tool. And learning iptables is a good thing I guess. In case I'd have to set up some servers, I would of course reconsider fwbuilder. -- Regards, Marco ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-24 17:00 ` Chris Frederick 2009-04-24 17:05 ` Hazen Valliant-Saunders @ 2009-04-24 17:23 ` Daniel Troeder 2009-04-24 18:40 ` Marco 2009-04-24 18:18 ` Marco 2 siblings, 1 reply; 15+ messages in thread From: Daniel Troeder @ 2009-04-24 17:23 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 1531 bytes --] On Fri, 2009-04-24 at 12:00 -0500, Chris Frederick wrote: > I would also get rid of the REJECT targets. It's better to DROP > instead. If someone is scanning the network, and you start sending icmp > rejections back, they will know you are there and may try other > techniques to break through your defenses, but if you DROP and send > nothing back, it will be much harder for them to see you at all. While all that is correct, I would also consider it "bad network behavior" (no offense intended). It feels like "security through obscurity". It may hamper the well-working of a TCP/IP network, as that relies heavily on ICMP. Probably it will never be a problem for you, but it could be a problem for a network administrator. Also: if you wish to scan (nmap) yourself to check your system (configuration), you'll wish for REJECT instead of DROP :) On a (not so) different topic: If you're going to make your firewall more complex (more services, or other stuff), I'd suggest to use a widely used firewall script. That is more secure than writing your own firewall configuration, because in the long run it will be better maintainable (and they often also do "smart stuff(TM)" ;) My recommendation is "net-firewall/shorewall". It has a well balanced abstraction/granularity-ratio, and the produced iptable-rules are still readable :) Bye, Daniel -- PGP key @ http://pgpkeys.pca.dfn.de/pks/lookup?search=0xBB9D4887&op=get # gpg --recv-keys --keyserver hkp://subkeys.pgp.net 0xBB9D4887 [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-24 17:23 ` Daniel Troeder @ 2009-04-24 18:40 ` Marco 2009-04-24 19:38 ` Daniel Troeder 0 siblings, 1 reply; 15+ messages in thread From: Marco @ 2009-04-24 18:40 UTC (permalink / raw To: gentoo-user On Fri, Apr 24, 2009 at 5:23 PM, Daniel Troeder <daniel@admin-box.com> wrote: > On Fri, 2009-04-24 at 12:00 -0500, Chris Frederick wrote: [...] > While all that is correct, I would also consider it "bad network > behavior" (no offense intended). So you consider my 'reject-with' settings to be good practice? > It feels like "security through obscurity". It may hamper the > well-working of a TCP/IP network, as that relies heavily on ICMP. I was not really sure how to configure ICMP (ping) correctly. Any input appreciated! > Probably it will never be a problem for you, but it could be a problem > for a network administrator. > > Also: if you wish to scan (nmap) yourself to check your system > (configuration), you'll wish for REJECT instead of DROP :) You mean as the default policy? > On a (not so) different topic: > If you're going to make your firewall more complex (more services, or > other stuff), I'd suggest to use a widely used firewall script. That is > more secure than writing your own firewall configuration, because in the > long run it will be better maintainable (and they often also do "smart > stuff(TM)" ;) > > My recommendation is "net-firewall/shorewall". It has a well balanced > abstraction/granularity-ratio, and the produced iptable-rules are still > readable :) This is considered to be my learning example. Later I will definitely consider using shorewall (learning one thing at a time). Thanks! -- Regards, Marco ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-24 18:40 ` Marco @ 2009-04-24 19:38 ` Daniel Troeder 2009-04-24 21:28 ` Chris Frederick 0 siblings, 1 reply; 15+ messages in thread From: Daniel Troeder @ 2009-04-24 19:38 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 1472 bytes --] On Fri, 2009-04-24 at 18:40 +0000, Marco wrote: > On Fri, Apr 24, 2009 at 5:23 PM, Daniel Troeder <daniel@admin-box.com> wrote: > > On Fri, 2009-04-24 at 12:00 -0500, Chris Frederick wrote: > [...] > > While all that is correct, I would also consider it "bad network > > behavior" (no offense intended). > > So you consider my 'reject-with' settings to be good practice? Yes :) > > It feels like "security through obscurity". It may hamper the > > well-working of a TCP/IP network, as that relies heavily on ICMP. > > I was not really sure how to configure ICMP (ping) correctly. Any > input appreciated! That is really difficult, because ICMP is a family of lots of protocols, from which ping is just one. Others are important too, like telling routers/hosts about network congestion, and so on... I don't feel competent enough to give directions. I do always allow ping, as this is needed in a server environment to check for uptime, but your case may be different. > > Also: if you wish to scan (nmap) yourself to check your system > > (configuration), you'll wish for REJECT instead of DROP :) > > You mean as the default policy? Yes, and also everywhere you use DROP. It's just, that you'll have to wait less for timeouts, when connecting to a closed port. If you decide to go with DROP, then you could make it globally switchable in your script, to change between testing and production environment/situation. Bye, Daniel [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-24 19:38 ` Daniel Troeder @ 2009-04-24 21:28 ` Chris Frederick 2009-04-27 18:56 ` Daniel Troeder 0 siblings, 1 reply; 15+ messages in thread From: Chris Frederick @ 2009-04-24 21:28 UTC (permalink / raw To: gentoo-user Daniel Troeder wrote: > On Fri, 2009-04-24 at 18:40 +0000, Marco wrote: >> On Fri, Apr 24, 2009 at 5:23 PM, Daniel Troeder <daniel@admin-box.com> wrote: >>> On Fri, 2009-04-24 at 12:00 -0500, Chris Frederick wrote: >> [...] >>> While all that is correct, I would also consider it "bad network >>> behavior" (no offense intended). >> So you consider my 'reject-with' settings to be good practice? > Yes :) I'll have to agree and disagree with Daniel on this point. I agree that it is "bad network behavior", but the people we are trying to keep out don't stick to using "good network behavior", so why should we? There's a number of dirty tricks people use to circumvent firewalls/networks, and I strongly believe that it is better to hide your presence as best as you can on a network. Now I'm also keeping in mind that you are on a laptop with no remote services. If you start allowing services, then that will change things. If clients are going to be connection to you for certain services, you should be more accommodating to them and play nice with the network where possible. This is more of a personal preference thing. >>> It feels like "security through obscurity". I agree that it is "security through obscurity", but that's not a bad thing. Relying on "security through obscurity" for protection is a bad thing, but adding a layer of obscurity over a defense in depth strategy is not. >>> It may hamper the well-working of a TCP/IP network, as that relies heavily on ICMP. On a server level, yes. But this is a client with no active/accessible services. A server shouldn't rely on ICMP from a client, but the ICMP packets from the server will be picked up by the RELATED flag on the second rule, allowing the client to see the ICMP error from the server. >> I was not really sure how to configure ICMP (ping) correctly. Any input appreciated! > That is really difficult, because ICMP is a family of lots of protocols, > from which ping is just one. Others are important too, like telling > routers/hosts about network congestion, and so on... I don't feel > competent enough to give directions. I do always allow ping, as this is > needed in a server environment to check for uptime, but your case may be > different. I agree with Daniel again. Unless you know what you are doing, blocking ICMP is just going to cause problems. And I would argue that iptables is not the tool to use, even if you know what you are doing. If you really want to filter your ICMP packets, look to /proc/sys/net/ipv4/. The kernel will give you some nice options that are a lot safer that an iptables rule. >>> Also: if you wish to scan (nmap) yourself to check your system >>> (configuration), you'll wish for REJECT instead of DROP :) >> You mean as the default policy? > Yes, and also everywhere you use DROP. It's just, that you'll have to > wait less for timeouts, when connecting to a closed port. <segway> I would recommend running nmap in crontab if you want to scan your network (look up ndiff on nmap's website). </segway> > If you decide to go with DROP, then you could make it globally > switchable in your script, to change between testing and production > environment/situation. This is great advice. You may not benefit much from it now with this small script, but as it grows, you really want to keep this in mind. If you modularize your tables, you can turn them on and off with a single insert/delete rather than trying to insert/delete large blocks from the rules, or worse, reloading the whole rule set. Chris P.S. Daniel, no offense taken. I enjoy these debates, it helps us think differently and learn new tricks. If we are not challenged once in a while we get complacent, and that's typically when we start making mistakes. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-24 21:28 ` Chris Frederick @ 2009-04-27 18:56 ` Daniel Troeder 2009-04-27 20:03 ` Alan McKinnon 0 siblings, 1 reply; 15+ messages in thread From: Daniel Troeder @ 2009-04-27 18:56 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 1266 bytes --] On Fri, 2009-04-24 at 16:28 -0500, Chris Frederick wrote: > Now I'm also keeping in mind that you are on a laptop with no remote > services. If you start allowing services, then that will change things. > If clients are going to be connection to you for certain services, you > should be more accommodating to them and play nice with the network > where possible. I think you're right. I often tend to think in my "server/network admin ways". For a notebook - possibly connecting to unknown, public networks, it may be a good idea to stay "hidden". > <segway> > I would recommend running nmap in crontab if you want to scan your > network (look up ndiff on nmap's website). > </segway> Oh cool - I didn't know about "ndiff". Fetching nmap from SVN now... :) What does "segway" mean? I just found a "personal transporter" thingy online... > P.S. Daniel, no offense taken. I enjoy these debates, it helps us > think differently and learn new tricks. If we are not challenged once > in a while we get complacent, and that's typically when we start making > mistakes. nice :) Bye, Daniel -- PGP key @ http://pgpkeys.pca.dfn.de/pks/lookup?search=0xBB9D4887&op=get # gpg --recv-keys --keyserver hkp://subkeys.pgp.net 0xBB9D4887 [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-27 18:56 ` Daniel Troeder @ 2009-04-27 20:03 ` Alan McKinnon 0 siblings, 0 replies; 15+ messages in thread From: Alan McKinnon @ 2009-04-27 20:03 UTC (permalink / raw To: gentoo-user On Monday 27 April 2009 20:56:07 Daniel Troeder wrote: > > <segway> > > I would recommend running nmap in crontab if you want to scan your > > network (look up ndiff on nmap's website). > > </segway> > > Oh cool - I didn't know about "ndiff". Fetching nmap from SVN now... :) > > What does "segway" mean? I just found a "personal transporter" thingy > online... It's a typo, should have been "segue" which according to Wikipedia[1] means "A segue is a smooth transition from one topic or section to the next." [1]http://en.wikipedia.org/wiki/Segue -- alan dot mckinnon at gmail dot com ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-24 17:00 ` Chris Frederick 2009-04-24 17:05 ` Hazen Valliant-Saunders 2009-04-24 17:23 ` Daniel Troeder @ 2009-04-24 18:18 ` Marco 2009-04-24 18:26 ` Marco 2 siblings, 1 reply; 15+ messages in thread From: Marco @ 2009-04-24 18:18 UTC (permalink / raw To: gentoo-user On Fri, Apr 24, 2009 at 5:00 PM, Chris Frederick <cdf123@cdf123.net> wrote: > Marco wrote: [...] > Your firewall looks good, but I would change a few things. > > First off, change your FORWARD chain to DROP. Unless you are doing > routing on your laptop, there's no reason to have it. My thought here was to be able to perform some network maintanance task using wireshark. I ave forwarding disabled normally and I could just 'echo 1 > /proc/sys/net/ipv4/ip_forward' to have it enabled. Is there anything unsafe about this setup? > I would also get rid of the REJECT targets. It's better to DROP > instead. If someone is scanning the network, and you start sending icmp > rejections back, they will know you are there and may try other > techniques to break through your defenses, but if you DROP and send > nothing back, it will be much harder for them to see you at all. I was following http://www.gentoo.org/doc/en/articles/linux-24-stateful-fw-design.xml in section 'Handling rejection' of the article. I guess this is kind of a philosophical question here... > I would also re-write your INPUT chain to be a bit less verbose. > Something like this: > > Chain INPUT (policy DROP 0 packets, 0 bytes) > target prot opt in out source destination > ACCEPT all -- lo any anywhere anywhere > ACCEPT all -- any any anywhere anywhere state > RELATED,ESTABLISHED > LOG all -- any any anywhere anywhere LOG level warning > prefix `INPUT ' So basically not distinguishing between the external interfaces (eth0, wlan0)? > Everything else looks good from a security standpoint. From a > performance standpoint, you might want to add a line to the beginning of > your output chain like this: > > Chain OUTPUT (policy ACCEPT 5 packets, 1691 bytes) > target prot opt in out source destination > ACCEPT all -- any lo anywhere anywhere > ACCEPT all -- any any anywhere anywhere state > RELATED,ESTABLISHED > LOG all -- any any anywhere anywhere LOG level warning > prefix `OUTPUT ' > > This will log only NEW packets. Otherwise you could end up with a lot > of log output. That makes sense! > After you run this for a while, go back and look through your logs and > see if you have enough data there to change your OUTPUT chain to DROP, > and only allow packets through to ports you actually use. That's only > if you're really paranoid though. Kind of paranoid, yes ;-) [...] Thanks for the tips! -- Regards, Marco ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [gentoo-user] Is this firewall safe? 2009-04-24 18:18 ` Marco @ 2009-04-24 18:26 ` Marco 0 siblings, 0 replies; 15+ messages in thread From: Marco @ 2009-04-24 18:26 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 227 bytes --] Hello again, I took your considerations into account and changes my setting. Could you please have look again to the output of 'iptables -L -v' (in the attachment for better formating)? Thanks a lot! -- Best regards, Marco [-- Attachment #2: iptables-L-v.txt --] [-- Type: text/plain, Size: 1317 bytes --] Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- lo any anywhere anywhere 30 18812 ACCEPT all -- !lo any anywhere anywhere state RELATED,ESTABLISHED 0 0 REJECT tcp -- !lo any anywhere anywhere reject-with tcp-reset 0 0 REJECT udp -- !lo any anywhere anywhere reject-with icmp-port-unreachable 0 0 LOG all -- !lo any anywhere anywhere LOG level warning prefix `INPUT ' Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 LOG all -- any any anywhere anywhere LOG level warning prefix `FORWARD ' Chain OUTPUT (policy ACCEPT 33 packets, 6039 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- any lo anywhere anywhere 33 6039 LOG all -- any !lo anywhere anywhere LOG level warning prefix `OUTPUT ' ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2009-04-27 20:05 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-04-24 15:28 [gentoo-user] Is this firewall safe? Marco 2009-04-24 16:59 ` Eric Martin 2009-04-24 17:53 ` Marco 2009-04-27 19:35 ` Eric Martin 2009-04-24 17:00 ` Chris Frederick 2009-04-24 17:05 ` Hazen Valliant-Saunders 2009-04-24 18:20 ` Marco 2009-04-24 17:23 ` Daniel Troeder 2009-04-24 18:40 ` Marco 2009-04-24 19:38 ` Daniel Troeder 2009-04-24 21:28 ` Chris Frederick 2009-04-27 18:56 ` Daniel Troeder 2009-04-27 20:03 ` Alan McKinnon 2009-04-24 18:18 ` Marco 2009-04-24 18:26 ` Marco
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox