Lecture 9 - cda college
Download
Report
Transcript Lecture 9 - cda college
Application
Services
COM211 Communications and Networks
CDA College
Theodoros Christophides
Email: [email protected]
www.cdacollege.ac.cy/site/info-com-technology-ll/
Application Services
Domain Name Service
Proxy Service
Mail Service
Web Service
SSH
DNS – Domain Name System
A DNS server maintains the name to IP address mapping of
the domain for which it is the name server.
The DNS server for a domain is registered with the domain
registrar and the entry is maintained by the Internet RootServers (13) or Country Level Root-Servers.
Whenever a server is queried, if doesn’t have the answer,
the root servers are contacted.
The root servers refer to the DNS server for that domain (in
case the domain is a top level domain) or the Country Root
Server (in case the domain is country level domain).
Internet Naming Hierarchy
The silent dot at the
end of all addresses
.com
.net
.org
.tcd
.in
.ac
.iitk
www
www
.co
Proxy
A proxy is a host which relays web access
requests from clients
Used when clients do not access the web directly
Used for security, logging, accounting and
performance
browser
proxy
web
Connections
ISP
networ
k
ISP
networ
k
Backbone
networks
Bandwidth-limited
links
ISP
network
Customer Networks
Customers connect to
an ISP
ISPs connect to
backbone
Internet Connections
Cost of connections is based on bandwidth
Cost of connection is a major part of network cost
Organisations only obtain as much bandwidth as they
can afford
Many organisations in Asia-Pacific only have 64kb/s –
2Mb/s connections (as compared to their counterpart
in US and Europe who have bandwidths of 2.4 Gbps –
10 Gbps)
What is Web Caching?
Storing copies of recently accessed web
pages
Pages are delivered from the cache when
requested again
Browser caches
Proxy caches
Why Cache?
Shorter response time
Reduced bandwidth requirement
Reduced load on servers
Access control and logging
Popular Proxy Caches
Apache proxy
MS proxy server
WinProxy
Squid
Squid
is popular because it is powerful,
configurable and free
Many others
Web Server
HTTP (Hyper Text Transfer Protocol) is used to transfer
web pages from a Web Server to Web Client (Browser)
Web Pages are arranged in a directory structure in the
Web Server
HTTP supports CGI (Common Gateway interface)
HTTP supports Virtual Hosting (Hosting multiple sites on
the same server)
Popular Web Servers
Apache
Windows IIS
IBM Websphere
Web Server
Email
Internet
Mail
Server
Mail Client
Mail
Server
Mail Client
Mail Architecture
Mail Architecture
Simple Mail Transfer Protocol (SMTP) is used to
transfer mail between Mail Servers over Internet
Post Office Protocol (PoP) and Interactive Mail
Access Protocol (IMAP) is used between Client
and Mail Server to retrieve mails
The mail server of a domain is identified by the
MX record of that domain
Popular Mail Servers
Sendmail/Postfix
Microsoft Exchange Server
IBM Lotus
Email
SSH – Secure Shell
SSH is a secure remote virtual terminal application
Provides encrypted communication between untrusted hosts over an
insecure network
Intended to replace insecure programs such as rlogin, rsh, etc.
Includes capability to securely transfer file
Assumes eavesdroppers can hear all communications between hosts
Provides different methods of authentication
Encrypts data exchanged between hosts
SCP
Includes ability to forward X11 connections and TCP ports securely
Very popular and widely used
Not invulnerable!
Authentication in SSH1
Three means of authenticating supported by SSH
Simple rhosts
Host based
Use RSA to verify host keys
Use ~/.rhosts file for user authentication
Host and user based
User/system names in ~/.rhosts, ~/.shosts
Vulnerable to IP/DNS spoofing
Requires specific compilation for this mode of operation
RSA host key verification
RSA user key verification
If authentication fails, client is prompted for password
All communication is encrypted
SSH1 Key Exchange Protocol
Server has public/private key pair
Client knows server’s public key
Must be sent securely in advance
Server sends public key and random server key
to client
Client
in advance
verifies public key
Client sends random session key encrypted with
host and server key
Rest
of session is encrypted with session key
SSH2 Key Exchange Protocol
Diffie-Hellman public key exchange algorithm is used
Digital signature verifies identity of server to client
At the end of the key exchange, a secret key is shared
Public key exchange algorithm – very cool
Two users can exchange a secret key over and insecure link
without sharing any prior secrets (!)
Used for encrypting the rest of the session
Supports MD5 checksums for data integrity
Supports a variety of encryption mechanisms
IDEA (default), Blowfish, DES, Triple DES, …
SSH in Practice
Host public/private key is generated when SSH is installed
ssh-keygen command is used to generate users public/private keys
Can be used to securely access insecure application eg. SMTP
Can be used to circumvent firewalls
Available as open source software
Requires user enter a pass phrase
Public key copied to ~/.ssh/authorized_keys on remote systems
Ssh-agent and ssh-add eliminate the need for repeated typing of pass
phrase
Password authentication is vulnerable to guessing attacks
X11 and port forwarding enable encrypted pipe through the Internet
Public key must be in ~/.ssh/known_hosts on remote systems
See OpenSSH
Tricky to get working properly
Standard with many software distributions
Questions?