* re. too long mac address for --mac-source netfilter option
@ 2001-02-17 19:43 jbinpg
2001-02-17 19:47 ` Jeremy Jackson
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: jbinpg @ 2001-02-17 19:43 UTC (permalink / raw)
To: stefan; +Cc: linux-kernel
Jack Bowling wrote -
>> I am trying to use the --mac-source option in the netfilter code to better refine access to my linux box. However, I > have run up against something. The router through which my private subnet work box passes sends a 14-group "invalid" > mac address, presumably as an attempt to conceal the real hextile mac address. However, the code for the > --mac-source netfilter option is looking for a valid hextile mac address and complains loudly as such (numerals converted to x's):
>>
>> iptables v1.1.1: Bad mac address `xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx'
>>
>> to the respective iptable line:
>>
>> $IPT -A INPUT -p tcp -s xxx.xxx.xxx.xxx -d $NET -m mac --mac-source xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx --dport 5900:5901 -j ACCEPT
>>
>> The idea here is to allow VNC access to my home box with the access filtered by both IP and mac address.
>>
>> Is there a resolution to this other than a rewrite and recompile of the relevant sections of the iptable code? Or am I stuck? I know this option is tagged by Rusty as experimental still so I would assume that the code is open for feedback ;) The question could be rephrased as: is there any chance of allowing "invalid" mac addresses to be recognized by the --mac-source option of the netfilter code? Running Redhat v7/kernel 2.4.1-ac15.
Stefan Hanse writes -
>Umm.. An ethernet MAC address is 48bit long, ie AA:BB:CC:DD:EE:FF, 6 groups, not 14. Is this really an ethernet
>interface? (If it really has 14 groups).
Good question. I have determined by scanning my firewall logs that the "invalid" mac addresses are all coming from cable modem routers. And my linux kernel is recognizing them as being MAC addresses. Would it be better to write another module looking for these long "MAC" rather than tamper with the mac module?
To illustrate, here is a cut from my system log showing a portscan from my cable modem provider (a routine part of their service contract since you are not allowed to run client-side servers). SRC and DST have been x'ed out:
Feb 17 08:49:42 nonesuch kernel: IN=eth0 OUT= MAC=00:01:02:69:49:4f:00:00:77:93:83:d2:08:00 SRC=xx.xx.xx.xx DST=xx.xx.xx.xx LEN=44 TOS=0x00 PREC=0x00 TTL=246 ID=21419 PROTO=TCP SPT=45435 DPT=119 WINDOW=8760 RES=0x00 SYN URGP=0
Feb 17 08:49:43 nonesuch kernel: IN=eth0 OUT= MAC=00:01:02:69:49:4f:00:00:77:93:83:d2:08:00 SRC=xx.xx.xx.xx DST=xx.xx.xx.xx LEN=40 TOS=0x00 PREC=0x00 TTL=246 ID=21420 PROTO=TCP SPT=45435 DPT=119 WINDOW=8760 RES=0x00 RST URGP=0
Feb 17 08:49:43 nonesuch kernel: IN=eth0 OUT= MAC=00:01:02:69:49:4f:00:00:77:93:83:d2:08:00 SRC=xx.xx.xx.xx DST=xx.xx.xx.xx LEN=44 TOS=0x00 PREC=0x00 TTL=246 ID=21421 PROTO=TCP SPT=45806 DPT=119 WINDOW=8760 RES=0x00 SYN URGP=0
Feb 17 08:49:43 nonesuch kernel: IN=eth0 OUT= MAC=00:01:02:69:49:4f:00:00:77:93:83:d2:08:00 SRC=xx.xx.xx.xx DST=xx.xx.xx.xx LEN=40 TOS=0x00 PREC=0x00 TTL=246 ID=21422 PROTO=TCP SPT=45806 DPT=119 WINDOW=8760 RES=0x00 RST URGP=0
Feb 17 08:49:43 nonesuch kernel: IN=eth0 OUT= MAC=00:01:02:69:49:4f:00:00:77:93:83:d2:08:00 SRC=xx.xx.xx.xx DST=xx.xx.xx.xx LEN=44 TOS=0x00 PREC=0x00 TTL=246 ID=21423 PROTO=TCP SPT=46248 DPT=119 WINDOW=8760 RES=0x00 SYN URGP=0
Feb 17 08:49:44 nonesuch kernel: IN=eth0 OUT= MAC=00:01:02:69:49:4f:00:00:77:93:83:d2:08:00 SRC=xx.xx.xx.xx DST=xx.xx.xx.xx LEN=40 TOS=0x00 PREC=0x00 TTL=246 ID=21424 PROTO=TCP SPT=46248 DPT=119 WINDOW=8760 RES=0x00 RST URGP=0
All hits on my firewall from cable modem servers other than my own provider also have the 14 group "MAC" address so it looks like this may be a feature of these units.
Jack
P.S. - I have moved this to another of my email accounts
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: re. too long mac address for --mac-source netfilter option
2001-02-17 19:43 re. too long mac address for --mac-source netfilter option jbinpg
@ 2001-02-17 19:47 ` Jeremy Jackson
2001-02-17 20:12 ` Mr. James W. Laferriere
2001-02-18 6:26 ` Darren Tucker
2 siblings, 0 replies; 6+ messages in thread
From: Jeremy Jackson @ 2001-02-17 19:47 UTC (permalink / raw)
To: jbinpg; +Cc: stefan, linux-kernel
jbinpg@home.com wrote:
>All hits on my firewall from cable modem servers other than my own provider also have the 14 group "MAC" address so it l>ooks like this may be a feature of these units.
Some cable providers use Ethernet bridging instead of full ip routing. perhaps this is what you are seeing.
Maybe TCPdump will label packets which are for "spanning tree" or similar?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: re. too long mac address for --mac-source netfilter option
2001-02-17 19:43 re. too long mac address for --mac-source netfilter option jbinpg
2001-02-17 19:47 ` Jeremy Jackson
@ 2001-02-17 20:12 ` Mr. James W. Laferriere
2001-02-18 6:26 ` Darren Tucker
2 siblings, 0 replies; 6+ messages in thread
From: Mr. James W. Laferriere @ 2001-02-17 20:12 UTC (permalink / raw)
To: jbinpg; +Cc: stefan, linux-kernel
Hello All,
On Sat, 17 Feb 2001 jbinpg@home.com wrote:
> Stefan Hanse writes -
> >Umm.. An ethernet MAC address is 48bit long, ie AA:BB:CC:DD:EE:FF, 6
>groups, not 14. Is this really an ethernet
> >interface? (If it really has 14 groups).
>
>> Good question. I have determined by scanning my firewall logs that the
>"invalid" mac addresses are all coming from cable modem routers. And my
>linux kernel is recognizing them as being MAC addresses. Would it be
>better to write another module looking for these long "MAC" rather than
>tamper with the mac module?
>
>> To illustrate, here is a cut from my system log showing a portscan from
>my cable modem provider (a routine part of their service contract since
>you are not allowed to run client-side servers). SRC and DST have been
>x'ed out:
>
>> Feb 17 08:49:42 nonesuch kernel: IN=eth0 OUT=
>MAC=00:01:02:69:49:4f:00:00:77:93:83:d2:08:00 SRC=xx.xx.xx.xx
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This appears to be an ATM NSAP address . Hth , JimL
>DST=xx.xx.xx.xx LEN=44 TOS=0x00 PREC=0x00 TTL=246 ID=21419 PROTO=TCP
>SPT=45435 DPT=119 WINDOW=8760 RES=0x00 SYN URGP=0
>> All hits on my firewall from cable modem servers other than my own
>provider also have the 14 group "MAC" address so it looks like this may
>be a feature of these units.
+----------------------------------------------------------------+
| James W. Laferriere | System Techniques | Give me VMS |
| Network Engineer | 25416 22nd So | Give me Linux |
| babydr@baby-dragons.com | DesMoines WA 98198 | only on AXP |
+----------------------------------------------------------------+
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: re. too long mac address for --mac-source netfilter option
2001-02-17 19:43 re. too long mac address for --mac-source netfilter option jbinpg
2001-02-17 19:47 ` Jeremy Jackson
2001-02-17 20:12 ` Mr. James W. Laferriere
@ 2001-02-18 6:26 ` Darren Tucker
2 siblings, 0 replies; 6+ messages in thread
From: Darren Tucker @ 2001-02-18 6:26 UTC (permalink / raw)
To: jbinpg; +Cc: stefan, linux-kernel
jbinpg@home.com wrote:
> Jack Bowling wrote -
> >> iptables v1.1.1: Bad mac address `xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx'
> >>
> >> to the respective iptable line:
> >>
> >> $IPT -A INPUT -p tcp -s xxx.xxx.xxx.xxx -d $NET -m mac --mac-source xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx --dport 5900:5901 -j ACCEPT
> >>
> >> The idea here is to allow VNC access to my home box with the access filtered by both IP and mac address.>
> Stefan Hanse writes -
>
> >Umm.. An ethernet MAC address is 48bit long, ie AA:BB:CC:DD:EE:FF, 6 groups, not 14. Is this really an ethernet
> >interface? (If it really has 14 groups).
> All hits on my firewall from cable modem servers other than my own provider also have the 14 group "MAC" address so it looks like this may be a feature of these units.
It looks like it's the entire MAC-level header that is logged:
destination, source and protocol type.
I did a quick test with the PPPoE link down and the upstream cable
unplugged. I telnetted into the modem and generated a single UDP packet
to the echo port on the linux box (using the command "ip sendto
addr=10.0.0.1 count=1 size=10 dstport=7").
The kernel logged:
IN=eth1 OUT= MAC=08:00:2b:e2:a6:a3:00:90:d0:1b:4d:1c:08:00
SRC=10.0.0.138 DST=10.0.0.1 LEN=38 TOS=0x00 PREC=0x00 TTL=64 ID=2693
PROTO=UDP SPT=1032 DPT=7 LEN=18
The tcpdump output from this exchange:
[root@gate dtucker]# tcpdump -i eth1 -vv -x -e -p ! port telnet
Kernel filter, protocol ALL, datagram packet socket
tcpdump: listening on eth1
13:07:04.105231 < 0:90:d0:1b:4d:1c 0:0:0:0:0:1 ip 60: 10.0.0.138.1041 >
10.0.0.1.echo: udp 10 (ttl 64, id 3335)
4500 0026 0d07 0000 4011 5936 0a00 008a
0a00 0001 0411 0007 0012 8cc8 4142 4344
4546 4748 494a 0000 0000 0000 0000
13:07:04.105900 > 0:0:0:0:0:0 8:0:2b:e2:a6:a3 ip 80: 10.0.0.1 >
10.0.0.138: icmp: 10.0.0.1 udp port echo unreachable Offending pkt:
10.0.0.138.1041 > 10.0.0.1.echo: udp 10 (ttl 64, id 3335) (DF) [tos
0xc0] (ttl 255, id 0)
45c0 0042 0000 4000 ff01 6670 0a00 0001
0a00 008a 0303 11ab 0000 0000 4500 0026
0d07 0000 4011 5936 0a00 008a 0a00 0001
0411 0007 0012 8cc8 4142 4344 4546 4748
494a
Environment:
Kernel 2.4.2-pre3 running on an AMD K6-3.
eth1 is a DE435 using the de4x5 driver. MAC address 08:00:2B:E2:A6:A3
Alcatel "Speed Touch Home" ADSL modem connected to eth1. MAC address
00:90:D0:1B:4D:1C
The (relevant parts of the) iptables:
iptables -N droplog
iptables -A droplog -j LOG
iptables -A droplog -j REJECT
iptables -A INPUT -i eth1 -m state --state NEW,INVALID -j droplog
iptables -A FORWARD -i eth1 -m state --state NEW,INVALID -j droplog
Further comments:
1) I know that some of the the MAC addresses given by tcpdump are
invalid. Is this a bug? In what?
2) I've also repeated this test with the tulip driver, with the same
results.
-Daz.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: re. too long mac address for --mac-source netfilter option
@ 2001-02-17 22:11 jpinpg
0 siblings, 0 replies; 6+ messages in thread
From: jpinpg @ 2001-02-17 22:11 UTC (permalink / raw)
To: linux-kernel
James L. wrote -
> Hello All,
>
> On Sat, 17 Feb 2001 jbinpg@home.com wrote:
> > Stefan Hanse writes -
> > >Umm.. An ethernet MAC address is 48bit long, ie AA:BB:CC:DD:EE:FF, 6
> >groups, not 14. Is this really an ethernet
> > >interface? (If it really has 14 groups).
> >
> >> Good question. I have determined by scanning my firewall logs that the
> >"invalid" mac addresses are all coming from cable modem routers. And my
> >linux kernel is recognizing them as being MAC addresses. Would it be
> >better to write another module looking for these long "MAC" rather than
> >tamper with the mac module?
> >
> >> To illustrate, here is a cut from my system log showing a portscan from
> >my cable modem provider (a routine part of their service contract since
> >you are not allowed to run client-side servers). SRC and DST have been
> >x'ed out:
> >
> >> Feb 17 08:49:42 nonesuch kernel: IN=eth0 OUT=
> >MAC=00:01:02:69:49:4f:00:00:77:93:83:d2:08:00 SRC=xx.xx.xx.xx
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> This appears to be an ATM NSAP address . Hth , JimL
OK, thanks Jim. The question then becomes: could a netfilter module for recognizing ATM addresses be developed? Are all ATM addresses 14 groups?
Jack Bowling
mailto: jbinpg@home.com
^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <200102180823.f1I8Nqr16293@gate.dodgy.net.au>]
end of thread, other threads:[~2001-02-18 10:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-02-17 19:43 re. too long mac address for --mac-source netfilter option jbinpg
2001-02-17 19:47 ` Jeremy Jackson
2001-02-17 20:12 ` Mr. James W. Laferriere
2001-02-18 6:26 ` Darren Tucker
-- strict thread matches above, loose matches on Subject: below --
2001-02-17 22:11 jpinpg
[not found] <200102180823.f1I8Nqr16293@gate.dodgy.net.au>
[not found] ` <l0313034bb6b52c1d7efa@[192.168.239.101]>
2001-02-18 10:41 ` Jonathan Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox