Per Missions

23
FreeProxy Internet Suite Working with Permissions Document Version 1.0, 24 May 2007 Applies to Freeproxy Internet Suite V3.9 build 1632 or later

Transcript of Per Missions

 

 

 

 

 

 

FreeProxy Internet Suite Working with Permissions

 

 

 

 

 

 

 

 

 

 

 Document Version 1.0, 24 May 2007 Applies to Freeproxy Internet Suite V3.9 build 1632 or later

FreeProxy Internet Suite: Working with Permissions  

Contents 1 Purpose .................................................................................................................................................................1 2 Permissions, Resources and Authentication Overview .................................................................................2 3 Users and Groups ................................................................................................................................................3 3.1 Built in Groups ..............................................................................................................................................3 3.2 User defined groups .....................................................................................................................................3

4 Authentication .....................................................................................................................................................4 4.1 Is Authentication Necessary ? .....................................................................................................................4 4.2 Which Authentication Method ? .................................................................................................................4

5 Resources ..............................................................................................................................................................6 5.1 Resource attributes........................................................................................................................................6 5.2 HTTP Proxy Resource Types.......................................................................................................................6 5.3 Using wildcards.............................................................................................................................................8

6 Permission process ..............................................................................................................................................9 6.1 How the process works ................................................................................................................................9 6.2 The order of processing................................................................................................................................9 6.3 Processing logic .............................................................................................................................................9 6.4 Check Resources Function .........................................................................................................................10 6.5 Check permissions function.......................................................................................................................11

7 Examples and applications...............................................................................................................................12 7.1 Limiting access to all users to certain sites ..............................................................................................12 7.2 Limiting access to all sites with exceptions .............................................................................................12 7.3 Forcing users to authenticate – FreeProxy Users ....................................................................................13 7.4 Forcing users to authenticate – Windows Users .....................................................................................13 7.5 Working with Windows Groups...............................................................................................................14 7.6 Providing different levels of access ..........................................................................................................14 7.7 Restricting access based on IP address.....................................................................................................16 7.8 Restricting users from sharing credentials ..............................................................................................17 7.9 Other resource types for HTTP Proxy......................................................................................................17

8 Appendix: SOCKS .............................................................................................................................................19 8.1 Authentication Methods.............................................................................................................................19 8.2 Socks protocol ..............................................................................................................................................19 8.3 SOCKS resource permissions ....................................................................................................................19

 

V1.0, 24 May 2007 Page i 

FreeProxy Internet Suite: Working with Permissions  

Change History  Version  Date  Who  Comment 1  24 May 2007  Greg Robson‐Garth  Initial version        

 

 

V1.0, 24 May 2007 Page ii 

FreeProxy Internet Suite: Working with Permissions  

1 Purpose

The ability to control access to the internet is crucial for a number of reasons. The first is a reduction in internet costs by preventing unnecessary downloads, the second is to enable you, the Systems Administrator, to implement your company’s security policy and thirdly it is to help prevent unwanted access to an important resource both from within your intranet and from the “outside”.  

The purpose of this guide is to explain how to control access to the services provided by the FreeProxy Internet Suite (FIS). An understanding of the terminology and concepts will allow you to implement rigorous and precise access permissions. 

This document focuses on HTTP authentication. 

V1.0, 24 May 2007 Page 1 

FreeProxy Internet Suite: Working with Permissions  

2 Permissions, Resources and Authentication Overview

Before starting, you should be familiar with the terminology used in the FreeProxy Internet Suite. 

Authentication: Authentication is the process of ensuring that the userid and password you are using is valid. For HTTP, the context for authentication is usually a domain. If you authenticate using NTLM, then the context is a Windows domain. If authenticating using Basic or Digest, then you can name the domain. In the case of other protocols, then authentication will normally occur by simply validating that your user id and password is valid. Until such time as a user does authenticate they are given a substitute user id of “DefaultUser”.  

Resources: A resource is something over which you can exert control. For example, “access to the HTTP proxy” is a resource, “access to a particular URL” is a resource. All these resources provide some service to the end‐user. For each of these resources, you can control who uses the resource and the times during which they can be used. 

