Удаление gcc в целях безопасности
Модератор: /dev/random
-
-sanches-
- Сообщения: 333
- ОС: Gentoo
Удаление gcc в целях безопасности
Вроде как рекомендуют. Удалил на сервере. Перестал работать eix, т.к. не стало библиотеки libstdc или как-то так. Собственно, на сколько верно удаление гцц при таком раскладе? Ведь может еще что-то перестало работать.
-
Black
- Сообщения: 1104
- ОС: ArchLinux
Re: Удаление gcc в целях безопасности
Врут. Для пущей безопасности надо удалить glibc и ядро.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
-
deadhead
- Сообщения: 1913
- Статус: zzz..z
-
/dev/random
- Администратор
- Сообщения: 5438
- ОС: Gentoo
Re: Удаление gcc в целях безопасности
Абсолютно НЕВЕРНО. Единственное, чем может повредить gcc - это тем, что злоумышленник, получив права непривилегированного пользователя, сможет собрать какой-нибудь эксплойт. Однако на деле их гораздо чаще собирают у себя и кидают жертве уже бинарными. Поэтому для защиты от подобных вещей нужно не gcc удалять, а монтировать все публично доступные на запись разделы как noexec.
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Удаление gcc в целях безопасности
Ого как радикально. Хотя бы права на запуск GCC от непривилегированного пользователя отобрали, если уж так хочется, но удалять-то зачем.
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Удаление gcc в целях безопасности
ну если вы перед этим уже всё сделали (список очень длинный... mount noexec всё, всё в chroot, запрет ВСЕМ и ВСЮДУ, в т.ч. и руту... И прочие мероприятия, к примеру автоматчики по периметру...), тогда просто удалите все бинарники gcc. и все ненужные либы.
значит вы неправильно подошли к проблеме - работать должно перестать ВСЁ. а потом каждый бинарник надо отдельно включить ручками.
А так - бесполезно. Это как напильники прятать, что-б ключи не подделывали. Вы сначала дверь закройте, и хотя-бы замок купите...
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
-
-sanches-
- Сообщения: 333
- ОС: Gentoo
Re: Удаление gcc в целях безопасности
Ощущение глупости удаления гцц подтвердилось общественным мнением, чего и требовалось.
-
broom
- Бывший модератор
- Сообщения: 1629
- Статус: мизантроп.ка
- ОС: Gentoo
Re: Удаление gcc в целях безопасности
Я может сейчас глупый вопрос задам, но всё-таки...
Вернуть-то gcc теперь можно? emerge работать не перестал (чтобы бинарный пакет поставить)?
Вернуть-то gcc теперь можно? emerge работать не перестал (чтобы бинарный пакет поставить)?
but in the darkness, behind your smile, you scream... © Dio
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Удаление gcc в целях безопасности
Предполагаешь, что удаление gcc в генте это аналог проблемы chmod a-x $(which chmod)? (:
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
broom
- Бывший модератор
- Сообщения: 1629
- Статус: мизантроп.ка
- ОС: Gentoo
Re: Удаление gcc в целях безопасности
Это значит, что "всё нормально, gcc обратно поставить можно"? :)
upd. Ну хотя можно же взять бинарный пакет и просто распаковать tar'ом.
upd. Ну хотя можно же взять бинарный пакет и просто распаковать tar'ом.
but in the darkness, behind your smile, you scream... © Dio
-
/dev/random
- Администратор
- Сообщения: 5438
- ОС: Gentoo
Re: Удаление gcc в целях безопасности
Бинарные пакеты (если создавались) можно установить без gcc. Если же бинарных пакетов нет, можно выдрать gcc из стейджа.
-
-sanches-
- Сообщения: 333
- ОС: Gentoo
-
xorader
- Сообщения: 1030
- Статус: собирающий миры
- ОС: Debian
Re: Удаление gcc в целях безопасности
буду немногословен: 
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
*offtopic* - ololo!
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
-
polovinamozga
- Сообщения: 99
- ОС: gentoo
Re: Удаление gcc в целях безопасности
Почитал и посмеялся.
Сам когда-то года два назад в целях эксперимента удалил gcc и тоже наслушавшись про "безопасность".
Вернуть можно сделав шрут и распаковав заново стейдж.
Сам когда-то года два назад в целях эксперимента удалил gcc и тоже наслушавшись про "безопасность".
Вернуть можно сделав шрут и распаковав заново стейдж.
-
xorader
- Сообщения: 1030
- Статус: собирающий миры
- ОС: Debian
Re: Удаление gcc в целях безопасности
polovinamozga писал(а): ↑13.06.2010 17:56Почитал и посмеялся.
Сам когда-то года два назад в целях эксперимента удалил gcc и тоже наслушавшись про "безопасность".
Вернуть можно сделав шрут и распаковав заново стейдж.
... или попросить добрых людей .tbz2-файл сделать с gcc
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
*offtopic* - ololo!
-
sspphheerraa
- Сообщения: 1375
- ОС: Gentoo
Re: Удаление gcc в целях безопасности
gcc - системный пакет, а для всех системных пакетов рекомендуется делать .tbz2
(можно, чтоб это делалось автоматом - FEATURES="buildsyspkg")
(можно, чтоб это делалось автоматом - FEATURES="buildsyspkg")
Sspphheerraa
-
taaroa
- Сообщения: 1319
Re: Удаление gcc в целях безопасности
С помощь какого "инструмента" вы "права на запуск GCC от непривилегированного пользователя отобрали"?
Мне известен только один надежный (unbreakable): RBAC.
:wq
-
sspphheerraa
- Сообщения: 1375
- ОС: Gentoo
Re: Удаление gcc в целях безопасности
Обычный chmod ...не?
Кому разрешено читать/запускать, тот пользуется, а кому запрещено - "command not found"
Sspphheerraa
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
-
taaroa
- Сообщения: 1319
Re: Удаление gcc в целях безопасности
Просто рассмотрел возможные модели угрозы и составил модель нарушителя, вывод написал выше.
Если в систему уже проникли, а это следует из условия задачи, то запрет исполнения GCC от непривилегированного пользователя нарушителя от дальнейших действий не остановит.
Если "на локалхосте только я", то тем более, манипуляции сии с правами мне непонятны.
Товарищ deadhead еще в самом начале данной тему дал правильную ссылку...
P.S. да, это правда, не очень то доверяю продуктам от {RH,Novell,etc} и их возможностям, но разговор сейчас не об этом, речь о том, что в Gentoo только Hardened профили _рекомендованы_ для сервера.
P.P.S. еще можно сделать так: сборочный сервер, он же тестовый стенд, все остальные машины без компиляторов, настроены на использование готовых бинарных пакетов, как в традиционных дистрибутивах.
P.P.P.S. а еще можно сделать так... и так... и эдак... вопрос в том, действительно ли это необходимо с учетом затрат (человеческий и машинный ресурс) и решаемых задач.
:wq
-
/dev/random
- Администратор
- Сообщения: 5438
- ОС: Gentoo
Re: Удаление gcc в целях безопасности
Если уж взломщику так приспичит использовать gcc на взломанной машине (что сомнительно), он всегда сможет его просто туда закачать. Куда-нибудь в домашний каталог, и прописать $PATH. Так что, как я уже сказал, единственной защитой от подобных вещей является не удаление gcc, а монтирование всех доступных простым юзерам на запись разделов как noexec.
А тому, кто первым придумал эту идиотскую идею удалять gcc, нужно надавать по тому месту, которым он в это время думал. Т.е. под зад коленкой.
А тому, кто первым придумал эту идиотскую идею удалять gcc, нужно надавать по тому месту, которым он в это время думал. Т.е. под зад коленкой.
-
sspphheerraa
- Сообщения: 1375
- ОС: Gentoo
Re: Удаление gcc в целях безопасности
но ведь тогда юзер не сможет запускать и свои "легальные" приложения
Sspphheerraa
-
/dev/random
- Администратор
- Сообщения: 5438
- ОС: Gentoo
Re: Удаление gcc в целях безопасности
sspphheerraa писал(а): ↑21.06.2010 13:04но ведь тогда юзер не сможет запускать и свои "легальные" приложения
Легальные приложения - это те, которые поставил администратор. Их он запускать сможет.
-
taaroa
- Сообщения: 1319
Re: Удаление gcc в целях безопасности
sspphheerraa писал(а): ↑21.06.2010 13:04но ведь тогда юзер не сможет запускать и свои "легальные" приложения
Лично меня этот и ему подобные трюки не остановят, да.
Поехали
Код: Выделить всё
# mount | grep sdb6
/dev/sdb6 on /media/sdb6 type ext4 (rw,noexec,nosuid,nodev,noatime,user_xattr)
$ cat /media/sdb6/gcc_out.sh
#!/bin/sh
CFLAGS=`grep 'CFLAGS=' /etc/make.conf|awk -F\" '{print $2}'`
gcc $CFLAGS -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p'
$ /media/sdb6/gcc_out.sh
zsh: Отказано в доступе: /media/sdb6/gcc_out.sh
$ echo 'hah, noexec (;'
hah, noexec (;
$ cat /media/sdb6/gcc_out.sh|bash
-D_FORTIFY_SOURCE=2 -march=k8-sse3 -mcx16 -msahf --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=k8 -fno-strict-overflow -mmmx -msse -msse2 -msse3 -mssse3 -m3dnow -mfpmath=sse -Wno-all -fPIE -O2 -fstack-protector-all:wq
-
mixrin
- Сообщения: 155
- ОС: gentoo ~amd64
-
/dev/random
- Администратор
- Сообщения: 5438
- ОС: Gentoo
Re: Удаление gcc в целях безопасности
Этот трюк давно известен. Но в том-то и дело, что скрипты могут навредить только если их удастся прописать в автозапуск. В .bashrc, к примеру. Против этого есть давно известная защита: принадлежащий руту публично-читаемый .bashrc; принадлежащий руту, но полностью доступный пользователю домашний каталог и sticky-бит на нём. Таким же способом нужно защитить другие автоматически выполняемые скрипты.
А для применения локальных эксплойтов, как правило, нужен бинарник. Бинарники на noexec-разделе не запустятся.