About RIPE | Contact  | Search | Sitemap    
Homepage RIPE  
RIPE Community Mail Archives
search  
     
RIPE Navigation Ends
About RIPE Maillists
Maillists Archive
Global Lists
Non Active Lists
RIPE NCC Navigation Ends
Next Section

[db-wg] Proposed changes for abuse

  • To: Database WG <
    >
  • From: Shane Kerr <
    >
  • Date: Wed, 16 Feb 2005 17:44:25 +0100

Dear Colleagues,

We've gone over the changes discussed and agreed on for improving the ability to find abuse information in the RIPE database, and have come up with the following modifications. Please have a look.

We will be making announcements once final agreement is done, and adding a URL to the banner and dbupdate messages.

Two things did not make it into this proposal from our side. One is that we find the name "IRT" somewhat confusing, but we have no specific proposal to change it. The second is a proposal to change the order of objects in query results, which will be sent as a separate proposal, since it is not very related and might cause controversy.

--
Shane Kerr
Software Manager
RIPE NCC
Following discussions in the Database Working Group at RIPE 49, we have
prepared a proposal to make changes to the whois server software. 

The changes we propose are: 

o To hide attributes that contain e-mail addresses in the default
  output of queries. We will also provide an option to disable this
  feature, 

o To add a new "abuse-mailbox:" attribute to PERSON, ROLE, IRT,
  MNTNER, ORGANISATION, INETNUM, and INET6NUM objects, 

o To provide an option to display only key attributes and abuse
  contacts, 

o To change the IRT object template so that the "signature:" and
  "encryption:" attributes are no longer mandatory, 

o To change the behaviour of the '-c' switch in whois queries. 

We will announce the changes on our website. We will also contact any
third-party software developers who rely on the RIPE Database for
abuse contact information.

You can read the minutes from the Database Working Group discussion
at: 

http://www.ripe.net/ripe/maillists/archives/db-wg/2004/msg00469.html 


(1) Adding the "abuse-mailbox:" Attribute 

We will add a new attribute to the following object types: 

INETNUM 
INET6NUM 
PERSON 
ROLE 
IRT 
ORGANISATION 
MNTNER 

This optional attribute will contain at least one e-mail address. It
will tell users where to send abuse complaints or queries. 

(The proposed templates for the above objects are at the end of this
document.) 

The description of the new attribute will be the same in all objects: 

   abuse-mailbox:

      Specifies the e-mail address to which abuse complaints should be
      sent.

        An e-mail address as defined in RFC 2822.

There is currently a "trouble:" attribute in ROLE objects, which
contains free text.  We will update ROLE objects, so that any ROLE
object that has a "trouble:" attribute that is an e-mail address as
defined in RFC 2822, will be copied to the "abuse-mailbox:" attribute.
Any other "trouble:" attributes will be converted to "remarks:".

As an example, see the following: 


   role:         Example Role
   address:      Example Address
   phone:        +11 22 33445
   fax-no:       +11 22 33445
   e-mail:       info@localhost
   admin-c:      TEST1-RIPE
   tech-c:       TEST1-RIPE
   trouble:      Please contact
   trouble:      abuse@localhost
   trouble:      for abuse reports, not info@localhost
   nic-hdl:      TESTROLE1-RIPE
   changed:      info@localhost 20050101
   source:       RIPE

We will replace this with: 

   role:          Example Role
   address:       Example Address
   phone:         +11 22 33445
   fax-no:        +11 22 33445
   e-mail:        info@localhost
   admin-c:       TEST1-RIPE
   tech-c:        TEST1-RIPE
   remarks:       "trouble:" converted on 2005mmdd
   remarks:       Please contact
   abuse-mailbox: abuse@localhost
   remarks:       for abuse reports
   nic-hdl:       TESTROLE1-RIPE
   changed:       info@localhost 20050101
   source:        RIPE


(2) Hiding Attributes That Contain E-Mail Addresses 

Finding the right e-mail address for abuse reports can be confusing.
There is currently no easy way to find this information in the RIPE
Database. Users often send mail to every e-mail address they see in a
query result. To avoid this, we will hide all attributes that contain
e-mail addresses from the default output of a whois query for an
address. 

