Tutorial #8 - Firewall Basics
The following questions relate to both lectures 7 and 8. This is the
only tutorial for this week.
- When establishing a secure communications channel, why is it important
to authenticate the peer that we are connecting to?
- Detail some of the possible attacks that can be performed if
legitimate messages can be captured and reinjected into the network
at a later point in time, without being detected?
- What functionality is provided by the TLS Record Protocol?
Furthermore, why might a 'NULL' encryption algorithm and 'NULL' MAC
algorithm be used?
- In typical use the Transport Layer Protocol uses a X.509 certificate
to authenticate the server to the client. How can the client be sure
that the certificate received actually belongs to the server and has
not be provided by some attacker?
- Both SSH and TLS make use of symmetric encryption during
communication. What challenge does this pose when designing a secure
protocol?
- The SSH Transport Layer protocol exchanges a shared secret (K) using
the Diffie-Hellman key exchange algorithm. Shouldn't this eliminate the
need for the host to have a public and private key pair?
- Thinking question: SSH can provide optional compression as part of
the Transport Layer protocol. If compression is used, should you
encrypt then compress or compress then encrypt?
- When using SSH to connect to a remote system, a system administrator receives
the following message:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
29:5c:97:83:29:a8:1b:83:9e:4a:cc:a6:2a:f7:ba:f8.
Please contact your system administrator.
What might have occurred here and what action should be taken?
- In the lecture it was briefly mentioned that secure protocols will
often need to "re-key" at regular intervals. Why would this be
necessary and how often should we do it?
- Assume that you are developing an application that needs to send a
username and password over TCP in order to authenticate the client.
You're also developing the server, so you choose to simply encrypt
the password using Blowfish and a pre-shared secret. What problems
might this pose? What might be a better approach to security?
- Both TLS and SSH provide support for protocol version identification
and algorithm negotation (for both encryption and MAC). Why is this
considered to be a very good idea?
- Explain briefly how SSH public key user authentication works. What
are some of advantages of this approach?
- Highly recommended reading: it would well worth your time to read
Bruce Schneier's brilliant essay entitled "Security Pitfalls in
Cryptography". This essay is linked from the resources page.
- Explain the differences between a router and a firewall. Why is a
firewall an important part of network security infrastructure?
- At a certain tertiary college, the border router blocks all outgoing
TCP connections except to ports 25, 80 and 443. What security
purpose do you think this is intended to serve?
- When a (non-filtering) router drops a packet it normally sends an
ICMP message of type "Host unreachable" or "Network Unreachable" to
the source address in the packet. In the case of a filtering
(firewall) router, these ICMP types do not reflect the true story:
the host/network is reachable, but only under certain
conditions. The IETF has subsequently introduced new ICMP
"administratively prohibited" error types to better reflect the true
situation. However, these are widely considered to effectively
identify the fact that a firewall is in place, and as a result, are
not widely used. Discuss the issues involved in sending
any type of ICMP response in the situation of a
dropped packet.
- It's usually desirable to check the source IP addresses of both
inbound and outbound packets at an
Internet gateway router. Why? Hint: think about forged source
addresses.
- What is Stateful Packet Inspection (SPI)? What benefits does SPI provide
over using basic permit/deny rules? Would it be possible to imitate
SPI using standard ACLs?
- Why should you log details regarding packets that have been dropped
by a firewall? How often should these logs be reviewed?
- In the lecture we stated that a firewall rulesets should be
implemented using a "deny by default" policy. What does this mean
and why would it be better than the alternative?
- Cisco ACL time! Consider the "forged source addresses" question,
above. Now, imagine you had to configure a border router between
the Bendigo class-B network (
149.144.0.0
) and
the "outside" Internet. This can be done with two Basic ACLs. Give
the configuration commands needed.
- Once upon a time, La Trobe University, Bendigo used to provide an
undergrad dial-in facility. However it did not allow any Internet
access outside the university. Dial-in hosts have IP addresses on
subnet 8, that is (using CIDR notation)
149.144.8.0/24
. Give a Cisco Basic ACL
configuration command which would implement this policy.
- The La Trobe University border router does not allow outbound port
80 (HTTP) TCP connections except those emanating from the proxy
servers. All inbound connections are permitted. Give Cisco Extended
ACL configuration commands which would give effect to this policy on
the border router.