| nov_sup2000.tar |
Listing 2: phase2
#!/sbin/sh
#*******************************************************************************
#
# Name: phase2
# SCCS Id: @(#)phase2 1.4 05/15/00
#
# Description: This file is a script for system set up, phase 2. Phase 2
# is immediately after the latest Recommended and Security
# patch clusters have been installed, and the system has
# been rebooted so they take effect.
#
#
# Copyright (C) 2000 by Richard Teer. All rights reserved.
#
#*******************************************************************************
OS_REL=`uname -r`
HOSTNAME=`uname -n`
IS_ROUTER=false
DEFAULT_ROUTER="207.194.2.8"
DEFAULT_MAILSERVER="zen"
LOGINLOG="/var/adm/loginlog"
INETD_CONF="/etc/inet/inetd.conf"
SYS_USER_SHELL="/opt/local/bin/noshell"
SYS_USERS=`awk -F: '{print $1}' /etc/passwd`
ACCESS_USER="access"
ACCESS_GROUP="staff"
ACCESS_UID=500
BACKUP_USER="backup"
BACKUP_GROUP="sys"
BACKUP_UID=501
echo "Starting system hardening for $HOSTNAME, Phase 2"
echo "Enter mail server [$DEFAULT_MAILSERVER]: \c"
read LINE
MAILSERVER=${LINE:-$DEFAULT_MAILSERVER}
echo "Enter default router [$DEFAULT_ROUTER]: \c"
read LINE
ROUTER=${LINE:-$DEFAULT_ROUTER}
echo "Adding access user... \c"
useradd -c "Access user" -g $ACCESS_GROUP -u $ACCESS_UID -s /bin/ksh $ACCESS_USER
echo "Done."
echo "Adding backup user... \c"
useradd -c "Tape backup user" -g $BACKUP_GROUP -u $BACKUP_UID -s /bin/ksh $BACKUP_USER
echo "Done."
echo "Setting TCP_STRONG_ISS... \c"
ed /etc/default/inetinit << EOF > /dev/null
$s/=1/=2/
w
q
EOF
echo "Done."
if [ "$IS_ROUTER" = "false" ]; then
echo "Disabling IP forwarding... \c"
touch /etc/notrouter
echo "Done."
fi
echo "Setting up default router... \c"
echo $ROUTER > /etc/defaultrouter
echo "Done."
#echo "Clearing crontabs... \c"
#CWD=`pwd`
#cd /var/spool/cron/crontabs
#for i in *;do
# if [ "$i" != "root" ]; then
# rm $i
# fi
#done
#cd $CWD
#echo "Done."
echo "Enabling loginlog... \c"
touch $LOGINLOG
chmod 600 $LOGINLOG
chgrp sys $LOGINLOG
echo "Done."
echo "Fixing /etc permissions... \c"
chmod -R g-w /etc
echo "Done."
echo "Enabling auth.info in /etc/syslog.conf... \c"
ed /etc/syslog.conf << EOF > /dev/null
g/^#auth.notice/s/#auth.notice/auth.info/
w
q
EOF
echo "Done."
echo "Building /opt/local directory tree:"
echo " Making directories"
mkdir -m 755 /opt/local
mkdir -m 755 /opt/local/bin
mkdir -m 755 /opt/local/etc
mkdir -m 755 /opt/local/lib
mkdir -m 755 /opt/local/man
mkdir -m 755 /opt/local/sbin
FLAG=false
echo " Copying files: \c"
cat phase2_files/INDEX | while read SRC DEST OWNER GROUP PERMS; do
if [ $FLAG = "false" ]; then
echo "$SRC\c"
FLAG=true
else
echo ", $SRC\c"
fi
cp phase2_files/$SRC $DEST
chown $OWNER:$GROUP $DEST
chmod $PERMS $DEST
done
echo "."
ln /opt/local/bin/gunzip /opt/local/bin/gzip
echo "Done."
echo "Setting system users' shell to $SYS_USER_SHELL... \c"
for i in $SYS_USERS; do
if [ "$i" != "root" ]; then
usermod -s $SYS_USER_SHELL $i
fi
done
echo "Done."
echo "Configuring tcpwrapper... \c"
cp $INETD_CONF /tmp
sed '/^[^#]/s/^/#/' /tmp/inetd.conf > $INETD_CONF
chgrp sys $INETD_CONF
chmod 111 $INETD_CONF
echo "Done."
echo "Configuring ssh... \c"
echo "ssh 22/tcp" >> /etc/services
echo "ssh stream tcp nowait root /opt/local/sbin/tcpd /opt/local/sbin/sshd \ |