When a user looks up an address, the results may include the following
objects: 

INETNUM 
INET6NUM 
ROUTE 
ROUTE6
ORGANISATION 
PERSON 
ROLE 

By default, MNTNER objects are not shown, but they are often also
queried to get contact information.

For each of the object types, the following attributes contain e-mail
addresses: 

INETNUM: notify, changed 
INET6NUM: notify, changed 
ROUTE: notify, changed
ROUTE6: notify, changed
ORGANISATION: e-mail, notify, changed 
PERSON: e-mail, notify, changed 
ROLE: e-mail, trouble, notify, changed 

For each address range returned, if there is at least one
"abuse-mailbox:" attribute in any of the returned objects, the
attributes mentioned above will be removed from the output. 

If there is no "abuse-mailbox:" attribute, only "notify:" and
"changed:" attributes will be filtered out. 

If an attribute of an object is changed, a comment will be added, to
avoid confusion. 

Users can turn off this suppression. To make this possible, we will
implement a '-B' flag. 

As an example: 

$ whois 10.0.0.10 

Might currently give the following result: 

   inetnum:       10.0.0.0 - 10.0.0.255
   netname:       HOME-NETWORK
   descr:         Home Network
   country:       ZZ
   admin-c:       ME1-RIPE
   tech-c:        ME1-RIPE
   abuse-mailbox: ripe-dbm@localhost
   status:        ALLOCATED PI
   mnt-by:        I-MNT
   changed:       ripe-dbm@localhost 20050101
   source:        RIPE

   person:        Me Myself and I
   address:       Home Alone
   phone:         +11 22 33445
   fax-no:        +11 22 33445
   e-mail:        ripe-dbm@localhost
   nic-hdl:       ME1-RIPE
   mnt-by:        I-MNT
   changed:       ripe-dbm@localhost 20050101
   source:        RIPE

After the change, the result will be: 

   % Note: this output has been filtered.

   inetnum:       10.0.0.0 - 10.0.0.255
   netname:       HOME-NETWORK
   descr:         Home Network
   country:       ZZ
   admin-c:       ME1-RIPE
   tech-c:        ME1-RIPE
   abuse-mailbox: ripe-dbm@localhost
   status:        ALLOCATED PI
   mnt-by:        I-MNT
   source:        RIPE

   person:        Me Myself and I
   address:       Home Alone
   phone:         +11 22 33445
   fax-no:        +11 22 33445
   nic-hdl:       ME1-RIPE
   mnt-by:        I-MNT
   source:        RIPE

To see the unmodified result, users should type in: 

$ whois -B 10.0.0.10 


(3) Adding 'abuse output' Option 

To help authors of tools or users who are only interested in the abuse
contacts for IP addresses, we will implement a brief output mode. If a
user types '-b' when querying the RIPE Database, they will only see
the key attributes of address ranges and the "abuse-mailbox:"
attribute. This switch will also imply '-c', which requests first
level less specific INETNUM or INET6NUM objects with the "mnt-irt:"
attribute. It will only work with address space related queries. 

Here is an example:

$ whois 10.0.0.0 

Returns:

   inetnum:       10.0.0.0 - 10.0.0.255
   netname:       HOME-NETWORK
   descr:         Home Network
   country:       ZZ
   admin-c:       ME1-RIPE
   tech-c:        ME1-RIPE
   abuse-mailbox: ripe-dbm@localhost
   status:        ALLOCATED PI
   mnt-by:        I-MNT
   changed:       ripe-dbm@localhost 20050101
   source:        RIPE

   person:        Me Myself and I
   address:       Home Alone
   phone:         +11 22 33445
   fax-no:        +11 22 33445
   e-mail:        ripe-dbm@localhost
   nic-hdl:       ME1-RIPE
   mnt-by:        I-MNT
   changed:       ripe-dbm@localhost 20050101
   abuse-mailbox: ripe-dbm-person@localhost
   source:        RIPE

So: 

$ whois -b 10.0.0.0 

Will return:

   % Note: this output has been filtered.
   % Only primary keys and abuse contact will be visible.

   inetnum:       10.0.0.0 - 10.0.0.255
   abuse-mailbox: ripe-dbm@localhost
   abuse-mailbox: ripe-dbm-person@localhost