Resource Permission: A permission is the granting of a right of access to a particular user, for access to a particular resource at a particular time. The user may or may not be authenticated. In this document and other FreeProxy documentation this is known as either a Resource Permission (permission to for a user to access a particular resource) or simply a Permission. 

V1.0, 24 May 2007 Page 2 

FreeProxy Internet Suite: Working with Permissions  

3 Users and Groups

Users can be specified in FIS or they can be referenced from a Windows Domain controller. For all HTTP related operations, the user must be a member of a group. 

3.1 Built in Groups

“Built in” groups are defined in FIS and cannot be changed. There are 2 built‐in groups: 

AllUsers: All users including the “John Doe” of users “DefaultUser”, are a member of this group. 

WindowsUsers: Members of this group are users which have already successfully authenticated with a windows domain controller or Active Directory. 

3.2 User defined groups

All of the permission setting is done with groups and not users. There are 2 types of user‐defined groups. 

FreeProxy Groups: You can define a group in FreeProxy and give it a name. This group would only be known within the confines of FreeProxy. Users can be assigned to the groups and then the group can be used to specify who has permission to access a resource. 

Windows Groups: If you already have an established Windows Domain with a windows domain controller or Active Directory, you can “import” the group into FIS. This does not actually import the users into FreeProxy but rather registers the group name as one of the available groups you can use to assign to a resource permission. When the FreeProxy server program runs, it will import the users before starting and again at regular intervals. You specify the interval when importing the group. 

V1.0, 24 May 2007 Page 3 

FreeProxy Internet Suite: Working with Permissions  

4 Authentication

4.1 Is Authentication Necessary ?

Until such time as the web service or proxy (eg: FreeProxy) requests user credentials, the only identifying information associated with your HTTP message is your IP address; and this may be sufficient for an internal network where all access is the same for everyone. You can still lock out undesirable web sites but doing so locks out everyone without discrimination. You also cannot report on individual access and usage unless you can map an IP address to a user. 

So in answer to the question, “is authentication necessary ?”, it depends on whether you need user information or not, or, whether you need to grant specific access rights to specific individuals.  If you don’t, then authentication is not necessary and all users are named “Default Users”. If you do, then it is. 

4.2 Which Authentication Method ?

There are currently 3 authentication methods available in FreeProxy. 

Basic 

Digest 

NTLM 

In FreeProxy you can select any one or a combination of authentication methods. The client will be offered your selection and it will be up to the client to select the one it wants to use. If you only want to provide one choice only check one of the options. 

 Note: selecting an authentication method does not force authentication to occur. This is done when specifying Resource Permissions. It’s quite possible to allow some resources to be accessed without authentication and to force authentication to access to other resources. 

Basic

BASIC is a simple authentication method. It is considered insecure because the userid and password are not encrypted. They are encoded using an internet friendly encoding but can easily be reverted back to their original form. Nevertheless if you do not have a requirement for a secure web service, and you need 

V1.0, 24 May 2007 Page 4 

FreeProxy Internet Suite: Working with Permissions  

the user’s name, then this is quite adequate. A typical application would be a small office where you work in a workgroup and you do not have a domain controller or active directory. 

Digest

Digest authentication is very secure. With this method the user id and password are not sent to the web server but rather a “hash” of the userid and password are sent. So even with sophisticated tools, you cannot decipher the authentication data.  

The userid and password are not directly encrypted but rather a hash of the userid and password is encrypted. So you cannot convert the hash back to a readable userid and password. The authentication works by both the server and client creating the same encrypted hash. If the hash’s are the same, authentication is validated.  

For digest, the MD5 algorithm is used.  

NTLM

NTLM or NT Lan Manager authentication is based on a series of challenges and responses between the Server and the Client using Microsoft’s authentication method. The userid and password are again hashed in a complex exchange and finally the result is passed to the Active Directory or Domain controller which validates the hash data. NTLM is ONLY available in a network which has these facilities (AD and or a domain controller) and cannot be used without them.  

V1.0, 24 May 2007 Page 5 

FreeProxy Internet Suite: Working with Permissions  

5 Resources

