My goal with this paper is to present a "how-to" for securing IRIX in a production environment while still maintaining sufficient functionality.
IRIX by default is installed with several accounts without passwords. You can view what passwords have no password (NP), are locked (LK), or password protected (PS) with the command:
# passwd -as
# passwd
# foreach account (lp EZsetup nuucp demos guest OutOfBox \ sys adm sysadm cmwlogin auditor dbadmin sgiweb 4Dgifts) ? passwd -l $account ? end
# pwconv
To set up rules for passwords, create the file /etc/default/passwd if it does not already exist, and tweak the following settings as desired (example follows):
PASSLENGTH=10 MINWEEKS=1 MAXWEEKS=12 HISTORYCNT=100 HISTORYDAYS=30 WARNWEEKS=1
CONSOLE=/dev/console PASSREQ=YES ALTSHELL=YES MANDPASS=YES UMASK=027 TIMEOUT=60 DISABLETIME=300 MAXTRYS=3 LOGFAILURES=4 IDLEWEEKS=2 PATH=/usr/sbin:/usr/bsd:/sbin:/usr/bin:/bin:/usr/bin/X11: SUPATH=/usr/sbin:/usr/bsd:/sbin:/usr/bin:/bin:/etc:/usr/etc:/usr/bin/X11: SYSLOG=ALL INITGROUPS=YES LANG=C SVR4_SIGNALS=NO LOCKOUT=4 LOCKOUTEXEMPT=root
# chmod 400 /etc/default/{login,passwd}
Many services can be turned off, or tightened up to improve security.
The same basic rule applies: "If you don't need it, turn it off."
SGI by default enables two apache services. These provide interfaces to system
modules from the web. Turn them off using chkconfig:
# chkconfig webface_apache off # chkconfig sgi_apache off
# mkdir -p /usr/share/etc.defaults # cp -p /etc/inetd.conf /usr/share/etc.defaults/inetd.conf # cp -p /etc/ntp.conf /usr/share/etc.defaults/ntp.conf
finger bootp tftp echo telnet ftp discard chargen daytime time rstatd walld rusersd rquotad sprayd ttdbserverd shell exec http wn-http ntalk mountd sgi_mountd rexd bootparam ypupdated sgi_videod sgi_toolkitbus sgi_snoopd sgi_pcsd sgi_pod sgi_espd sgi-esphttp tcpmux/sgi_scanner
timed timeslave routed esp privileges appletalk array autoconfig_ipaddress autofs automount fcagent fontserver gated ipaliases yp ypmaster ypserv mrouted named nfs netwr_client nostickytmp ns_admin nss_fasttrack pmcd pmie proclaim_relayagent proclaim_server proxymgr quickpage rarpd rsvpd rwhod sdpd sendmail sendmail_cf snetd ts vswap webface
desktop lockd mediad network noiconlogin nsd rtmond savecore sar verbose visuallogin windowsystem xdm
X should be secured to only allow authorized users for remote display. Edit /var/X11/xdm/xdm-config and change the DisplayManager*authorize line to read:
DisplayManager*authorize: on
By default IRIX enables a number of kernel-related services which should be
turned off for security reasons:
# printf 'y' | systune ipforwarding 0 # printf 'y' | systune ip6forwarding 0 # printf 'y' | systune icmp_dropredirects 1 # printf 'y' | systune tcp_2msl 60 # printf 'y' | systune allow_brdaddr_srcaddr 0 # printf 'y' | systune tcpiss_md5 1 # printf 'y' | systune restricted_chown 1
autoconfig -vf
This is not an exhaustive list of all security holes in IRIX, but is a set of best practices that have been published, and now composited here.
Citations