HORATIO-HOSTLIST

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
FILES
SEE ALSO
BUGS
AUTHOR

NAME

horatio-hostlist − Network access authentication host management

SYNOPSIS

horatio-hostlist restore|rollcall
horatio-hostlist
[enter|leave|query] ip-address

DESCRIPTION

horatio-hostlist is a bash script which manages the firewall and the OPEN_ADDRESSES file for Horatio, including setting up the firewall (horatio-hostlist restore), performing rollcalls (horatio-hostlist rollcall), adding hosts that have just been authenticated (horatio-hostlist enter), removing hosts that have been logged out (horatio-hostlist leave), and querying the OPEN_ADDRESSES file (horatio-hostlist query).

horatio-hostlist locks the OPEN_ADDRESSES file before using it and unlocks it before exiting. The restore command removes stale locks.

OPTIONS

restore

Executes horatio-firewall to (re-)initialize the firewall and then loops through the OPEN_ADDRESSES file, effectively doing an enter ip-address for each ip-address in it.

rollcall

Pipes the contents of OPEN_ADDRESSES through fping -u and does an effective leave ip-address for each ip-address that is unreachable.

enter ip-address

Adds ipchains forwarding rules to allow packets to and from ip-address to go through the firewall. These packets are still subject to the input chain’s filtering rules, however. Also, this action manually creates an ARP mapping entry for ip-address with the hardware address that is currently in the ARP cache. This is intended to prevent the ip-address from falling victim to ARP spoofing after being logged in. Enter also adds ip-address to the OPEN_ADDRESSES file.

leave ip-address

Deletes the ipchains forwarding rules for ip-address and removes the manual ARP cache entry for ip-address. Finally, leave removes ip-address from the OPEN_ADDRESSES file.

query ip-address

Looks for ip-address in the OPEN_ADDRESSES file and prints "allowed" if it is found and "denied" otherwise.

FILES

state_dir/OPEN_ADDRESSES

The list of IP addresses of hosts that are currently allowed access.

state_dir/OPEN_ADDRESSES.lock.pid

Lock file created by a horatio-hostlist process pid.

state_dir/OPEN_ADDRESSES.lock

Symbolic link to the lock file, used as the actual lock.

SEE ALSO

horatio(8), horatio-firewall(8), bash(1), fping(1), logger(1), arp(8), ifconfig(8), ipchains(8).

BUGS

I am surprised every time horatio-hostlist works.

Since it is possible to set the hardware address used by many systems (this is a command-line option for Linux’s ifconfig), it is fairly trivial for a host B to hijack host A’s address and authentication immediately after host A leaves, if host A does not log out. This is bad.

AUTHOR

Tommy M. McGuire (mcguire@cs.utexas.edu) wrote this.