[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] antispoof with Xen 3



Dirk H. Schulz wrote:
Hi Mike,
I am trying to get antispoofing running on xen3 (based on Debian Sarge). This is what I have done to enable it:
1. I have compiled a dom0 kernel with 
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
2. I made sure this module is loaded: lsmod gives xt_physdev (among 
others).
3a. I have changed the line "(network-script network-bridge)" to 
"(network-script network-bridge antispoof=yes)" in 
/etc/xen/xend-config.sxp.
3b. I have also tried setting the default in network-bridge to yes 
by changing the antispoof line to "antispoof:${antispoof:-yes}".
Then I have setup a domU with vif=['mac=ae:00:00:78:be:04, 
ip=192.168.115.156'], but "inside" I  have configured the ip 
address of eth0 to be 192.168.115.157.
After starting the domU "ifconfig eth0" shows the ip address 
192.168.115.157, but the domU still has network access to the outside.
That means: antispoofing does not work.
I'll bet your iptables FORWARD default policy is ACCEPT.  All 
antispoofing does is specifically add a rule allowing that 
particular source IP.  Having a default policy of ACCEPT means that 
after failing the source IP matching rule it gets accepted by the 
default policy.  Try adding this rule to iptables and see if it 
changes what you see.
  "iptables -P FORWARD DROP"

Now only specifically allowed source IPs will pass.
Changed FORWARD policy to drop as you supposed. Checked with iptables 
-L FORWARD that policy is DROP.
Tried pinging the outside from the misconfigured domU (misconfigured 
= other IP in /etc/network/interfaces than in domU config file) - no 
traffic to the outside possible. Good.
Changed IP in domU's /etc/network/interfaces to the one used in the 
domU config file. Restarted domU. Pinged to an external machine - 
nothing. Even with correct config no network connection!
Checking the FORWARD chain I have
- a policy of DROP
- an accept rule for all protocols from domUs IP address to anywhere
- an accept rule for udp from anywhere to anywhere
Do you have a dom0 rule allowing ICMP traffic?

Also, it is a good idea to turn off iptables in your domUs until after basic networking is functioning well.
Both rules appear only after the start of the domU. So the 
configuration should be okay, but there is no network connection from 
domU to dom0 or to external machines.
This is where tcpdump comes in handy. You will have to inspect your network traffic to see what is appearing where.
It was far easier in the end. I had to learn a few things about iptables 
and xen:
1. Traffic from/to dom0 passes the FORWARD chain additionally to INPUT 
and OUTPUT chains: if you drop at FORWARD, there is no success in 
opening up INPUT and OUTPUT.
2. You have to have connection tracking running, if you do not alter the 
xen network script, since it adds a FORWARD rule only for one direction 
(inside out).
What I wonder about now is: what is the antispoof option for with xen 3?
If I do not use antispoof, the xen network script registeres a domU with the FORWARD chain with physdev matching anyway, so there is no need for a toggleable antispoof button (and toggling it did not lead to any different behaviour - at least I found none).
Many users isolate their dom0 and do not allow direct network 
connectivity.  I'm guessing that's why the scripts do not automatically 
add INPUT rules.
As far as the antispoof rule, it adds a src IP to the physdev match. 
iptables ANDs those two conditions.  With antispoof off any IP from that 
interface would be accepted; however, with antispoof on packets would 
only be accepted if they come from the interface AND and have the spec'd IP.
Congratulations on your success.

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.