Govroam

The Roaming solution for the public sector

User Tools

Site Tools


siteadmin:realm_filtering

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
siteadmin:realm_filtering [2019/12/05 10:42] adminsiteadmin:realm_filtering [2019/12/05 10:51] (current) admin
Line 74: Line 74:
 check_bad_realms { check_bad_realms {
         if (&User-Name) {         if (&User-Name) {
-                ## reject usernames that end with realms that are never going to be govroa +                ## reject usernames that end with realms that are never going to be govroam/eduroam realms
-m/eduroam realms+
                 ## is there a way to automate this??!                 ## is there a way to automate this??!
  
Line 81: Line 80:
                 if (&control:Proxy-To-Realm =~ /^PROXY-JANET-EDUROAM$/)                 if (&control:Proxy-To-Realm =~ /^PROXY-JANET-EDUROAM$/)
  
-                        if (&User-Name =~ /mattstone\.net$/) {+                        if (&User-Name =~ /test\.net$/) {
                                 update request {                                 update request {
                                         &Module-Failure-Message += 'Rejected: Bad Realm'                                         &Module-Failure-Message += 'Rejected: Bad Realm'
Line 110: Line 109:
  
                 ## stuff here will be matched for both govroam and eduroam                 ## stuff here will be matched for both govroam and eduroam
 +                ## Common realm provided by phone manufacturers by default
                 if (&User-Name =~ /3gppnetwork\.org$/) {                 if (&User-Name =~ /3gppnetwork\.org$/) {
                         update request {                         update request {
Line 117: Line 117:
                 }                 }
  
 +                ## Username is not an email address.
                 if (&User-Name =~ /gmail\.com$/) {                 if (&User-Name =~ /gmail\.com$/) {
                         update request {                         update request {
Line 123: Line 124:
                         reject                         reject
                 }                 }
 +                ## Ends in '.'
                 if (&User-Name =~ /bath\.ac\.uk.+$/) {                 if (&User-Name =~ /bath\.ac\.uk.+$/) {
                         update request {                         update request {
Line 131: Line 132:
                 }                 }
  
-                if (&User-Name =~ /ac$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /ax.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
-                if (&User-Name =~ /sc.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /a[cx].edu$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
  
 +            
 +                ## Ends in a single character - all TLDs are 2+ characters.
                 if (&User-Name =~ /\.[a-z0-9]$/) {                 if (&User-Name =~ /\.[a-z0-9]$/) {
                         update request {                         update request {
Line 165: Line 142:
                 }                 }
  
-                if (&User-Name =~ /bath$/) { +                ## All subrealms should have more than one character
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
- +
-                if (&User-Name =~ /bath\.a$/) { +
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
- +
-                if (&User-Name =~ /bath\.sc$/) { +
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
- +
-                if (&User-Name =~ /ac\.bath\.uk$/) { +
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
- +
-                if (&User-Name =~ /unibath\.ac\.uk$/) { +
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
                 if (&User-Name =~ /\.[a-z0-9]\.uk$/) {                 if (&User-Name =~ /\.[a-z0-9]\.uk$/) {
                         update request {                         update request {
Line 207: Line 150:
                 }                 }
  
-                if (&User-Name =~ /bath\.a[a-z]$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
-                if (&User-Name =~ /bath\.actually\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /back\.ac\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /\.uk[a-z0-9]$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
  
 +                ## Misspellings and misunderstandings
                 if (&User-Name =~ /ac\.uk\.com$/) {                 if (&User-Name =~ /ac\.uk\.com$/) {
                         update request {                         update request {
Line 248: Line 166:
                 }                 }
  
-                if (&User-Name =~ /ba[a-z0-9]\.ac\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /@ath\.ac\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /@th\.ac\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /@h\.ac\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /\.bat[a-gi-z0-9]\.ac\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
-               if (&User-Name =~ /\.ba[a-gi-z0-9]\.ac\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /\.b[b-z0-9]th\.ac\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /bathuni\.co\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /@bucs\.ac\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /ac\.co\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /bucs\.co\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /eis2win\.co\.uk$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /\.ba[a-z0-9]$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
- 
-                if (&User-Name =~ /@.*\.[a-z0-9]ac\.uk/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
  
                 if (&User-Name =~ /@ac\.uk$/) {                 if (&User-Name =~ /@ac\.uk$/) {
Line 352: Line 174:
                 }                 }
  
 +                ## Starts with a '.'
                 if (&User-Name =~ /\.bath\.ac\.uk$/) {                 if (&User-Name =~ /\.bath\.ac\.uk$/) {
                         update request {                         update request {
Line 358: Line 181:
                         reject                         reject
                 }                 }
 +                
 +                ## Some typical inappropriate realms.
                 if (&User-Name =~ /@myabc\.com$/) {                 if (&User-Name =~ /@myabc\.com$/) {
                         update request {                         update request {
Line 429: Line 254:
  
                 if (&User-Name =~ /blueyonder\.co\.uk$/) {                 if (&User-Name =~ /blueyonder\.co\.uk$/) {
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
-                if (&User-Name =~ /@bath\.ac\.[a-z0-9][a-jl-z0-9]$/) { 
                         update request {                         update request {
                                 &Module-Failure-Message += 'Rejected: Bad Realm'                                 &Module-Failure-Message += 'Rejected: Bad Realm'
Line 441: Line 260:
                 }                 }
  
-                if (&User-Name =~ /@bath\.com$/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
  
-                if (&User-Name =~ /@.*bath\.edu/) { 
-                        update request { 
-                                &Module-Failure-Message += 'Rejected: Bad Realm' 
-                        } 
-                        reject 
-                } 
  
-                if (&User-Name =~ /@bath\.ac\.com$/) { +       } else {
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
- +
-                if (&User-Name =~ /@bath\.org$/) { +
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
- +
-                if (&User-Name =~ /@bath\.ac\.org$/) { +
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
- +
-                if (&User-Name =~ /@bath\.uk\.ac$/) { +
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
- +
-                if (&User-Name =~ /@bathuniversity\.co\.uk$/) { +
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
- +
-                if (&User-Name =~ /@bath\.ac[a-z0-9]\.uk$/) { +
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
- +
-                if (&User-Name =~ /@bath[a-z0-9]\.ac\.uk$/) { +
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
- +
-                if (&User-Name =~ /@bath\.[b-z0-9][a-z0-9]\.uk$/) { +
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
-                if (&User-Name =~ /@bath\.[a-z0-9][a-bd-z0-9]\.uk$/) { +
-                        update request { +
-                                &Module-Failure-Message += 'Rejected: Bad Realm' +
-                        } +
-                        reject +
-                } +
- +
- +
- +
- +
- +
- +
- +
- +
- +
-        } else {+
                 update request {                 update request {
                         &Module-Failure-Message += 'Rejected: erm... WTF?!'                         &Module-Failure-Message += 'Rejected: erm... WTF?!'
Line 534: Line 271:
  
 </code> </code>
 +
 +Many thanks to Matt Richards from Bath University for this code.
siteadmin/realm_filtering.1575542525.txt.gz · Last modified: 2019/12/05 10:42 by admin