-------[  Phrack Magazine --- Vol. 9 | Issue 55 --- 09.09.99 --- 13 of 19  ]
-------------------------[  Black Book of AFS  ]
--------[  nicnoc  ]
----[  Introduction
AFS is commonly deployed as a distributed filesystem solution in academic and
research environments.  This short article serves as an introductory guide to
publicly-accessible resources on AFS.  As always, misuse of this information
by the reader is taken at his or her own peril.
The current incarnation of AFS grew out of research conducted with the Andrew
FileSystem at Carnegie-Mellon University, also home of the CODA distributed fs
research (http://www.coda.cs.cmu.edu/).  AFS is now a commercial product,
supported and sold by the Transarc Corporation (www.transarc.com).
----[  Conventions
Resources on AFS listed in this document will take the form of '/afs/cell
name'.  As you will discover, certain hosts are only accessible from a gateway
immediately associated with the cell.  For example, the node net.mit.edu
can only be reached from the outside (ie. using methods other than a local
fs mount) through the web.mit.edu AFS gateway.  Where appropriate, these
access restrictions are noted. 
----[  Basics
Terminology
-----------
cell : Multiple hosts within the same domain sharing a single fs image.
 - local cell   : Describes a cell within the local domain.
 - foreign cell : All cells not within the local domain.
 - cell name    : Usually a derivation of the FQDN.
node : Generic term for any host on the network.
ACL  : Access Control List - who gets what, and how.
Technical 
---------
Access permissions of files and directories on an AFS cell are handled
independently of the underlying operating system permissions.  Traditional
Unix fs permission bits are divided into read, write, and execute.  The AFS
ACL groupings build on this concept and add extensions suitable for
distributed file-sharing.  
Below is a basic introduction to concepts and commands used to manage AFS; by
no means a complete treatment of the subject.  See tutorials at
http://www.alw.nih.gov/Docs/AFS/AFS_toc.html and
http://www.slac.stanford.edu/comp/unix/afs/users-guide/afs-frames.htm for
more information. 
ACL bits
--------
r : read        : view directory and file contents
l : lookup      : searching of a directory for filenames (recursive find)
i : insert      : create a new directory or file
d : delete      : remove a file or subdirectory
w : write       : modification of file contents
k : lock        : owner's processes allowed to flock() in this dir
a : administer  : user permitted to modify ACL for this resource
Commands for ACL listing and modification 
-----------------------------------------
fs: listacl  (alias: la) : list access control list
setacl    (alias: sa)
.... set access control list
ex. setacl secret.doc jsbach lidrw
pts:
Invoked as 'pts option' on the command-line.  Manages protection
groups, which permit a smaller group of users to access resources
owned by another user.
 options:
  adduser -user user1 user2... -group :
  	.... adds user(s) to an existing protection group
  removeuser -user user1 user2... -group :
  	.... removes user(s) from a protection group 
  creategroup :
  	.... create a protection group
  examine 
  	....  volume name of specified resource at 
  membership -name   (alternatively :)
  	.... list protection group membership for user
Protocol information
--------------------
	AFS is implemented over wide-area TCP/IP networks, optionally 
authenticating users with a modified Kerberos implementation.  Client nodes 
utilize a cache manager, which stores frequently-accessed data on a local 
disk for faster retrieval.  
	Taken from an unknown cell's /etc/service, the ports and 
protocols that make AFS work its magic: 
afs3-fileserver 7000/udp       # file server itself
afs3-callback   7001/udp       # callbacks to cache managers
afs3-prserver   7002/udp       # users & groups database
afs3-vlserver   7003/udp       # volume location database
afs3-kaserver   7004/udp       # AFS/Kerberos authentication service
afs3-volser     7005/udp       # volume management server
afs3-errors     7006/udp       # error interpretation service
afs3-bos        7007/udp       # basic overseer process
afs3-update     7008/udp       # server-to-server updater
afs3-rmtsys     7009/udp       # remote cache manager service
Gateways
========
	Legitimate access to AFS is quite easy to obtain.  Any alumnus of 
an institution where AFS is widely deployed (MIT, CMU, Stanford, etc.) 
usually has an account on a connected node.  Additionally, it is not 
uncommon for admins to grant research accounts on university systems 
to friends outside.  
	For those without friends and we, the unwashed masses, there are 
gateways which allow access to AFS through other services.  In the early 
1990's, these were commonly found on institution FTP and Gopher sites.  
Today, most gateways provide proxied access to AFS through the web.  
Transarc provides the WebSecure product which is the most commonly used
gateway software.
	AFS->web gateway discovery is a matter of blind luck, although
with the assistance of a search engine, it is possible to select possible
candidates. 
Two commonly-used gateways are: 
	web.mit.edu 
	www.transarc.com
The MIT gateway is more controlled than the Transarc's.  
Of the 74 active cells discovered, MIT permits only 12:
	andrew.cmu.edu 			athena.mit.edu
	cmu.edu 			cs.cmu.edu
	ece.cmu.edu 			iastate.edu
	ir.stanford.edu 		net.mit.edu
	northstar.dartmouth.edu 	sipb.mit.edu
	transarc.com 			umich.edu
Some cells local to mit.edu are accessible through the gateway with aliases, 
namely: athena, dev, net, and sipb.  These aliases and restricted-access
nodes are not enumerated. 
Directory
=========
	This listing comes from an audit of active nodes accessible 
through the transarc.com AFS->web gateway.  From a dataset of 511 entries, 
74 were found to be active.  The unofficial AFS FAQ (section 1.07)
(/afs/transarc.com/public/afs-contrib/doc/faq/afs-faq.html)
assisted with identification of certain cells. 
	Data were collected from a recent CellservDB 
(/afs/transarc.com/service/etc/CellServDB.export) and the output of 
'ls /afs' on an AFS node.  A simple script linking lynx, grep, 
sort and awk produced the below listing.  All listed nodes were verified 
to be accessible from an external network on 07.22.1999.  
## Corporate (COM)
|
# Transarc Corporation
	transarc.com	
## Education (EDU)
|
# Arizona State University
	asu.edu		
# Boston University
	bu.edu			
# Carnegie-Mellon University
	cmu.edu			
	andrew.cmu.edu
	ce.cmu.edu		
	! cs.cmu.edu		# Top-level directory not browsable	
	ece.cmu.edu	
	me.cmu.edu
# Cornell University 
	graphics.cornell.edu	
	msc.cornell.edu
	theory.cornell.edu
# Dartmouth College
	northstar.dartmouth.edu
# Indiana State University
	iastate.edu
# Indiana University
	ovpit.indiana.edu
# Massachusetts Institute of Technology
	athena.mit.edu
	sipb.mit.edu
# North Carolina Agricultural and Technical State University
	ncat.edu
# North Carolina State University
	eos.ncsu.edu
	unity.ncsu.edu
# Notre Dame
	nd.edu
# Pennsylvania State University
	psu.edu
# Pittsburgh Supercomputing Center
	psc.edu
# Rose-Hulman Institute of Technology
	rose-hulman.edu
# Stanford University
	ir.stanford.edu
	slac.stanford.edu
# University of California at Davis
	ece.ucdavis.edu
# University of Chicago
	spc.uchicago.edu
# University of Illinois at Chicago (NCSA)
	ncsa.uiuc.edu
# University of Maryland at Baltimore
	umbc.edu
# University of Maryland
	wam.umd.edu
# University of Michigan
	umich.edu
	citi.umich.edu
	engin.umich.edu
	lsa.umich.edu
	math.lsa.umich.edu
	dmsv.med.umich.edu
	sph.umich.edu
# University of Pittsburgh
	pitt.edu
# University of Utah
	utah.edu
	cs.utah.edu
# University of Washington
	cs.washington.edu
# University of Wisconsin
	cs.wisc.edu
## Government (GOV)
|
# Argonne National Labs
	anl.gov
# Fermi National Accelerator Lab
	fnal.gov
# National Energy Research Supercomputer Center
	nersc.gov
# National Institutes of Health
	alw.nih.gov
# Princeton Plasma Physics Laboratory
	pppl.gov
## Military  (MIL)
|
# Naval Research Laboratory
	cmf.nrl.navy.mil
## Network
|
# Energy Sciences Network
	es.net
## Organization (ORG)
|
# Esprit Research Network of Excellence (European Communities)
	research.ec.org
# Open Software Foundation
	ri.osf.org
## Europe and Asia
|
# European Laboratory for Particle Physics, Geneva
cern.ch
#Deutsches Elektronen-Synchrotron
	desy.de
#Univ. of Cologne Inst. for Geophysics & Meteorology
	geo.uni-koeln.de
# DESY-IfH Zeuthen
	ifh.de
# Leibniz-Rechenzentrum Muenchen
	lrz-muenchen.de
# Max-Planck-Institut fuer Astrophysik
	mpa-garching.mpg.de
# TH-Darmstadt
	hrzone.th-darmstadt.de
# Technische Universitaet Chemnitz-Zwickau
	tu-chemnitz.de
# Albert-Ludwigs-Universitat Freiburg
	uni-freiburg.de
# University of Hohenheim
	uni-hohenheim.de
# Rechenzentrum University of Kaiserslautern
	rhrk.uni-kl.de
# University of Cologne
	rrz.uni-koeln.de
# University of Stuttgart
	ihf.uni-stuttgart.de
	mathematik-cip.uni-stuttgart.de
	mathematik.uni-stuttgart.de
	rus.uni-stuttgart.de
# IN2P3 production cell
	in2p3.fr
# CASPUR Inter-University Computing Consortium
	caspur.it
# INFN Sezione di Pisa 
	pi.infn.it
# Real World Computer Partnership
	rwcp.or.jp
# Chalmers University of Technology - General users
        others.chalmers.se
# Royal Institute of Technology, NADA
	nada.kth.se
Interesting areas
=================
	Half of the challenge in network exploration is the act of 
finding fun items to look at.  The list below is by no means complete, 
and barely touches the surface of what the author and others have 
collected over the years.  Enjoy, and good luck hunting. 
/afs/andrew.cmu.edu/local/src/os/ 
	.... Left over from a time when Irix source resided there.
/afs/ncat.edu/common/
	.... Root directory of an Ultrix installation
/afs/ir.stanford.edu/users/c/l/clinton 
	.... Not the daughter of the U.S. President, but a reasonable 
 	     facsimile thereof which causes much excitement among readers. 
/afs/rose-hulman.edu/users/manager/agnello/compromised/
	.... AFS follows the 'user-managed' philosophy of resource
             management, leaving it up to individual users to secure the
	     permissions on their own files.  This unfortunate admin 
	     forgot to set the permissions on data collected during a 
	     recent (08.08.1999) security compromise.  The world, 
	     including the intruder, can now browse his work and see
	     what they have found.
/afs/umbc.edu/public/cores/
	.... Corefiles from fileserver crashes at the University of 
	     Maryland.  No further comment.
/afs/net.mit.edu/reference/multics/
	.... Once in a blue moon, you come along a gem like this one. 
	     Source code, project notes, and electronic messages from
	     the Multics project.  ./udd/multics/Rochlis contains the
	     mail, messages, and notes in case you can't find it. 
Greetings
=========
	Shouts and thanks go out to route and the r00t crew, ParMaster, 
cstone, aleph1, and the Slackworks crew.
-- nicnoc