솔라리스 기본적인 보안관리

2006. 12. 5. 11:44개발/마케팅 기록들/DEV

* group, passwd 권한 설정

chown root /etc/group
chmod 444 /etc/group
chown root /etc/passwd
chmod 444 /etc/passwd

* Shell 제한

usermod -s /bin/false adm
usermod -s /bin/false daemon
usermod -s /bin/false bin
usermod -s /bin/false sys
usermod -s /bin/false listen
usermod -s /bin/false nobody
usermod -s /bin/false nobody4
usermod -s /bin/false noaccess
usermod -s /bin/false diag
usermod -s /bin/false listen
usermod -s /bin/false operator
usermod -s /bin/false games
usermod -s /bin/false gopher

* shadow 파일 권한 설정

chown root /etc/shadow
chmod 400 /etc/shadow

* 중요파일 권한 설정

chmod o-w /etc/inittab
chmod o-w /etc/rc*.d/*
chmod o-w /etc/snmp/conf/snmpd.conf
chmod o-w /etc/syslog.conf

* UMASK 설정

umask 022
/etc/default/login UMASK 주석 제거후 022로 변경

* /dev 디렉토리에 불필요한 일반 파일 찾기

find /dev -type f -exec ls -al {} \;

* Setuid, Setgid 해제

chmod -s /usr/bin/admintool
chmod -s /usr/bin/at
chmod -s /usr/bin/atrm
chmod -s /usr/bin/lpset
chmod -s /usr/bin/newgrp
chmod -s /usr/bin/nispasswd
chmod -s /usr/bin/rdist
chmod -s /usr/bin/yppasswd
chmod -s /usr/dt/bin/dtappgather
chmod -s /usr/dt/bin/dtprintinfo
chmod -s /usr/dt/bin/sdtcm_convert
chmod -s /usr/lib/fs/ufs/ufsrestore
chmod -s /usr/lib/fs/ufs/ufsdump
chmod -s /usr/lib/lp/bin/netpr
chmod -s /usr/openwin/bin/ff.core
chmod -s /usr/openwin/bin/kcms_*
chmod -s /usr/openwin/bin/xlock
chmod -s /usr/platform/sun4u/sbin/prtdiag
chmod -s /usr/sbin/arp
chmod -s /usr/sbin/lpmove
chmod -s /usr/sbin/sysdef
chmod -s /usr/sbin/*/sysdef
chmod -s /usr/sbin/*/prtconf

* PATH 환경변수 설정

root 계정의 PATH 환경변수에 "."을 제거하거나 맨 마지막으로 이동

* 홈디렉토리 권한 설정

예) chmod o-w /export/monkey

* 홈디렉토리 환경변수 파일 권한 설정

예) chmod o-w .profile

* RPC 서비스 설정

"/etc/inetd.conf" 파일에서 해당라인 주석처리 후 inetd 재기동

* NFS server 해제

mv /etc/rc3.d/S1nfs.server /etc/rc3.d/_S15nfs.server

* 신뢰관계 설정

"/etc/hosts.equiv" 또는 "$HOME/.rhosts"에 필요한 호스트와 계정만 등록

* Banner 관리

vi /etc/default/tenetd
  BANNER=""
vi /etc/default/ftpd
  BANNER=""
vi /etc/mail/sendmail.cf
  O Smtp GreetingMessage=
vi /etc/named.conf
  version "Contact Another Administrator!!!";

* Session timeout 설정

vi /etc/default/login
  TIMEOUT=300

* root 계정의 telnet 제한

vi /etc/default/login
  CONSOLE=/dev/console

* Inetd service 로그 설정

vi /etc/init.d/inetsvc
  /usr/sbin/inetd -s -t

* Su log 설정

vi /etc/deafult/su
  SULOG=/var/adm/sulog

* 로그파일 권한 설정

chmod o-w /var/log/authlog
chmod o-w /var/adm/wtmp*
chmod o-w /var/adm/utmp*
chmod o-w /var/log/syslog
chmod o-w /var/adm/sulog
chmod o-w /var/adm/pacct
chmod o-w /var/log/authlog
chmod o-w /var/adm/messages
chmod o-w /var/adm/loginlog
chmod o-w /var/adm/lastlog

* FTP 서비스 사용자 제한

/etc/ftpusers, /etc/ftpd/ftpusers

* FTP UMASK 설정

vi /etc/inetd.conf
  ftp  stream  tcp6  nowait  root  /usr/sbin/in.ftpd  in.ftpd -a -u 077

* Anonymous FTP 제한

cat /etc/passwd | grep ftp
cat /etc/shadow | grep ftp

* SNMP 서비스 제거

mv /etc/rc3.d/S76snmpdx /etc/rc3.d/_S76snmpdx

* 시스템 보안 설정

vi /etc/system
  set noexec_user_stack = 1
  set noexec_user_stack_log = 1

* Kernel 파라매터 설정

ndd -set /dev/ip ip_respond_to_echo_broadcast 0
ndd -set /dev/ip ip_forward_directed_broadcasts 0
ndd -set /dev/ip ip_respond_to_timestamp 0
ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0
ndd -set /dev/ip ip_forward_src_routed 0
ndd -set /dev/ip ip_ignore_redirect 1
ndd -set /dev/ip ip_forwarding 0

* TCP seq. 파라매터 설정

vi /etc/default/inetinit
  TCP_STRONG_ISS=2

* Worm 감염 검사

rpcinfo -p |grep 100232
ls -al /dev/cuc
ps -ef | grep cuc
ps -ef | grep "\.sh"
cat /etc/rc2.d/*rpc* | grep "start.sh"


* Carko DDOS Agent 검사

ls -al /usr/share/man/mansps/ddos
ls -al /dev/ptyq
strings /usr/bin/ps |grep "/dev/ptyq"
strings /usr/bin/adb |grep "/dev/ptyq"
strings /usr/bin/kgmon |grep "/dev/ptyq"
strings /usr/bin/uptime |grep "/dev/ptyq"
strings /usr/bin/w |grep "/dev/ptyq"
strings /usr/bin/ipcs |grep "/dev/ptyq"
chmod 000 /usr/lib/dmi/snmpxdmid