5.1 Resource attributes

Resources, as previously mentioned, are the facilities you offer your users. Both the Port functionality (HTTP proxy, Socks Proxy, FTP proxy etc) and the Service functionality (Web server, POP and SMTP server) provide the ability to control access to its various features. 

For the HTTP proxy there are a number of possible points of control or Resource Types. Depending on the resource, you can also specify the following: 

Resource key: This is the actual resource instance you are trying control. In the case of a URL or path filter it’s the URL. Some resources such as the HTTP Proxy Service do not have a resource key.  

Permisssion; Forbidden or Granted: If the conditions are right, then this connection is either granted or forbidden access to the resource. 

Calendar: This specified the times during which the resource permission is active. This option refers to a calendar. 

User group: The group to which this resource permission applies. 

Must Authenticate: If this is not set, then the user is not challenged to authenticate. A detailed explanation of this is provided further on. 

 Note: For a particular resource permission to apply, the resource key, resource type, time of access and the user‐group must ALL match. If any these factors do not apply, then the whole resource does not apply. FreeProxy will not imply anything from this fact. If the resource permission applies, then it will act on the forbidden or granted indication. If the resource permission does not apply, it makes no further assumptions and ignores it completely. 

5.2 HTTP Proxy Resource Types

These are the resources you can control. 

HTTP Proxy Service: This resource controls access or entry to the HTTP Proxy service.  

V1.0, 24 May 2007 Page 6 

FreeProxy Internet Suite: Working with Permissions  

Full URI or Path Filter: This resource controls access to a URL. The URL starts at the first position after the “http://” and ends at the end of the complete URL. For example: 

  http://www.airliners.net/open.file?id=0876776& Start of URL End of URL

You can use wildcard characters to catch similar URLs. If you do not use wild cards FreeProxy will compare the actual URL requested by the client to the URL in this filter and if they do not precisely match from the “Start of URL” to the “End of URL” then the match will no be made. To have FreeProxy match on all URLs containing “www.airliners.net” you should specify www.airliners.net* in the search argument. See below for a discussion on search arguments and wildcards. 

Client IP Address: This resource pertains to the client IP address. This is the address FreeProxy will see when the connection is made. The client IP address is specified as a range. For example, 192.168.100.1 to 192.168.102.2 would include the whole 192.168.100.x, 192.168.101.x and the first 2 IP addresses of 192.168.102.x domains. This is a very secure way of limiting clients to only those on your local intranet for example and can be used in conjunction with other control types. 

FTP Over HTTP: Some browsers enable you to access FTP sites. You can allow or forbid this feature. 

Tunnel via HTTP: tunneling can occur using a browser or non‐browser client. A browser sets up a tunnel typically before switching to HTTPS. A non‐browser client can use the same HTTP connect command to connect to any server using the proxy to relay messages to and from the server and client. Once the connection is made to a remote server, the 2 parties do not necessarily need to communicate using the HTTP protocol. This feature can be allowed or forbidden. 

Userid IP Address Affinity: you may want to force the user to continue using the same IP address for a duration of time once logged on. This will prevent the user id from being shared. The duration is expressed in hours. 

Path and Filename filter: This is much like the URL filter: except it excludes the domain and anything after the path.   http://www.airliners.net/open.file?id=0876776& Start of Path End of Path

You must use wildcard characters unless you know the exact path.  

Ban List URL or IP Address: In addition to the filtering of IP addresses, URL and paths, you can also import a list of banned sites and IP addresses. This resource ties the ban list to this port definition and is required if you want the ban list to be used. You specify whether a ban list match results in a forbidden or allowed response. 

V1.0, 24 May 2007 Page 7 

FreeProxy Internet Suite: Working with Permissions  

5.3 Using wildcards

Wildcards can be used for URL and path filters. A common routine does all text searching. The only exception to this is the Ban list where an exact match on the IP address or URL is expected.  

 Note: You cannot use wildcards with Ban Lists. 

The following wild cards can be used. 

