|
|
|
|
|
|
|
|
|
|
xen-users
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
|
|
|
|
|