Deben Oldert пре 10 година
родитељ
комит
d80a0130ee
1 измењених фајлова са 52 додато и 0 уклоњено
  1. 52 0
      ARS Server/README.md

+ 52 - 0
ARS Server/README.md

@@ -0,0 +1,52 @@
+# Extension DLL for the ARS server
+The ars exists of 2 types:
+
+1. VPN server, running RRAS
+2. RADIUS server, running NPS
+
+When the user tries to connect through VPN, the credentials are send by a RADIUS packet to the RADIUS server.  
+On the RADIUS server is an extra extension loaded to make sure the 2nd authentication step is used. (Using the app).  
+The RADIUS server responds within 30 seconds with the answer to the VPN server (Access granded or denied).
+
+## VPN server (PPTP)
+This server is partitialy open the the internet. One port is configured in a DMZ zone, others are connected the the secure company network.  
+The VPN server has the following configurations:
+
+- Use RADIUS for accounting and authentication
+- Connect to the RADIUS server
+- RADIUS packet timeout is set to 40 seconds (!!IMPORTANT!!)
+- Registered to the company domain
+
+## NPS server (RADIUS)
+On this server the actual authentication is done.  
+First the server checks if the provided credentials are correct.  
+If correct, the extension will start.  
+*The extension ALWAYS returns an answer (accept or reject)*  
+The extension can responde is 3 ways:
+
+1. Accept
+2. Reject
+3. Discard (Not actualy responding)
+
+The extension is configured to NEVER answer with a discard message, as the NPS doens't forward the discard message back to the VPN server.  
+This will be seen as a timeout by the VPN server, so it tries agian after 40 seconds.  
+By that time most devices (computer trying to connect to VPN) automaticaly hang up because they timed out.  
+Thats why the extension ALWAYS responds with a reject message, except when the user granded access ofcourse.  
+Here a list of possible scenarios with can occur to the extension:
+
+- User granded access                       ==> Access accept
+- User denied access                        ==> Access reject
+- User timed out (no response in 30 sec.)   ==> Access reject
+- SAS server error (HTTP 500, 404, etc.)    ==> Access reject
+- SAS responds with other code than 0       ==> Access reject
+- SAS responds with no content body         ==> Access reject
+- SAS responds with invalid JSON body       ==> Access reject
+
+The Extension also logs the activity to a log file. The directory is hard coded to ```C:\Temp\NPS.log.txt```.  
+It logs:
+
+- New connection request and with what credentials and IP address
+- POST to SAS FAILED, with what error code
+- POST to SAS succeeded with a valid response, also what the response code was (Provided by SAS)
+
+This allows the system administrator to see if there is an hacker trying to connect and to determine if the hacker must be banned.