#: Any single digit &: Any single alpha character (a‐z or A‐Z) ?: Any single character *: Any number of characters (any character) ^: Compare using the next character. eg ^# will look for a ʹ#ʹ in the URL and not a single digit. ^^ will look for a single ^ 

 URL requested by client  Search argument  Result www.someplace.com/index.htm www.someplace.com Not Matched www.someplace.com/index.htm www.someplace.com* Matched www.someplace.com someplace.com Not Matched www.someplace.com *someplace.com Matched www.someplace.com www.someplace Not Matched www.someplace.com www.someplace* Matched www.someplace.com someplace Not Matched www.someplace.com *someplace* Matched www.badsite.com www.*.com Matched www.thisurl/*ss/%5/extra www.*^*ss/%#/extra Matched www.thisurl/*ss/%5/extra www.*%??&&&&& Matched www.thisurl/*ss/%5/ext99 www.*%??&&&&& Not Matched

 

V1.0, 24 May 2007 Page 8 

FreeProxy Internet Suite: Working with Permissions  

6 Permission process

6.1 How the process works

The permission process works from top to bottom in the order of permissions specified within the same resource type. Regardless of whether you specify the URL filter before the HTTP proxy service permission, the HTTP proxy service permission is processed first. However, within one resource type, permissions are processed in the order specified. 

 Note: If no permissions are specified, everyone has access to everything at all times. You do not need to specify any permissions to enable access. You only use permissions to constrain access.  

6.2 The order of processing

Resources are processed in the following order: 

 1. Client IP Address 2. HTTP Proxy Service 3. IP Address affinity 4. URL and path filter 5. Path filter 6. Ban lists 7. FTP over HTTP  

 All permissions of one type are processed before processing the next type. Within any one type, the permissions are processed in the order specified. 

6.3 Processing logic

The processing logic is presented here in the form of 2 flowcharts. Each flowchart is explained. A number of examples are presented in the next section. 

V1.0, 24 May 2007 Page 9 

FreeProxy Internet Suite: Working with Permissions  

There are 2 flowcharts. 

1. Check Resources: This loops through all the resources of one type checking the whether the permission applies and resulting in one of 3 results. 

2. Check Permissions: Checks whether one resource applies. 

6.4 Check Resources Function

This function is called for each resource type. For example when processing the URL or Path Filter, this function reads all the resources for this type in the order specified. 

For each resource of this type, it calls the “Check Permissions” function. On return, it checks whether Check Permissions has made an exact match. If it has, the function will return with Granted or Forbidden. Otherwise, it will ignore the resource (“not found”) or remember the fact that the resource permission requested authentication. 

V1.0, 24 May 2007 Page 10 

FreeProxy Internet Suite: Working with Permissions  

6.5 Check permissions function

The check permissions function checks the one permission passed to it. If there is a match to the URL (in the case of the URL/Path filters) and the time is within the time of the calendar if applicable, and the user is in the group specified, then  simply return with Granted/Forbidden as specified. If not, and authentication is required and the user has not yet authenticated, then the client is challenged. If the user has already authenticated, and its not in the group, then this permission does not apply to this user and the next resource will be examined. 

 

 

V1.0, 24 May 2007 Page 11 

FreeProxy Internet Suite: Working with Permissions  

7 Examples and applications

Here follows a number of examples starting with some simple applications and progressively getting more complex. 

7.1 Limiting access to all users to certain sites

Access can be limited for all users without discrimination. Normally you limit URLs or IP addresses to all users. 

 Sq  Resource Type  Key  Group  F/G  When  Auth ? 1  URL or path filter  www.badsite1*  AllUsers  F  ‐  N 2  URL or path filter  www.badsite2*  AllUsers  F  ‐  N 

In this example, 2 sites are forbidden (F/G or Forbidden/Granted) = Forbidden. Authentication is not required. Access by default is allowed to all other sites. 

7.2 Limiting access to all sites with exceptions

All users can be blocked from all sites with some exceptions. 

 Sq  Resource Type  Key  Group  F/G  When  Auth ? 1  URL or path filter  www.allowedsite1*  AllUsers  G  ‐  N 2  URL or path filter  www.allowedsite2*  AllUsers  G  ‐  N 3  URL or path filter  *  AllUsers  F  ‐  N 

This scenario allows users to only access sites www.allowedsite1 or www.allowedsite2. All other sites are forbidden. Effectively it’s the reverse of 7.1.  

FreeProxy will process all the same resource type in order starting with Sequence (Sq) 1. It checks whether the URL matches the Key. Note the use of the “*”. If the key does not match it then tries Sq 2. Again if there is no match it tries Sq 3. The last permission is a “catch‐all” meaning that it is guaranteed to always match. You can use any number of resources, up the current limit allowed, in the list of permissions. 

V1.0, 24 May 2007 Page 12 

FreeProxy Internet Suite: Working with Permissions  

7.3 Forcing users to authenticate – FreeProxy Users

A simple authentication schema can be set up using either windows users or built in users. In the first example, you create users and assign them to groups as follows 

Group: ProxyGroup 

Users: Tom, Mary, George 

You create the 3 users and assign them to ProxyGroup, set up the port, indicate Proxy Authentication is required together with the BASIC authentication type. 

Now you want to ensure that only Tom, Mary and George use the proxy:  Sq  Resource Type  Key  Group  F/G  When  Auth ? 1  HTTP Proxy Service  ‐  ProxyGroup  G  ‐  Y 2  HTTP Proxy Service  ‐  AllUsers  F  ‐  N 

The first permission is used to determine whether the user logged on is one of the 3 favoured ones. If the user has not been authenticated, as it would not be the first time a message is received, then “DefaultUser” will not be a part of the ProxyGroup however because authentication is required (Auth? = Yes), then FreeProxy will challenge the user for a user id and password.  

When a userid and password is received, again the list is traversed. If the user and password are valid, and if the user is one of the 3, that is a member of ProxyGroup, access will be Granted. If the user has authenticated and not part of the group, Sq 1 permission simply does not apply. When processing Sq 2, this permission applies, (every user is a member of AllUsers) and the user is then forbidden access. 

In simple words,  

• the first permission will grant access to authenticated users who are a member of the ProxyGroup 

• the second permission will disallow access for all other users  

Note that without the second permission, if the user is not part of the ProxyGroup, by default, all users have access to everything. The “catch‐all” is required in this case. 

7.4 Forcing users to authenticate – Windows Users

In this second example, users are defined in the Domain Controller or Active Directory. Essentially the processing is the same.  

 Sq  Resource Type  Key  Group  F/G  When  Auth ? 1  HTTP Proxy Service  ‐  WindowsUsers  G  ‐  Y 

V1.0, 24 May 2007 Page 13 

FreeProxy Internet Suite: Working with Permissions  

2  HTTP Proxy Service  ‐  AllUsers  F  ‐  N 

The only change here is the fact that for a user to gain access to the HTTP proxy service, the user must have authenticated using NTLM. You would also have indicated that the NTLM authentication method was required when setting up the port definition.  

In Sq 1, if the user has not yet authenticated, then they are challenged. If using Internet Explorer, and you are logged into the domain or have previously accessed any of the domain resources by filling in a userid and password, then the authentication will occur silently, without a dialog box requesting your userid and password. 

If authentication is successful, then the user is automatically a member of the WindowsUsers group and will therefore be granted access. If authentication is not successful, the user is forbidden access at Sq 2. 

7.5 Working with Windows Groups

You can manage all authentication using Windows Groups. Both users and groups can be defined and managed in the Active Directory and included into FreeProxy. You can specify which windows groups you want to participate in FreeProxy access by selecting Users from the Control Centre and then Import Windows Groups. From there you can select the groups you want to import. 

 Note: FreeProxy does not import the list of users until the server process starts. Only then is the user list accessed. All users in the groups specified are imported. This is to ensure that the proxy works and maximum speed and that there is no network latency for each authentication. 

Windows groups have the format domain\groupname. Because these are windows users, you should also only use NTLM for this to work.  

 Sq  Resource Type  Key  Group  F/G  When  Auth ? 1  HTTP Proxy Service  ‐  Rand\ProxyGroup  G  ‐  Y 2  HTTP Proxy Service  ‐  AllUsers  F  ‐  N 

In a similar way to previous examples, only those users who are member of the ProxyGroup in the Rand domain will be allowed access. 

7.6 Providing different levels of access

A typical requirement is to allow some users access to some sites and other access to other sites. Possibly, a super user with access to everything. 

V1.0, 24 May 2007 Page 14 

FreeProxy Internet Suite: Working with Permissions  

For this example, we can create 3 Domain groups.  

• ProxyAdmin 

• ProxySales 

• ProxyFactory 

The ProxyAdmin group has access to everything. ProxySales users has access to some product related sites and the Proxy Factory only has access to a database of product specifications. Everyone has access to the Union site. No one is allowed access to banned sites. 

 Sq  Resource Type  Key  Group  F/G  When  Auth ? 1  URL or Path filter  www.Rand.org/products*  Rand\ProxySales  G  ‐  Y 2  URL or Path filter  *  Rand\ProxyAdmin  G  ‐  Y 3  URL or Path filter  www.Rand.org/specifications*  Rand\ProxyFactory  G  ‐  Y 4.  URL or Path filter  www.WorkersUnion*  AllUsers  G  ‐  Y 5.  Ban List URL/IP  ‐  AllUsers  F  ‐  N 6.  URL or Path filter  *  AllUsers  F  ‐  N 

This is a more complicated scenario. It allows for 3 levels of access.  

Assume Tom is a member of the ProxyAdmin group, George is in Sales and Mary works in the factory. 

Tom will be allowed to access everything because of Sq 2. As soon as a match is found in any one type (in this case URL or Path filter), then FreeProxy will observe the Forbidden or Granted indication. For Tom, no match is made with Sq 1, so Sq 2 is tried. Here there is a match and the searching within the URL or Path filter stops.  The next resource type in the list is the Ban List and this applies to all users. If Tom attempts to access one of the banned sites, he will be forbidden. 

George of Sales, attempts to access www.myspecialsite.com. No match is made with the URL key in Sq 1 even though he is a member of the group. He is not a member of the group in Sq 2 nor Sq 3. The URL key does not match in Sq 4. Note that while processing URL and Path filters, Sq 5 is not processed yet. There is a match in Sq 6 to both the user (all users including George are members of the AllUsers group) so George’s access is blocked and he cannot retrieve the page for www.myspecialsite.com. 

If George attempts to retrieve www.Rand.org/products/type=widget, then he will get access as the URL and user match their respective criteria. 

In the same way, Mary can access the Workers Union site, and the product specifications.  

V1.0, 24 May 2007 Page 15 

FreeProxy Internet Suite: Working with Permissions  

7.7 Restricting access based on IP address

This permission can be used in addition to any other permission. It is more a network security feature than an access control. You cannot provide different access to different users based on IP address but you can limit the subnets you want to allow access to the service. 

 Sq  Resource Type  Key  Group  F/G  When  Auth ? 1  Client IP Address  192.168.1.40‐192.168.1.85  AllUsers  G  ‐  N 2  Client IP Address  192.168.2.56‐192.168.2.255  AllUsers  G  ‐  N 3.  Ban List URL/IP  ‐  AllUsers  F  ‐  N 4  Client IP Address  0.0.0.0‐255.255.255.255  AllUsers  F     

 

Only users in the 2 IP domains have access. You must use the catch all as, as mentioned before, all users have access to all facilities unless specifically forbidden. A user with IP address 192.168.2.82 has an acceptable IP address as it falls in the range of Sq 2. A user with the IP address 192.168.100.2 does not fall within either range but does get “caught” by Sq 4. Remember, all resources of the same type are processed together.  

The next permission in order to be processed is the Ban List. As long the URL or IP the user wishes to access is not listed, they will get access.  

You will notice in this example authentication was not required. It may have been sufficient for the administrator of this system to simply allow everyone access as long as their connection came from the selected IP domains and they were not attempting to view undesirable sites. You could also add to this scenario, the requirement to authenticate as follows: 

 Sq  Resource Type  Key  Group  F/G  When  Auth ? 1  Client IP Address  192.168.1.40‐192.168.1.85  AllUsers  G  ‐  N 2  Client IP Address  192.168.2.56‐192.168.2.255  AllUsers  G  ‐  N 3.  Ban List URL/IP  ‐  AllUsers  F  ‐  N 4  Client IP Address  0.0.0.0‐255.255.255.255  AllUsers  F    N 5  HTTP Proxy Srvc  ‐  Rand\ProxyUsers  G    Y 6  HTTP Proxy Srvc  ‐  AllUsers  F    N 

As mentioned previously the first check to be done will be the Client IP Address. If that passes then access to the HTTP Proxy Service is checked, and the user is prompted for authentication details. Again the catch‐all is used. This order is still observed even thought the HTTP Proxy Service permission appears at the end of the list. Finally The Ban List is checked. In plain English, this set of permissions reads, 

“ only users in the ProxyUsers group, in the defined subnet range are allowed access and then only to non‐banned sites”. 

V1.0, 24 May 2007 Page 16 

FreeProxy Internet Suite: Working with Permissions  

7.8 Restricting users from sharing credentials

This is a means you can use to restrict users from sharing their logon credentials. It will certainly discourage the activity but not prevent it. It requires authentication. 

If a user logs on in say a hotel room, you would want to force that user to only log on from that location for a period of time. Users attempting to access the internet from a different location using the same credentials will be blocked. The key in this case is the duration in hours until the user can log on from a different location. 

 Sq  Resource Type  Key  Group  F/G  When  Auth ? 1  UserId/IP address affinity  0  Admin  AllowAny  ‐  Y 2  UserId/IP address affinity  24  AllUsers Force Same  ‐  N 

In plain English,  

“members of the admin group are not forced to use the same IP address for all accesses. All other users cannot log on from any other location for 24 hours after first making contact with the proxy”. 

If the user has not authenticated, then when FreeProxy checks the first permission, and the user is not part of the admin group, then it will authenticate.  

7.9 Other resource types for HTTP Proxy

Tunnel via HTTP: Include this in the list to limit the ports that can be used to tunnel via FreeProxy. HTTPS uses port 443 and some telnet clients can tunnel though http using port 23. 

Path and Filename Filter:  Effectively the same as URL and Path filter however only the path is checked and not the preceding hostname not any appended data 

FTP over HTTP: Enables you to bar FTP access 

These types can be added into any scenario. 

V1.0, 24 May 2007 Page 17 

FreeProxy Internet Suite: Working with Permissions  

V1.0, 24 May 2007 Page 18 

FreeProxy Internet Suite: Working with Permissions  

8 Appendix: SOCKS

8.1 Authentication Methods

There are two authentication methods available with Socks.  

• Socks version 4/4a 

• Socks version 5 

8.2 Socks protocol

The SOCKs proxy listens for connections and can process either SOCKs 4 or 5 style connections. The client chooses the protocol however FreeProxy allows you to enforce SOCKs 5 is you need to. 

In the initial handshake between the client and Freeproxy, the client sends a message containing either a “4” or “5” representing the protocol version.  

For version 4, the only identification data that can possibly be sent is the user id. Socks 4 does not have a password field. 

In version 5, you can optionally send a userid and password. 

8.3 SOCKS resource permissions

In the Socks Port definition, you determine the following: 

Users Must Authenticate ?: Because the protocol works somewhat differently to HTTP, you set the option for authentication on the port. This same option in the individual resource permissions are not active and have no effect. You set this option for the whole port.   

Socks V5 Only ?: To force the use of Socks 5 check the check box. When checked, FreeProxy will return an error if the user attempts to use any other protocol version. 

V1.0, 24 May 2007 Page 19 

FreeProxy Internet Suite: Working with Permissions  

Full URI or Path filter: This resource permission compares the host name requested by the client to the URI or Path argument specified. Remember this ONLY concerns the initial connection to the end point and does not include a full URL. It is only the hostname. The usual need for a wild card applies. 

Socks 4/4a/5 Service: Allows or forbids access to SOCKs in the usual way. 

Client IP address: Can be used to limit the client IP addresses allowed to connect to the SOCKs proxy. 

 

 

 

 

 

 

 

 

V1.0, 24 May 2007 Page 20