This output will not generate valid objects, and there will be no
object separators. 

If two ranges are returned after making a query, an object separator
will be inserted between groupings. Therefore, the output will look
like this: 

   inetnum:       10.0.0.0 - 10.0.0.255
   abuse-mailbox: ripe-dbm@localhost
   abuse-mailbox: ripe-dbm-person@localhost (*)

   inetnum:       10.0.1.0 - 10.0.0.255
   abuse-mailbox: ripe-dbm-person-2@localhost (*)

Attributes marked by (*) are taken from the person object retrieved by
a recursive lookup. 


(4) Modifications on the IRT Object 

We will change the template for the IRT object will be changed. You
will no longer need a KEY-CERT object to create an IRT object. 

Currently, the template for the IRT object is: 


   irt:            [mandatory]  [single]     [primary/look-up key]
   address:        [mandatory]  [multiple]   [ ]
   phone:          [optional]   [multiple]   [ ]
   fax-no:         [optional]   [multiple]   [ ]
   e-mail:         [mandatory]  [multiple]   [lookup key]
   signature:      [mandatory]  [multiple]   [ ]
   encryption:     [mandatory]  [multiple]   [ ]
   org:            [optional]   [multiple]   [inverse key]
   admin-c:        [mandatory]  [multiple]   [inverse key]
   tech-c:         [mandatory]  [multiple]   [inverse key]
   auth:           [mandatory]  [multiple]   [inverse key]
   remarks:        [optional]   [multiple]   [ ]
   irt-nfy:        [optional]   [multiple]   [inverse key]
   notify:         [optional]   [multiple]   [inverse key]
   mnt-by:         [mandatory]  [multiple]   [inverse key]
   changed:        [mandatory]  [multiple]   [ ]
   source:         [mandatory]  [single]     [ ]

"signature:" and "encryption:" attributes need existing key-cert
objects. The Anti-spam Working Group asked us to make these objects
optional.  You can read an archive of this discussion at: 

http://www.ripe.net/ripe/maillists/archives/db-wg/2004/msg00452.html 

The template for irt objects will be: 

   irt:            [mandatory]  [single]     [primary/look-up key]
   address:        [mandatory]  [multiple]   [ ]
   phone:          [optional]   [multiple]   [ ]
   fax-no:         [optional]   [multiple]   [ ]
   e-mail:         [mandatory]  [multiple]   [lookup key]
   signature:      [optional]   [multiple]   [ ]
   encryption:     [optional]   [multiple]   [ ]
   org:            [optional]   [multiple]   [inverse key]
   admin-c:        [mandatory]  [multiple]   [inverse key]
   tech-c:         [mandatory]  [multiple]   [inverse key]
   auth:           [mandatory]  [multiple]   [inverse key]
   remarks:        [optional]   [multiple]   [ ]
   irt-nfy:        [optional]   [multiple]   [inverse key]
   notify:         [optional]   [multiple]   [inverse key]
   mnt-by:         [mandatory]  [multiple]   [inverse key]
   changed:        [mandatory]  [multiple]   [ ]
   source:         [mandatory]  [single]     [ ]

Therefore, the object below would be valid: 

   irt:          irt-someorg-zz
   address:      address for the irt
   phone:        +11 22 3344556
   fax-no:       +11 22 3344556
   e-mail:       contact@localhost
   admin-c:      CONTACT1-RIPE
   tech-c:       CONTACT1-RIPE
   auth:         CRYPT-PW XXXXXXXXXXXXX
   mnt-by:       mnt-someorg
   changed:      someone@localhost 20050505
   source:       RIPE

We will automate this process, so that help from the RIPE Database
Management will no longer be necessary create IRT objects. 


(5) Changing the behaviour of '-c' option in whois queries 

Currently, the -c option requests first level less specific INETNUM or
INET6NUM objects with the "mnt-irt:" attribute. It does not return any
related IRT objects. This will change, so that -c will treat IRT
objects as contacts and do recursive lookups on related IRT objects. 

Here is an example:

$ whois -c 10.0.0.0 

