Re: Question about IGMP host implementation

Stig Venaas <[email protected]> Thu, 13 Oct 2011 19:42:25 -0700
Newsgroups gmane.ietf.magma
Message-ID <[email protected]>
On 13.10.2011 18:44, Bharat Joshi wrote:
> Stig,
>
>         I think GTSM does solve the issue of forwarding IGMP messages but=
 as you mentioned its only for unicast.
>
>         Till now, I have not seen any implementation using Unicast destin=
ation address for IGMP messages. So I am not sure if someone will really be=
 interested in this work.
>
>         May be there are some legacy or customized implementation which I=
 am not aware of and we need to see if these people would be interested in =
this.,

I know one implementation at least. But note that even if no one sends
them, the RFC says they should be accepted. So we do have a problem if
someone intentionally spoofs unicast packet.

If almost no one sends them, then changing to GTSM will be easier.

Stig

> Regards,
> Bharat
> ________________________________________
> From: [email protected] [[email protected]] On Behalf Of Stig V=
enaas [[email protected]]
> Sent: Thursday, October 13, 2011 10:40 PM
> To: Thomas Morin
> Cc: [email protected]
> Subject: Re: [magma] Question about IGMP host implementation
>
> On 10/13/2011 1:26 AM, Thomas Morin wrote:
>> Hi,
>>
>> Obviously there is no legitimate case where a query would come from
>> another subnet.
>> The question is how to avoiding such queries from being processed...
>>
>> IGMPv3 specs talks a bit about this aspect ; RFC3376, section 9.1,
>> Security Considerations, Query message:
>>
>>    There are three measures necessary to defend against externally forge=
d Queries:
>>
>>      o Routers SHOULD NOT forward Queries.  This is easier for a router =
to
>>        accomplish if the Query carries the Router-Alert option.
>>
>>      o Hosts SHOULD ignore v2 or v3 Queries without the Router-Alert
>>        option.
>>
>>      o Hosts SHOULD ignore v1, v2 or v3 General Queries sent to a
>>        multicast address other than 224.0.0.1, the all-systems address.
>>
>> If a host enforces these rules, AFAICT there is no case were it would
>> process a Query from another subnet.
>> Even though RFC2236 is silent on this aspect, an RFC3376 host
>> implementation in IGMPv2 compatibility mode would be expected to apply
>> these checks.
>>
>> On the other hand, RFC3376 also says, in 4.1.12. IP Destination
>> Addresses for Queries:
>>
>>      In IGMPv3, General Queries are sent with an IP destination address =
of
>>      224.0.0.1, the all-systems multicast address.  Group-Specific and
>>      Group-and-Source-Specific Queries are sent with an IP destination
>>      address equal to the  multicast address of interest.  *However*, a
>>      system MUST accept and  process any Query whose IP Destination Addr=
ess
>>             ^^^^^^^^^^^^^^^
>>       field contains *any* of the addresses (unicast or multicast)
>>                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
>>       assigned to the interface on which the Query arrives.
>>
>>
>> This rule contradicts the third rule above (which would in itself
>> deserve a discussion), but the two first rules are possibly enough: if
>> an attacker forges a Query, under the assumption that at least one
>> Router on the path to the victim supports the Router Alert option and
>> implements IGMP and enforces the first of the three rules above, if
>> hosts apply the second rule, then no forged packet will be processed by
>> hosts... The issue is that it may not be reasonable to count on all this
>> to be true (eg. there are IGMP Querier implementations in the wild that
>> do not set the RA option in Query messages...).
>>
>> The most reasonable thing to do, as suggested below, is to drop Queries
>> whose source address is from another subnet.
>>
>> A nicer solution would be to apply GTSM (RFC5082) to IGMP, but
>> transitioning to it is absolutely not trivial.
>
> Yes, I have been thinking whether GTSM should be used for unicast IGMPv3
> messages. I don't think transitioning to that is all that hard. It
> depends a bit how common it is to do unicast IGMP today. Checking GTSM
> on the receiving end would have to be something that can be configured
> until one can expect all senders to do it.
>
> If there is some support for GTSM, we could try a draft updating the
> IGMPv3 RFC perhaps...
>
> Stig
>
>>
>> -Thomas
>>
>>
>>
>> Bharat Joshi a =E9crit :
>>> Kunal,
>>>
>>>           What I am suggesting is that though RFC does not explicitly s=
uggest it, it might be better to do this for broadcast interfaces.
>>>
>>>           But yes, RFC does not suggest anything on this so a host can =
process a query message with a source address from any other subnet as well.
>>>
>>> Regards,
>>> Bharat
>>> ________________________________________
>>> From: Kunal Shah [[email protected]]
>>> Sent: Wednesday, October 12, 2011 9:17 PM
>>> To: Bharat Joshi;[email protected]
>>> Subject: RE: Question about IGMP host implementation
>>>
>>> Hi Bharat,
>>>
>>> The security consideration addresses the processing of a report from a =
different subnet on the router. My question pertains to the processing of a=
 Query from a different subnet on the host.
