На этот вопрос уже есть ответ здесь:
- Как раздеть систему Linux? 5 ответов
Извиняюсь, если это не подходящее место для публикации!
Я проектирую минимальную систему Linux для тестирования на промышленном ПК. Конечная цель - безопасность. Аппаратное обеспечение ПК известно и не изменится, поэтому мне придется немного урезать свою начальную точку, CentOS 6. В конце я буду наращивать, а не урезать.
(Cue заграждение вопросов)
Что было бы лучшим способом начать процесс сокращения? Будет ldd
лучше для поиска и удаления неиспользуемых библиотек? А как насчет драйверов?
Что является хорошей отправной точкой для наращивания? Ядро должно быть совместимо с чипом TPM, и будет использоваться SE Linux. Будет ли рекомендован Damn Small Linux? Должен ли я написать свой собственный init
?
Спасибо!
Ответы:
Что было бы лучшим способом начать процесс сокращения?
Соберите начальный компьютер как можно меньше, используя только те пакеты, которые вам нужны.
Затем проверьте все имеющиеся у вас модули и удалите по одному, если вы не уверены. Проверьте http://www.cyberciti.biz/faq/add-remove-list-linux-kernel-modules/
После сборки сначала сделайте резервную копию, а затем проверьте файл /root/anaconda-ks.cfg.
Под пакетами вы увидите, что все установлено. Вы можете прочитать больше об этом здесь: https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/sn-automating-installation.html
Для ядра используйте то, что рекомендуется для вашего приложения. Новейшее не всегда лучшее для вашей среды.
Вы можете использовать этот скрипт anaconda для установки на другие машины.
% пакетов
@база
@ клиент-Упр-инструменты
@core
@debugging
@ Базовый рабочий стол
@ Настольная отладка
@ Настольная платформа
@ Каталог-клиент
@fonts
@ Общий рабочий стол
@ графический-администратор-инструменты
@ ввода-методы
@интернет браузер
@ Java-платформа
@ Наследие-х
@ Сетевая файловая система клиент
@ Perl-среда
@ Печати клиента
@ remote-настольные-клиенты
@ Серверная платформа
@ Сервер политика
@ x11
@my_group_id
чел
питон-dmidecode
Oddjob
wodim
SGPIO
genisoimage
Исспользуя
Когда вы все закончите, включите selinux, ознакомьтесь с https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Working_with_Sabling__uxESelling_wD
Если вам нужно развернуть это на регулярной основе
Возможно, вы захотите создать загрузочный сервер PXE, чтобы установить установки по сети. Проверьте https://www.dalemacartney.com/2012/09/20/creating-a-pxe-deployment-server-with-red-hat-enterprise-linux-6/
источник
lspci
иlsmod
из запущенной системы, здесь вам может помочь), вы можете захотеть взглянуть на компиляцию собственного ядра с отключенной загрузкой модулей и только с теми модулями, которые вам нужны. Это препятствует загрузке злоумышленниками пользовательских модулей ядра, которые могут предоставить им полный доступ к вашей системе.