Returns:

   inetnum:      10.0.0.0 - 10.0.0.255
   netname:      TEST-NET
   descr:        Test Net
   country:      ZZ
   admin-c:      TEST1-RIPE
   tech-c:       TEST1-RIPE
   status:       ASSIGNED PA
   mnt-by:       TEST-MNT
   mnt-irt:      IRT-TEST
   changed:      info@localhost 20050101
   source:       RIPE

   person:       TEST1-RIPE
   .
   .

After the change, the result will be: 

   inetnum:      10.0.0.0 - 10.0.0.255
   netname:      TEST-NET
   descr:        Test Net
   country:      ZZ
   admin-c:      TEST1-RIPE
   tech-c:       TEST1-RIPE
   status:       ASSIGNED PA
   mnt-by:       TEST-MNT
   mnt-irt:      IRT-TEST
   changed:      info@localhost 20050101
   source:       RIPE

   person:       TEST1-RIPE
   .
   .

   irt:          IRT-TEST
   .
   .


(6) Modified Templates 

   inetnum:        [mandatory]  [single]     [primary/look-up key]
   netname:        [mandatory]  [single]     [lookup key]
   descr:          [mandatory]  [multiple]   [ ]
   country:        [mandatory]  [multiple]   [ ]
   org:            [optional]   [single]     [inverse key]
   admin-c:        [mandatory]  [multiple]   [inverse key]
   tech-c:         [mandatory]  [multiple]   [inverse key]
   abuse-mailbox:  [optional]   [multiple]   [ ] **
   rev-srv:        [optional]   [multiple]   [inverse key]
   status:         [mandatory]  [single]     [ ]
   remarks:        [optional]   [multiple]   [ ]
   notify:         [optional]   [multiple]   [inverse key]
   mnt-by:         [mandatory]  [multiple]   [inverse key]
   mnt-lower:      [optional]   [multiple]   [inverse key]
   mnt-domains:    [optional]   [multiple]   [inverse key]
   mnt-routes:     [optional]   [multiple]   [inverse key]
   mnt-irt:        [optional]   [multiple]   [inverse key]
   changed:        [mandatory]  [multiple]   [ ]
   source:         [mandatory]  [single]     [ ]

   inet6num:       [mandatory]  [single]     [primary/look-up key]
   netname:        [mandatory]  [single]     [lookup key]
   descr:          [mandatory]  [multiple]   [ ]
   country:        [mandatory]  [multiple]   [ ]
   org:            [optional]   [single]     [inverse key]
   admin-c:        [mandatory]  [multiple]   [inverse key]
   tech-c:         [mandatory]  [multiple]   [inverse key]
   abuse-mailbox:  [optional]   [multiple]   [ ] **
   rev-srv:        [optional]   [multiple]   [inverse key]
   status:         [mandatory]  [single]     [ ]
   remarks:        [optional]   [multiple]   [ ]
   notify:         [optional]   [multiple]   [inverse key]
   mnt-by:         [mandatory]  [multiple]   [inverse key]
   mnt-lower:      [optional]   [multiple]   [inverse key]
   mnt-routes:     [optional]   [multiple]   [inverse key]
   mnt-domains:    [optional]   [multiple]   [inverse key]
   mnt-irt:        [optional]   [multiple]   [inverse key]
   changed:        [mandatory]  [multiple]   [ ]
   source:         [mandatory]  [single]     [ ]

   person:         [mandatory]  [single]     [lookup key]
   address:        [mandatory]  [multiple]   [ ]
   phone:          [mandatory]  [multiple]   [ ]
   fax-no:         [optional]   [multiple]   [ ]
   e-mail:         [optional]   [multiple]   [lookup key]
   abuse-mailbox:  [optional]   [multiple]   [ ] **
   org:            [optional]   [multiple]   [inverse key]
   nic-hdl:        [mandatory]  [single]     [primary/look-up key]
   remarks:        [optional]   [multiple]   [ ]
   notify:         [optional]   [multiple]   [inverse key]
   mnt-by:         [optional]   [multiple]   [inverse key]
   changed:        [mandatory]  [multiple]   [ ]
   source:         [mandatory]  [single]     [ ]

   role:           [mandatory]  [single]     [lookup key]
   address:        [mandatory]  [multiple]   [ ]
   phone:          [optional]   [multiple]   [ ]
   fax-no:         [optional]   [multiple]   [ ]
   e-mail:         [mandatory]  [multiple]   [lookup key]
   trouble:        [optional]   [multiple]   [ ]
   abuse-mailbox:  [optional]   [multiple]   [ ] **
   org:            [optional]   [multiple]   [inverse key]
   admin-c:        [mandatory]  [multiple]   [inverse key]
   tech-c:         [mandatory]  [multiple]   [inverse key]
   nic-hdl:        [mandatory]  [single]     [primary/look-up key]
   remarks:        [optional]   [multiple]   [ ]
   notify:         [optional]   [multiple]   [inverse key]
   mnt-by:         [optional]   [multiple]   [inverse key]
   changed:        [mandatory]  [multiple]   [ ]
   source:         [mandatory]  [single]     [ ]

   irt:            [mandatory]  [single]     [primary/look-up key]
   address:        [mandatory]  [multiple]   [ ]
   phone:          [optional]   [multiple]   [ ]
   fax-no:         [optional]   [multiple]   [ ]
   e-mail:         [mandatory]  [multiple]   [lookup key]
   abuse-mailbox:  [optional]   [multiple]   [ ] **
   signature:      [mandatory]  [multiple]   [ ]
   encryption:     [mandatory]  [multiple]   [ ]
   org:            [optional]   [multiple]   [inverse key]
   admin-c:        [mandatory]  [multiple]   [inverse key]
   tech-c:         [mandatory]  [multiple]   [inverse key]
   auth:           [mandatory]  [multiple]   [inverse key]
   remarks:        [optional]   [multiple]   [ ]
   irt-nfy:        [optional]   [multiple]   [inverse key]
   notify:         [optional]   [multiple]   [inverse key]
   mnt-by:         [mandatory]  [multiple]   [inverse key]
   changed:        [mandatory]  [multiple]   [ ]
   source:         [mandatory]  [single]     [ ]

   organisation:   [mandatory]  [single]     [primary/look-up key]
   org-name:       [mandatory]  [single]     [lookup key]
   org-type:       [mandatory]  [single]     [ ]
   descr:          [optional]   [multiple]   [ ]
   remarks:        [optional]   [multiple]   [ ]
   address:        [mandatory]  [multiple]   [ ]
   phone:          [optional]   [multiple]   [ ]
   fax-no:         [optional]   [multiple]   [ ]
   e-mail:         [mandatory]  [multiple]   [lookup key]
   abuse-mailbox:  [optional]   [multiple]   [ ] **
   org:            [optional]   [multiple]   [inverse key]
   admin-c:        [optional]   [multiple]   [inverse key]
   tech-c:         [optional]   [multiple]   [inverse key]
   ref-nfy:        [optional]   [multiple]   [inverse key]
   mnt-ref:        [mandatory]  [multiple]   [inverse key]
   notify:         [optional]   [multiple]   [inverse key]
   mnt-by:         [mandatory]  [multiple]   [inverse key]
   changed:        [mandatory]  [multiple]   [ ]
   source:         [mandatory]  [single]     [ ]

   mntner:         [mandatory]  [single]     [primary/look-up key]
   descr:          [mandatory]  [multiple]   [ ]
   org:            [optional]   [multiple]   [inverse key]
   admin-c:        [mandatory]  [multiple]   [inverse key]
   tech-c:         [optional]   [multiple]   [inverse key]
   abuse-mailbox:  [optional]   [multiple]   [ ] **
   upd-to:         [mandatory]  [multiple]   [inverse key]
   mnt-nfy:        [optional]   [multiple]   [inverse key]
   auth:           [mandatory]  [multiple]   [inverse key]
   remarks:        [optional]   [multiple]   [ ]
   notify:         [optional]   [multiple]   [inverse key]
   mnt-by:         [mandatory]  [multiple]   [inverse key]
   referral-by:    [mandatory]  [single]     [inverse key]
   changed:        [mandatory]  [multiple]   [ ]
   source:         [mandatory]  [single]     [ ]

Rows that are marked with '**' are additions to the templates.


 

Next Section
     About RIPE | Site Map | LIR Portal | About the RIPE NCC | Contact | Copyright Statement
RIPE.NET Homepage LIR Portal RIPE Community