>>>
>>> Kunal
>>>
>>> -----Original Message-----
>>> From: Bharat Joshi [mailto:[email protected]]
>>> Sent: Wednesday, October 12, 2011 4:20 AM
>>> To: Kunal Shah;[email protected]
>>> Subject: RE: Question about IGMP host implementation
>>>
>>> Hi Kunal,
>>>
>>>           I think to keep the security tight, it is better to not respo=
nd to queries received from a source address which does not fall on a subne=
t on that interface. Please note that this should be done only broadcast in=
terfaces. It may not work on point-to-point links.
>>>
>>>           If you look at the security consideration in RFC 2236, it is =
mentioned that for reports, the above check should be done.
>>>
>>> Regards,
>>> Bharat
>>> ________________________________________
>>> From:[email protected]  [[email protected]] On Behalf Of Kuna=
l Shah [[email protected]]
>>> Sent: Wednesday, October 12, 2011 6:08 AM
>>> To:[email protected]
>>> Subject: [magma] Question about IGMP host implementation
>>>
>>> Hi all,
>>>
>>> Can an IGMPv2 host respond to a general query originated from a subnet =
other then its own?? RFC 2236 states:
>>>
>>> ""query received" occurs when the host receives either a valid
>>>        General Membership Query message, or a valid Group-Specific
>>>        Membership Query message.  To be valid, the Query message must be
>>>        at least 8 octets long, and have a correct IGMP checksum.  The
>>>        group address in the IGMP header must either be zero (a General
>>>        Query) or a valid multicast group address (a Group-Specific Quer=
y)"
>>>
>>> There is no requirement for the source address to be on the same subnet=
 as the host.
>>>
>>> Thanks,
>>> Kunal
>>>
>>>
>>> **************** CAUTION - Disclaimer ***************** This e-mail con=
tains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use o=
f the addressee(s). If you are not the intended recipient, please notify th=
e sender by e-mail and delete the original message. Further, you are not to=
 copy, disclose, or distribute this e-mail or its contents to any other per=
son and any such actions are unlawful. This e-mail may contain viruses. Inf=
osys has taken every reasonable precaution to minimize this risk, but is no=
t liable for any damage you may sustain as a result of any virus in this e-=
mail. You should carry out your own virus checks before opening the e-mail =
or attachment. Infosys reserves the right to monitor and review the content=
 of all messages sent to or from this e-mail address. Messages sent to or f=
rom this e-mail address may be stored on the Infosys e-mail system.
>>> ***INFOSYS******** End of Disclaimer ********INFOSYS***
>>> _______________________________________________
>>> magma mailing list
>>> [email protected]
>>> https://www.ietf.org/mailman/listinfo/magma
>>
>>
>>
>>
>> _______________________________________________
>> magma mailing list
>> [email protected]
>> https://www.ietf.org/mailman/listinfo/magma
>
> _______________________________________________
> magma mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/magma