Так называемые “суидные” файлы выполняются с правами владельца этих файлов.
Таким образом, при наличии уязвимости в этих файлах, злоумышленник может внедрить произвольный код на исполнение.
Как найти все SUID/SGID файлы
# df --local -P | awk {"if (NR!=1) print \$6"} | xargs -I "{}" find "{}" -xdev -type f -perm -4000 -print # df --local -P | awk {"if (NR!=1) print \$6"} | xargs -I "{}" find "{}" -xdev -type f -perm -2000 -print
Далее вы можете сравнить их со списом, приведенным ниже. Список собирался на Debian, Ubuntu, SUSE и CentOS.
Список нормальных SUID/SGID файлов приводится тут http://telegra.ph/Bazovye-SUIDSGID-fajly-10-09.
Если у вас нашлись какие-то другие файлы, то это могут быть:
- файлы дополнительного ПО
- вредоносные или опасные файлы.
Вы можете воспользоваться поиском в интернете о каждом конкретном файле из вашего списка
Если вы не нашли, что этому файлу действительно нужны особые права на исполнение, то лучше удалить его или понизить права права.
# chmod u-s <file> # chmod g-s <file>
Также есть много дефолтных SUID/SGID файлов, которые никогда не используются, но при выявлении уязвимостей в них, могут быть используемы злоумышленником.
С них тоже стоит убрать привилегии .
Примечание. Будьте внимательны, так как вы можете их использовать.
# chmod u-s /usr/bin/suidperl /usr/bin/sperl5.6.1 /usr/bin/gpasswd /usr/bin/kon < chmod u-s /usr/bin/newvc /usr/bin/chfn /usr/bin/chsh /usr/bin/newgrp /usr/bin/lppasswd # chmod u-s /usr/bin/kcheckpass /usr/bin/ssh /usr/bin/rcp /usr/bin/rlogin /usr/bin/rsh /usr/bin/inndstart # chmod u-s /usr/bin/rnews /usr/bin/startinnfeed /usr/bin/nwsfind /usr/bin/uucp /usr/bin/cu # chmod u-s /usr/bin/uuname /usr/bin/uustat /usr/bin/uux # chmod u-s /usr/lib/mc/bin/cons.saver # chmod -R u-s /usr/lib/amanda/ # chmod u-s /usr/sbin/ping6 /usr/sbin/traceroute6 /usr/sbin/sendmail.sendmail /usr/sbin/usernetctl # chmod u-s /usr/sbin/userhelper /usr/sbin/amcheck /usr/sbin/uucico /usr/sbin/uuxqt # chmod u-s /sbin/pwdb_chkpwd /sbin/unix_chkpwd /sbin/cardctl # chmod -R g-s /var/mailman/ # chmod g-s /var/spool/slrnpull/out.going # chmod g-s /var/ftp/pub # chmod g-s /usr/bin/wall /usr/bin/write /usr/bin/kdesud /usr/bin/slrnpull /usr/bin/cu /usr/bin/uuname # chmod g-s /usr/sbin/utempter /usr/sbin/uucico /usr/sbin/uuxqt # chmod g-s /sbin/netreport