Перекрыть доступ снаружи на узловую машину:
В файл /etc/hosts.deny вставить строчку
ALL : ALL
Открыть доступ на узловую машину с машин локальной сети
195.0.1.0
В файл /etc/hosts.allow вставить строчки
ALL : \
127.0.0.1
ALL : \
195.0.1.0/255.255.255.0
А какой версии sendmail на вашей машине?
Date: 10 апр 97
Кстати CERT советует ставить Sendmail 8.8.5. Более ранние
версии позволяют удаленно выполнять любые команды от имени
суперпользователя на вашей машине.
* Имеющий доступ к консоли Linux может стать суперюзером *
Способы:
0. Загрузка со своей загрузочной дискеты
1. Загрузка с single user mode
2. Указать альтернативную программу init
3. Задать другой root-partition
1. Booting to single-user mode
LILO: linux single
Debian обходит это поправками в /etc/initab, а RedHat - пропускает
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
2. Указать альтернативную программу init
LILO: linux init=/bin/bash
3. Задать другой root-partition
LILO: linux root=/dev/hda1
Если создать в отдельной партиции всю положенную для корня
структуру, то можно будет с нее загрузиться.
Эту возможность можно получить, например, если /tmp
монтируется в отдельную партицию. Или машина поддерживает UMSґ
DOS и имеет досовский раздел.
Лечение
Закрыть паролем BIOS-setting и отключить возможность
загрузиться с дискеты.
Закрывайте возможность перехвата LILO-prompt
A workaround can be achieved by using PASSWORD and
RESTRICT options in /etc/lilo.conf.
Внимание: /etc/lilo.conf должен быть root.root 600, чтоб
никто не смог этот пароль подсмотреть.
* kerneld and ifconfig *
Команда
/sbin/ifconfig module-name
позволяет _любому_ пользователю загрузить модуль из каталога
/lib/modules используя kerneld.
Лечение: Пока не залечено в промышленном масштабе. Отключайте
kerneld или явно указывайте модули, которые можно грузить,
уберите все лишние модули доставшиеся вам после инсталляции.
Дырка в X
Xserver -xkbdir 'id > /tmp/I_WAS_HERE;'
Quick fix:
1. as usual chmod u-s,g-s all installed Xserver binaries (*)
2. use xdm or a SAFE and PARANOID wrapper to start Xserver
Security и lilo
А вы знаете, что загрузчик lilo может запустить после загрузки
root-овый shell?
Lilo boot: linux init=/bin/sh rw
Кое какие закрывашки в RedHat 5.2
chmod 700 /usr/sbin
chmod 700 /usr/X11R6
chmod -s /usr/lib/emacs/20.3/i386-redhat-linux/movemail
rm /usr/libexec/mail.local # -- это надо? вроде, procmail уже есть.
rm /usr/sbin/userhelper # - дыряв - кусок GUI для админов новичков
rpm -Uvf lpr-0.48-0.5.2.i386.rpm # взять из updates
http://www.openwall.com/bind/
rpm -U vixie-cron-3.0.1-37.5.2.i386.rpm
ps axuw|grep -i cron
root 1151 0.0 0.1 864 416 ? S 21:03 0:00 CROND
root 1804 1.5 0.1 864 496 ? S 21:04 0:00 crond
неплохо бы создать группу crontab и
-rwsr-x--- 1 root crontab 20200 Aug 27 19:12 crontab
ии на файл crontab тогда root.crontab,
chmod 4710 /usr./bin/crontab
crond'а.
поправить ftpaccess'овый regex (чтобы из .файлов давал только .forward)
создавать, а лучше - вообще никаких.
и sendmail (чтобы у таких .forward не позволял запускать скрипты)
Подозрительные services: Какой процесс висит на порту
netstat -an | egrep -v ':80 |udp|:53 '
lsof: продвинутый fuser (открытые файлы, порты и т.д. ftp://vic.cc.purdue.edu/pub/tools/unix/lsof/
sockstat: (послабее, но попроще)
fuser -v 6012/tcp
После взлома?
Сохранить подозрительные бинарники cp -rpa (с сохр. дат) strings/objdump egp
Иметь md5sum'ы основных бинарников заранее.
Сохранить /var и /tmp как образ раздела
на home бывают останки exploits
а так же core - на / и /home
chmod 700 /backup -- nadeyus', tuda tolko pod root
и nosuid для всех не "/usr" разделов а то suid'ники останутся
153615 7 -rwsr-xr-x 1 root daemon 6711 Jan 10 1999 /home/majordomo/wrapper
chgrp mail /home/majordomo/wrapper
chmod 4710 /home/majordomo/wrapper
X tam nado? net
chmod 700 /usr/bin/at
chmod 700 chage /usr/bin/gpasswd
chmod 0 /usr/bin/ct /usr/bin/suidperl /usr/bin/sperl5.00404
Mprocmail, P=/usr/bin/procmail, F=DFMSPhnu9, S=11/31, R=21/31,T=DNS/RFC822
bukva "S" est' poetomu:
chgrp mail /usr/bin/procmail ; chmod 2710 /usr/bin/procmail
14937 54 -rwsr-sr-x 1 root mail 54412 Aug 17 1998 /usr/bin/procmail
Если procmailrc нужен еще из shell, то делаем одну - только root+setuid
а другую 711 . sendmail пускает первую
chmod 700 /usr/bin/minicom
chmod 700 /usr/bin/rcp /usr/bin/rlogin /usr/bin/rsh
chmod 700 /usr/bin/chfn /usr/bin/chsh
в 5.2redhat в procmail есть дыры
chsh, chfn -- конкретные переполнения об длинные строки в passwd
suidperl -- конкретные дыры, неизлечимо
at -- просто так: потенциально опасно, сложно следить, и без atd не работает
в 5.2 -- CRONTAB !!! root тривиально через MAILTO vixie cron is broken, da
к 5.2 есть update ot RH
chmod 700 /bin/*mount /bin/login # за отсутстжием смысла
chmod -s /sbin/netreport
chmod 700 /sbin/cardctl # hardwarespecific
в 2.0 securelevel
а в 2.2 cap-bound
Это ограничение доступа к системе даже для roota
нельзя будет изменять атрибуты поставленные chattr
cat /proc/sys/kernel/securelevel