public:frequently_asked_questions
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| public:frequently_asked_questions [2025/03/28 09:07] – removed - external edit (Unknown date) 127.0.0.1 | public:frequently_asked_questions [2025/08/21 06:06] (current) – admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | {{page> | ||
| + | |||
| + | ====For Existing Govroam Users==== | ||
| + | |||
| + | ===Q: Why doesn' | ||
| + | |||
| + | A: Firstly, the authentication request has to be made using EAP, not just a PAP or MSCHAP request. Secondly, until Jan 2018, the Root CA on the RADIUS server at the JISC end was a generic, self-signed one, but now is signed by QuoVadis. This used to require turning off certificate checking while testing but now shouldn' | ||
| + | |||
| + | ===Q: What's this about realm filtering? | ||
| + | |||
| + | A: In an ideal world the only unknown requests proxied from one RADIUS server to another would be those for realms which exist elsewhere. In practice though, most of the unknown requests don't contain a valid realm. For instance, a Camford (camford.org.uk) RADIUS server would forward a request for the holby.nhs.uk realm upwards and it would eventually arrive at the Holby RADIUS server but it would also forward cmford.org.uk, | ||
| + | |||
| + | The number of these non-valids can exceed the valid one by factors of thousands to one (mostly because of retries from the client) and can put a significant and unnecessary load on RADIUS servers. So applying rules on the ORPS to spot and remove these as early as possible is a great idea. It's impossible to catch everything but there are a few easy rules that can be implement: | ||
| + | |||
| + | - Null realms: where the end-user hasn't put a realm in. | ||
| + | - Syntactically valid realms: | ||
| + | - MUST contain at least one dot (" | ||
| + | - MUST NOT start or end with a dot, e.g. " | ||
| + | - MUST NOT have two or more sequential dots, e.g. " | ||
| + | - MUST consist only of alphanumeric, | ||
| + | - following on from the previous point the realm MUST NOT start or end with a space, e.g. " | ||
| + | - The regex " | ||
| + | - Misspelling of your local realms. If you know that a realm is very likely to be invalid re: cmford.org.uk then filter it out too. | ||
| + | -.local can be used locally but should never be forwarded on. | ||
| + | - Realms with aren't ever likely to be part of the federation: | ||
| + | * myabc.com | ||
| + | * 3gppnetwork.org (plus all subrealms thereof) | ||
| + | * 3gppnetworks.org (plus all subrealms thereof) | ||
| + | * gmail.com | ||
| + | * googlemail.com | ||
| + | * hotmail.com | ||
| + | * hotmail.co.uk | ||
| + | * live.com | ||
| + | * outlook.com | ||
| + | * yahoo.com | ||
| + | * yahoo.co.uk | ||
| + | * yahoo.cn | ||
| + | * unimail.com | ||
| + | |||
| + | In FreeRADIUS take a look at the ' | ||
| + | |||
| + | [[siteadmin: | ||
| + | |||
| + | ===Q: What value should I use in the Operator-Name field?=== | ||
| + | |||
| + | A: Normally it's the realm which the RADIUS server handles. If there are multiple realms then use the one which best identifies your site. The format is ' | ||
| + | |||
| + | ===Q: What monitoring should I have in place?=== | ||
| + | |||
| + | A: Generally that your choice and dependent on what you need from the service and what tools you have. | ||
| + | |||
| + | Options: | ||
| + | * ICMP (ping). The NRPS are pingable so you could ICMP for status checks and graphing of latency. | ||
| + | * Test account. Jisc have provided a test account and are happy for sites to use this as an ' | ||
| + | * Some RADIUS servers, FreeRADIUS for example, have methods for extracting usage data. FreeRADIUS uses the ' | ||
| + | * Processing of logs is a way of checking for problems. Checking for common failure messages, errors or server problems. Compiling or graphing statistics on various metrics (failed auths per realm, timeouts per server) can indicate systemic failure in certain areas. Tools like [[https:// | ||
| + | * If you're running a Federation then you might want/need to monitor the status and history of the sites you have connected. Many of the above approach can be used with remote RADIUS servers too. Status Server, if supported, is particularly useful for this. | ||
| + | |||
| + | ===Q: Identities seem to have been replaced with ' | ||
| + | |||
| + | A: EAP requests have inner and outer identities. Inner identities are something like ' | ||
| + | |||
| + | The Outer identity is visible to all RADIUS servers and is sent unencrypted on the wire. It used only as a way of routing RADIUS requests around the infrastructure. The username portion is unused and irrelevant. i.e. from ' | ||
| + | |||
| + | For security reasons it's strongly recommended that clients are configured with anonymous outer identities such as ' | ||
| + | |||
| + | To be clear, RADIUS proxies should proxy packets with outer of ' | ||
| + | |||
| + | ===Q: Can I use a hardware load balancer for the RADIUS servers?=== | ||
| + | |||
| + | The general advice is that it's not necessary and might not work anyway. | ||
| + | |||
| + | There are two issues to consider: | ||
| + | |||
| + | - There is a shared secret between each pair of RADIUS servers (ORPS/RRPS, RRPS/NRPS) so if you have 3 RRPS and 4 NRPS then that's 12 separate communication paths each with a shared secret. How does a load balancer deal with that? | ||
| + | - Whilst basic RADIUS authentications (PAP, MSCHAP etc.) are individual UDP requests which can be load balanced quite trivially, EAP uses a 12 way handshake which is stateful. Each authentication attempt has to happen between the same pair of RADIUS servers otherwise it will just fail. Thus load balancers have to be EAP-aware and configured accordingly. | ||
| + | | ||
| + | Most RADIUS servers have pretty decent load balancing built in anyway so putting an extra hardware layer in place wouldn' | ||
| + | |||
| + | ===Q: How do I configure Windows for client certificates=== | ||
| + | |||
| + | For proxying the Outer ID needs to be of the right format (@< | ||
| + | |||
| + | ===Q: Why are Zombies bad?=== | ||
| + | |||
| + | In RADIUS terms ' | ||
| + | |||
| + | This status monitoring is per pair of servers. If one site has four RADIUS servers and their neighbour has three then that means twelve pairings. Thus only twelve failed responses in a five minute period could mean that the neighbour site is completely unavailable. Once a RADIUS server has marked all its neighbours as down and there' | ||
| + | |||
| + | Without this monitoring process RADIUS servers wouldn' | ||
| + | |||
| + | This is why it is absolutely critical that all authentication attempts are responded to. | ||
| + | |||
| + | **Every single one.** | ||
| + | |||
| + | Where Jisc has a customer which is an individual member such failures as above only affect the users of that member. However, where the customer is a Federation the problem is much greater. | ||
| + | |||
| + | The Federation' | ||
| + | |||
| + | Whilst this all might sound like everything is in hand, it's not. | ||
| + | |||
| + | If a request originates at a member, let's say camford.ac.uk, | ||
| + | |||
| + | So, let's say that the holby.nhs.uk decides not to respond to the requests. After 30s the Scarfolk Fed RADIUS servers will mark the first holby.nhs.uk RADIUS server as a zombie. | ||
| + | |||
| + | BUT, and here is the real problem, Jisc's NRPS don't see a response coming back from the Scarfolk Fed's server so Jisc will mark the first Fed server as a zombie. Even Camford might then mark the first Jisc RADIUS server as down. | ||
| + | |||
| + | A Federation will have multiple members and thus lots of traffic. More members means they' | ||
| + | |||
| + | So it's imperative that Federations do everything they can do ensure that their members respond to every requests. | ||
| + | |||
| + | **Every single one.** | ||
| + | |||
| + | We ask that members don't do this sort of status monitoring on neighbours ' | ||
| + | |||
| + | The important message is that every RADIUS server should respond to every request, no matter what. No exceptions. No excuses. | ||
| + | |||
