Given by Sangmi Lee at Tango Group Internal Technology Seminars on Feb 19 99. Foils prepared May 19 99
Outside Index
Summary of Material
Outside Index Summary of Material
Sangmi Lee |
TANGO Interaction |
Feb.19,1999 Syracuse University |
Authentication : Process of reliably verifying the identity of someone or something |
Authorization : Permission to access a resource |
Integrity : Correctness, A system protects the integrity of data if it prevents unauthorized modification |
SOCKS is a proxy protocol for client/server environments |
SOCKS includes, |
The SOCKS server |
The SOCKS client library |
Proxy server makes a connection to the application server for the client. |
Proxy server relays data between the client and the applications server. |
Client |
Real Server |
Proxy Server |
Perceived |
Actual |
Application - Level Proxy |
Circuit - Level Proxy |
SOCKS is a networking proxy protocol that enables hosts to gain full access to the Internet, while preventing unauthorized access. |
SOCKS server authenticates and authorizes the requests, establishes a proxy connection, and relays data |
Application |
Transport |
Transport |
Application |
Transport |
Physical |
Physical |
Physical |
Client |
SOCKS |
Server |
HTTP Server |
Telnet Server |
Telnet Client |
HTTP Client |
GATE |
Internet |
The SOCKS server runs on the gate and allows clients inside the |
firewall to communicate with servers outside the firewall |
Secure firewall traversal Support for user Datagram Protocol as well as Transmission Control Protocol applications |
Support for a range of authentication, encryption, tunneling and key management schemes |
Extremely flexible access controls Unified and coherent policy management |
The SOCKS server |
The SOCKS client library for UNIX machine |
SOCKS-ified versions of standard UNIX client programs |
SOCKS intercepts the connection attempts |
Establish the connection |
SOCKS client sends information |
--Version number |
--Connect request command |
--Port number to which the client requested to connect |
--IP address to which the client requested to connect |
--Username of the person initiating request |
Checks its access control list |
Decide accepted or rejected |
Open connection/Close connection |
Application Client |
SOCKS v5 |
Application Server |
Send method |
herald |
Check the policy |
Verify the method |
Send chosen |
method |
Authentication |
process |
Authentication |
process |
Send proxy |
request |
Check proxy |
status |
Application |
protocols |
Process the |
request |
Setup proxy |
circuit |
Send circuit |
status |
Data relay |
Accept |
Connection |
Application |
protocol |
SOCKS V5 |
SOCKS V4 |
The program should be modified to talk to the SOCKS server. |
Programmer should replace all calls to standard network functions with calls to the SOCKS versions of those functions. |
The program should be recompiled. |
Standard Network Function |
connect() |
getsockname() |
bind() |
accept() |
listen() |
select() |
SOCKS Version |
Rconect() |
Rgetsockname() |
Rbind() |
Raccept() |
Rlisten() |
Rselect() |
socks.h in /usr/local/lib |
The SOCKS5 Internet Access Management Framework provides a comprehensive Application Programming Interface(API) |
-- Special authentication and encryption methods |
--Application protocol/content filters |
-- Security policy definition modules |
Adding a few micro definitions to the CFLACS in Makefile |
-Dconnect = Rconnect |
-Dgentsockname=Rgetsockname |
-Dbind=Rbind |
-Daccept=Raccept |
-Dlisten=Rlisten |
Dselect=Rselect |
"identd" allows SOCKS server to identify what user is controlling the port that the connection comes from. |
"identd"(RFC1413) is used when user want to control access by user. |
WinSock DLL extensions enable WinSock-based applications to use SOCKS. |
--SocksCap from NEC |
--AutoSOCKS from Aventail |
--Hummingbird's SOCKS Client from Hummingbird |
User based authentication |
Intrusion/Extrusion Detection |
Content/Protocol Filtering |
Address Hiding |
Support for IP Multicast-enabled clients |
Improved Integration with Ipsec |
Improved Management |
--remote deployment of SOCKS client package |
Improved Performance |