This page provides details about SGI Irix security precautions. There is also a shorter page in "checklist" format.
If you have just installed Irix, you should also examine PSS-UNIX's SGI Post-install page.
grep '::' /etc/passwd
You should get a listing of lines similar to the following (but there will be more lines listed):
uucp::3:5:UUCP Owner:/usr/lib/uucp:/bin/csh lp::9:9:Print Spooler Owner:/var/spool/lp:/bin/sh guest::998:998:Guest User:/usr/people/guest:/bin/csh
If an entry has the first two colons next to each other without anything between them, that account has no passwords. For every entry like that, you need to enter the following command, with username being the first field on the line. For example, to lock the accounts above, type:
passwd -l uucp passwd -l lp passwd -l guest
/etc/passwd file and running it
through a cracking program.
As root, run /sbin/pwconv which initializes shadow
passwords, and synchronizes /etc/passwd and /etc/shadow.
NOTE: For Irix versions 5.3, 6.2, 6.3, and 6.4, you cannot use shadow passwords AND use NIS password serving together.
SGI has email services to notify you when new patches are available. You'll need a (free) subscription to SupportFolio.
You can check what patches are installed with this command:
versions -a | grep -i patch
/etc/aliases
#root:postmaster
root:username@arches.uga.edu
/usr/bsd/newaliases
Caution! You should not use an ARCHES account if the computer you are securing is a mail server. It is possible for root or postmaster to receive a lot of mail very quickly which can fill up a quota'd account such as ARCHES.
/usr/lib/X11/xdm. This will disallow the world
from being able to connect to your X server. Put a comment (#) in
front of any lines that look like this:
/usr/bin/X11/xhost +
or this
if [ -f /usr/lib/desktop/xhoston ]; then /usr/bin/X11/xhost + fi
After you get through, the line should look like this:
# /usr/bin/X11/xhost +or this
# if [ -f /usr/lib/desktop/xhoston ]; then # /usr/bin/X11/xhost + # fi
etc/default/login,
and set the values to be the following:
PASSREQ=YES MANDPASS=YES DISABLETIME=20 MAXTRYS=3 LOGFAILURES=3 IDLEWEEKS=1 SYSLOG=ALL CONSOLE=/dev/console
The comments preceding each value in the file explain what they afect.
cd /usr/tmp
ftp ftp.uga.edu
cd pub/unix/sgi
binary
get ugasendmail6.2.tardist
quit
tar xvf ugasendmail6.2.tardist
inst -f .
install all
go
quit
/etc/init.d/mail stop chkconfig sendmail off
To disable a service, follow these steps
cp /etc/inetd.conf /etc/inetd.conf.old
/etc/killall -HUP inetd
Here are some SGI inetd services which can often be disabled without anyone knowing the difference. This depends upon your setup -- testing is recommended! Please note that this list is incomplete: here's a more complete list of inetd services for SGI.
It is possible to configure ssh so that a user can login without using his or her password. This is a bad idea because compromise of one system can quickly lead to compromise of others. Don't use .rhosts or .shosts to allow passwordless entry.
cd /usr/tmp/ ftp ftp.uga.edu cd /pub/unix/security/ssh.uga binary get ssh1.2.26-irix6x.tardist quit tar xvf ssh1.2.26-irix6x.tardist inst -f . install all go quit
Note: Tcpwrappers is packaged with the ssh distributed by PSS-UNIX. The
command versions -a ssh will tell you if tcpwrappers is installed.
cd /usr/tmp/
ftp ftp.uga.edu
cd /pub/unix/security/ssh.uga
binary
get ssh1.2.26-irix6x.tardist
quit
tar xvf ssh1.2.26-irix6x.tardist
inst -f .
install all
go
quit
/usr/local/sbin/tcpd.
ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -t1800
ftp stream tcp nowait root /usr/local/sbin/tcpd /usr/sbin/in.ftpd -t1800
/etc/hosts.allow. The format
is service : [host] [domain] ...
/etc/hosts.deny. The format
is service : [host] [domain] ...
/usr/local/bin/tcpdchk -i /etc/inetd.conf.tcpw
/usr/local/bin/tcpdmatch -i /etc/inetd.conf.tcpw daemon
host
cp /etc/inetd.conf /etc/inetd.conf.pretcpw
cp /etc/inetd.conf.tcpw /etc/inetd.conf
/etc/killall -HUP inetd
/etc/default/login and search for the word
console. Set that line to the following:
CONSOLE=/dev/console
Be sure there isn't a comment in front of the CONSOLE line!
xntp is part of the ugasetup package distributed by PSS-UNIX. It also includes networking setup. To download and install:
cd /usr/tmp/
ftp ftp.uga.edu
cd /pub/unix/sgi
binary
get ugasetup62.tardist
quit
tar xvf ugasetup62.tardist
inst -f .
install
go
quit
You should also turn off timed, another time daemon.
/sbin/chkconfig timed off /etc/killall timed
You do not want users to be able to look at the system log
(/var/adm/SYSLOG) since the login information is in that file, and
sometimes users will type all or some of their passwords at the username
prompt and this is written to the system log.
Edit the file /usr/spool/cron/crontabs/root CAREFULLY and make the following change:
1 1 * * 0 umask 033;cd /var/adm;if test -s SYSLOG && test "`wc -c SYSLOG`" -ge 10240; then mv -f SYSLOG oSYSLOG; touch SYSLOG; killall 1 syslogd; fi
1 1 * * 0 umask 077;cd /var/adm;if test -s SYSLOG && test "`wc -c SYSLOG`" -ge 10240; then mv -f SYSLOG oSYSLOG; touch SYSLOG; killall 1 syslogd; fi
Now change the permissions on the existing SYSLOG file:
chmod 600 /var/adm/SYSLOG