L
i n u x P a r k
при поддержке ВебКлуба |
Назад | Оглавление | Вперед |
К таким программам относятся:
Для нахождения всех файлов имеющих бит “s” и владельцами которых является
root используйте команду:
[root@deep]# find / -type f \(
-perm -04000 -o -perm -02000 \) \-exec ls –lg {} \;
*-rwsr-xr-x 1 root root 35168 Sep 22 23:35 /usr/bin/chage *-rwsr-xr-x 1 root root 36756 Sep 22 23:35 /usr/bin/gpasswd *-r-xr-sr-x 1 root tty 6788 Sep 6 18:17 /usr/bin/wall -rwsr-xr-x 1 root root 33152 Aug 16 16:35 /usr/bin/at -rwxr-sr-x 1 root man 34656 Sep 13 20:26 /usr/bin/man -r-s--x--x 1 root root 22312 Sep 25 11:52 /usr/bin/passwd -rws--x--x 2 root root 518140 Aug 30 23:12 /usr/bin/suidperl -rws--x--x 2 root root 518140 Aug 30 23:12 /usr/bin/sperl5.00503 -rwxr-sr-x 1 root slocate 24744 Sep 20 10:29 /usr/bin/slocate *-rws--x--x 1 root root 14024 Sep 9 01:01 /usr/bin/chfn *-rws--x--x 1 root root 13768 Sep 9 01:01 /usr/bin/chsh *-rws--x--x 1 root root 5576 Sep 9 01:01 /usr/bin/newgrp *-rwxr-sr-x 1 root tty 8328 Sep 9 01:01 /usr/bin/write -rwsr-xr-x 1 root root 21816 Sep 10 16:03 /usr/bin/crontab *-rwsr-xr-x 1 root root 5896 Nov 23 21:59 /usr/sbin/usernetctl *-rwsr-xr-x 1 root bin 16488 Jul 2 10:21 /usr/sbin/traceroute -rwxr-sr-x 1 root utmp 6096 Sep 13 20:11 /usr/sbin/utempter -rwsr-xr-x 1 root root 14124 Aug 17 22:31 /bin/su *-rwsr-xr-x 1 root root 53620 Sep 13 20:26 /bin/mount *-rwsr-xr-x 1 root root 26700 Sep 13 20:26 /bin/umount *-rwsr-xr-x 1 root root 18228 Sep 10 16:04 /bin/ping *-rwxr-sr-x 1 root root 3860 Nov 23 21:59 /sbin/netreport -r-sr-xr-x 1 root root 26309 Oct 11 20:48 /sbin/pwdb_chkpwdДля отключения бита “s” введите следующие команды:
Если вы хотите узнать, что делает каждая из программ используйте руководство
man. Например,
[root@deep]# man netreport
Под Red Hat 6.1
[root@deep /]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Вы можете добавить эту команду в /etc/rc.d/rc.local, чтобы она выполнялась
каждый раз при загрузке компьютера. Невосприимчивость к ping спасет вас
от многих хакеров, потому что они даже не узнают о вашем существовании.
Для восстановления способности отвечать на ping введите следующую команду:
[root@deep /]# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Под Red Hat 6.2
Редактируйте файл “/etc/sysctl.conf” и добавьте следующую строку:
# Enable ignoring ping request
net.ipv4.icmp_echo_ignore_all =
1
Вы должны перезагрузить ваши сетевые устройства, чтобы изменения вступили
в силу.
[root@deep /]# /etc/rc.d/init.d/network
restart
Setting network parameters [ OK ] Bringing up interface lo [ OK ]
Под Red Hat 6.1
[root@deep /]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
Вы можете добавить эту команду в /etc/rc.d/rc.local, чтобы она выполнялась каждый раз при загрузке компьютера.
Под Red Hat 6.2
Редактируйте файл “/etc/sysctl.conf” и добавьте следующую строку:
# Enable ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts
= 1
Вы должны перезагрузить ваши сетевые устройства, чтобы изменения вступили
в силу.
[root@deep /]# /etc/rc.d/init.d/network
restart
Setting network parameters [ OK ] Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK ]
Чтобы заблокировать IP маршрутизацию от источника введите следующую команду:
Под Red Hat 6.1
[root@deep /]# for f in /proc/sys/net/ipv4/conf/*/accept_source_route;
do
> echo 0 > $f
> done
[root@deep /]#
Добавьте эти строки в файл “/etc/rc.d/rc.local”. чтобы они выполнялись при каждой загрузке компьютера.
Под Red Hat 6.2
Редактируйте файл “/etc/sysctl.conf” и добавьте следующую строку:
# Disables IP source routing
net.ipv4.conf.all.accept_source_route
= 0
Вы должны перезагрузить ваши сетевые устройства, чтобы изменения вступили
в силу.
[root@deep /]# /etc/rc.d/init.d/network
restart
Setting network parameters [ OK ] Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK ]Замечание. Введенные выше команды будет отключать маршрутизацию от источника для всех интерфейсов (lo, ethN, pppN и т.д.).
Под Red Hat 6.1
[root@deep]# echo 1 > /proc/sys/net/ipv4/tcp_syncookies
Вы можете добавить эту команду в /etc/rc.d/rc.local, чтобы она выполнялась каждый раз при загрузке компьютера.
Под Red Hat 6.2
Редактируйте файл “/etc/sysctl.conf” и добавьте следующую строку:
# Enable TCP SYN Cookie Protection
net.ipv4.tcp_syncookies = 1
Вы должны перезагрузить ваши сетевые устройства, чтобы изменения вступили
в силу.
[root@deep /]# /etc/rc.d/init.d/network
restart
Setting network parameters [ OK ] Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK ]Замечание. Если при выполнении вышеприведенной команды вы получили сообщение об ошибке, то проверьте включена ли у вас в ядре опция TCP syncookies. (IP: TCP syncookie support (not enabled per default) (CONFIG_SYN_COOKIES) [Y/n/?]).
Под Red Hat 6.1
[root@deep /]# for f in /proc/sys/net/ipv4/conf/*/accept_redirects;
do
> echo 0 > $f
> done
[root@deep /]#
Вы можете добавить эту команду в /etc/rc.d/rc.local, чтобы она выполнялась каждый раз при загрузке компьютера.
Под Red Hat 6.2
Редактируйте файл “/etc/sysctl.conf” и добавьте следующую строку:
# Disable ICMP Redirect Acceptance
net.ipv4.conf.all.accept_redirects
= 0
Вы должны перезагрузить ваши сетевые устройства, чтобы изменения вступили
в силу.
[root@deep /]# /etc/rc.d/init.d/network
restart
Setting network parameters [ OK ] Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK ]Замечание. Введенные выше команды будет отключать прием ICMP redirect пакетов для всех интерфейсов (lo, ethN, pppN и т.д.).
Под Red Hat 6.1
[root@deep /]# echo 1 > /proc/sys/net/ipv4/ip_always_defrag
Вы можете добавить эту команду в /etc/rc.d/rc.local, чтобы она выполнялась каждый раз при загрузке компьютера.
Под Red Hat 6.2
Редактируйте файл “/etc/sysctl.conf” и добавьте следующую строку:
# Enable always defragging Protection
net.ipv4.ip_always_defrag = 1
Вы должны перезагрузить ваши сетевые устройства, чтобы изменения вступили
в силу.
[root@deep /]# /etc/rc.d/init.d/network
restart
Setting network parameters [ OK ] Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK]
Под Red Hat 6.1
[root@deep /]# echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
Вы можете добавить эту команду в /etc/rc.d/rc.local, чтобы она выполнялась каждый раз при загрузке компьютера.
Под Red Hat 6.2
Редактируйте файл “/etc/sysctl.conf” и добавьте следующую строку:
# Enable bad error message Protection
net.ipv4.icmp_ignore_bogus_error_responses
= 1
Вы должны перезагрузить ваши сетевые устройства, чтобы изменения вступили
в силу.
[root@deep /]# /etc/rc.d/init.d/network
restart
Setting network parameters [ OK ] Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK ]
Под Red Hat 6.1
[root@deep /]# for f in /proc/sys/net/ipv4/conf/*/rp_filter;
do
> echo 1 > $f
> done
[root@deep /]#
Вы можете добавить эту команду в /etc/rc.d/rc.local, чтобы она выполнялась каждый раз при загрузке компьютера.
Под Red Hat 6.2
Редактируйте файл “/etc/sysctl.conf” и добавьте следующую строку:
# Enable IP spoofing protection,
turn on Source Address Verification
net.ipv4.conf.all.rp_filter = 1
Вы должны перезагрузить ваши сетевые устройства, чтобы изменения вступили
в силу.
[root@deep /]# /etc/rc.d/init.d/network
restart
Setting network parameters [ OK ] Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK ]
Под Red Hat 6.1
[root@deep /]# for f in /proc/sys/net/ipv4/conf/*/log_martians;
do
> echo 1 > $f
> done
[root@deep /]#
Вы можете добавить эту команду в /etc/rc.d/rc.local, чтобы она выполнялась каждый раз при загрузке компьютера.
Под Red Hat 6.2
Редактируйте файл “/etc/sysctl.conf” и добавьте следующую строку:
# Log Spoofed Packets, Source Routed
Packets, Redirect Packets
net.ipv4.conf.all.log_martians
= 1
Вы должны перезагрузить ваши сетевые устройства, чтобы изменения вступили
в силу.
[root@deep /]# /etc/rc.d/init.d/network
restart
Setting network parameters [ OK ] Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK ]
Также, часто используются файлы с именами подобными “.mail” или “.xx”
Любимым трюком взломщиков является exploit SUID "root" программ, чтобы
в дальнейшем использовать их как скрытый вход в систему. Поэтому вам необходимо
находить и внимательно следить за всеми SUID/SGID программами, чтобы вовремя
заметить изменения внесенные кем-то в них. Используйте следующую команду
для поиска всех SUID/SGID программ на сервере.
[root@deep]# find / -type f \(
-perm -04000 -o -perm -02000 \) \-exec ls -lg {} \;
Замечание. Читайте в этой книге главу 10 “ Программное обеспечение обеспечения безопасности (Утилиты слежения)”, где приведена информация о программе sXid, которая поможет автоматизировать подобные задачи и будет высылать вам отчеты по электронной почте.
Для нахождения файлов и каталогов полностью открытых для записи используйте
следующие команды:
[root@deep]# find / -type f \(
-perm -2 -o -perm -20 \) -exec ls -lg {} \;
[root@deep]# find / -type d \(
-perm -2 -o -perm -20 \) -exec ls -ldg {} \;
Замечание. Для облегчения регулярного поиска и проверки подобных файлов и каталогов можно использовать специализированное программное обеспечение, например, Tripwire. Большую информацию об этом программном продукте можно прочитать в главе 12 “Программы обеспечения безопасности (Целостность системы)”,
Для поиска файлов и каталогов не имеющих владельца используйте команду:
[root@deep]# find / -nouser -o
–nogroup
Замечание. Файлы найденные в каталоге /dev не считаются неправильными.
Можно использовать задания cron, чтобы регулярно искать, проверять и удалять файлы $HOME/.rhosts. Не забудьте предупредить пользователей о подобной проверке.
Чтобы использовать cron для периодической проверке и отсылке отчетов
через электронную почту о наличие всех .rhosts файлах сделайте следующее:
Создайте от пользователя root скрипт find_rhosts_files в каталоге “/etc/cron.daily”
(touch /etc/cron.daily/find_rhosts_files) и внесите в него следующие строки:
#!/bin/sh
/usr/bin/find /home -name .rhosts
| (cat <<EOF
This is an automated report of
possible existent “.rhosts” files on the server
deep.openarch.com, generated by
the find utility command.
New detected “.rhosts” files under
the “/home” directory include:
EOF
cat
) | /bin/mail -s "Content of .rhosts
file audit report" root
Сделайте этот скрипт исполняемым и проверьте чтобы пользователем и группой
владеющими этим файлом были root.
[root@deep]# chmod 755 /etc/cron.daily/find_rhosts_files
[root@deep]# chown 0.0 /etc/cron.daily/find_rhosts_files
Каждый день по почте пользователю root будут поступать письма с темой: “Content of .rhosts file audit report” и содержащие список найденных файлов .rhosts.
Назад | Оглавление | Вперед |