Безопасность и оптимизация Linux.Редакция для Red Hat

       

Инсталляция вашего Linux сервера (Часть 2)


В этой главе


 

Описания программ, которые должны быть деинсталлированы из соображений безопасности

Ниже приводится список программ и краткие описания их использования. Для улучшения безопасности мы должны деинсталлировать их. Для получения большей информации и пояснений об их особенностях и использовании читайте руководство пользователя Red Hat или инсталлировав пакет дайте команду “rpm -qi foo”. По ней вы получите краткое описание пакета. Не забудьте потом деисталлировать этот пакет.

Applications/File:
(All) GIT (GNU Interactive Tools) предоставляет расширяемый броузер файловой системы, с ASCII/hexadecimal программой просмотра, программой просмотра/уничтожения процессов, и другими утилитами и shell-скриптами (ненужный пакет).

Applications/Internet:
(All) Finger это утилита, которая позволяет пользователям получить информацию о пользователях системы (регистрационное имя, домашний каталог, как долго он подключен к системе и т.д. (Риск для безопасности).
(All) В пакет ftp входит стандартный консольный UNIX-овый ftp-клиент. FTP это протокол пересылки файлов который широко используется в Интернет для пересылки и архивирования файлов. (Риск для безопасности).
(All) Программа fwhois позволяет пользователям организовывать запросы к базам данных whois. (Риск для безопасности)
(All) Ncftp это улучшенный ftp-клиент. Среди улучшений можно выделить редактирование командной строки, истории команд, рекурсивное закачивание файлов, автоматическое подключение к системе как анонимный пользователь и др. (Риск для безопасности, ненужный пакет).
(All) Пакет rsh включает комплект программ, которые позволяют пользователям выполнять команды на удаленной машине, присоединяться к удаленным машинам и копировать файлы между компьютерами (Риск для безопасности).
(All) Пакет ntalk содержит клиентскую программу и демон для организации чатов между пользователями с использованием протокола Internet talk. (Риск для безопасности).
(All) Telnet – это популярная программа для подключения к удаленным системам через Интернет. (Риск для безопасности).

Applications/Publishing:
(All) Ghostscript это набор программного обеспечения , которое предоставляет интерпретатор PostScript(TM), набор C подпрограмм (библиотека Ghostscript, которая обеспечивает графическую совместимость в интерпретаторе PostScript) и интерпретатор Portable Document Format (PDF) файлов. (Ненужный пакет)
(All) ghostscript-fonts могут использоваться интерпретатором GhostScript во время визуализации текста. Они идут в дополнение к общим шрифтам GhostScript и X11. (ненужный пакет).
(All) Утилита mpage получает на вход текстовый или PostScript файл, изменяет размер текста и печатает файл на PostScript принтере, умещая на одной странице несколько страниц текста. (Ненужный пакет, нет принтеров установленных на сервере).
(All) Пакет rhs-printfilters содержит комплект фильтров печати, которые первоначально предназначались для Red Hat printtool. (Не нужный пакет, нет принтеров установленных на сервере).
(6.2) Пакет groff-perl содержит набор команд и фильтр печати используемого в среде принтера (Ненужный пакет, нет принтеров проинсталлированных на сервере).
(6.2) Пакет pnm2ppa содержит драйвер цветной печати для принтера HP PPA. (Не нужный пакет, нет принтеров установленных на сервере).

Applications/System:
(All) Пакет arpwatch включает две программы arpwatch и arpsnmp. Эти обе утилиты предназначены для мониторинга сети. Они следят за сетевым трафиком в Ethernet или FDDI сетях, ведут базу данных участников соединений и могут пересылать отчеты об определенных изменениях по почте. (Не нужный пакет).
(All) Bind-utils – это набор утилит, предназначенных для организации запросов к DNS серверам и поиска информации об Интернет хостах. (Мы будем компилировать их позже).
(6.1) knfsd-clients пакет содержит программу showmount. Showmount запрашивает демон монтирования на удаленной машине информацию о NFS сервере. (Риск для безопасности).
(6.1) Команда procinfo берет информацию из каталога /proc, форматирует ее и отображает на стандартном устройстве вывода. Вы можете получать информацию о вашей системе. (Ненужный пакет, существуют другие методы получения информации).
(All) Утилита rdate получает информацию о дате и времени от удаленной машины в сети по протоколу описанному в RFC 868. (Риск для безопасности).
(All) Программа rdist управляет идентичностью копий файлов на разных компьютерах. Если возможно, rdist будет хранить данные о владельце файла, группе, правах доступа и времени модификации, и она может обновить программу если она существует. (риск для безопасности).
(All) Пакет ucd-snmp содержит различные утилиты, которые можно использовать с проектом сетевого управления UCD-SNMP (Ненужный пакет. Риск для безопасности).
(All) Утилита screen позволяет вам иметь несколько соединений на одном терминале. Она полезна тем пользователям, которые присоединяются telnet-ом к удаленной машине или используют “тупой” терминал, но хотят иметь более одного входа в систему (Ненужный пакет).

Documentation:
(All) Пакет indexhtml включает HTML страницы и графические изображения для страниц с приглашениями в вашем веб-броузере, которые вы видите после полной инсталляции Red Hat Linux. (Ненужный пакет).

System Environment/Base:
(All) Chkfontpath это простая терминальная программа для добавления, удаления и просмотра каталогов включенных в поисковые пути для шрифтов X сервера. (ненужный пакет).
(All) Network Information Service (NIS) – это система, которая предоставляет сетевую информацию (регистрационное имя, пароль, имя домашнего каталога, информацию о группах) всем компьютерам в сети. (Риск для безопасности).

System Environment/Daemons:
(All) XFree86-xfs – это сервер шрифтов для Xfree86. Вы можете предоставлять шрифты другим удаленным X серверам и они смогут использовать все шрифты которые есть у вас на сервере, даже если их нет у них на компьютере. (Ненужный пакет).
(All) Пакет lpr предоставляет базовую системную утилиту для управления сервисом печати (Ненужный пакет).
(All) Пакет pidentd включает демон ident, который реализует сервер идентификации, описанный в RFC1413. Identd смотрит за определенными TCP/IP соединениями и возвращает оба имени пользователей и другую информацию о процессах, которые владеют соединением. (Ненужный пакет. Многие машины в сети не имеют подобного демона или выключают его.)
(All) Программа portmapper – это защитная утилита, которая предупреждает кражу из NIS (YP), NFS важной информации через portmapper. Portmapper управляет RPC соединениями, которые используются такими протоколами как NFS и NIS. (Ненужный пакет. Риск для безопасности).
(6.1) Routed – это демон маршрутизации, который обрабатывает входящий RIP трафик и широковещательный исходящий RIP трафик о сетевых маршрутах, согласно таблицам маршрутизации. Эти таблицы очень важны для сетевого компьютера, по ним он определяет куда надо посылать пакеты. (Ненужный пакет. Риск для безопасности).
(All) Программа rusers позволяет пользователям узнавать кто присоединен к удаленным компьютерам в сети. Она выдает результаты подобные команду who, но для определенного списка компьютеров или для всех машин в локальной сети (Риск для безопасности).
(All) Программа rwho выводит результаты подобно команде who, но для всех компьютеров в локальной сети на которых запущен демон rwho. (Риск для безопасности).
(6.1) Trivial File Transfer Protocol (TFTP) обычно используется для загрузки бездисковых рабочих станций. Пакет tftp предоставляет пользовательский интерфейс к TFTP, который позволяет пересылать файлы с или на удаленную машину (Риск для безопасности, ненужный пакет).
(All) SNMP (Simple Network Management Protocol) это протокл используемый для сетевого управления. (Ненужный пакет, риск для безопасности).
(6.2) пакет finger-server содержит демон finger, который запускается из /etc/inetd.conf и позволяет удаленным пользователям получать информацию о пользователях на сервере. (риск для безопасности).
(6.2) Пакет nfs-utils предоставляет утилиты и демон для корневого сервера NFS. Он должен быть проинсталлирован если вы планируете предоставлять NFS сервис. (риск для безопасности, NFS сервис не инсталлирован на сервере).
(6.2) Пакет rsh-server содержит сервер нужный для работы rsh, rlogin, rcp, которые предоставляют доступ к командам на удаленной машине. (риск для безопасности).
(6.2) Пакет rusers-server содержит сервер, который принимает пользовательские запросы и позволяет им узнать кто подключен к серверу (риск для безопасности)
(6.2) Пакет rwall-server содержит демон, который позволяет принимать сообщения от удаленных пользователей (Риск для безопасности)
(6.2) Пакет talk-server содержит демон, который позволяет вам беседовать (chat) из терминала с пользователями из удаленных UNIX систем (риск для безопасности).
(6.2) Пакет telnet-server содержит демон который реализует telnet протокол на вашем сервере (риск для безопасности)
(6.2) Пакет tftp-server содержит демон реализующий TFTP сервер на вашем компьютере, который позволяет пересылать файлы на или с удаленных машин (риск для безопасности)
(6.2) Пакет ypserv это NIS (Network Information Service) сервер, который предоставляет сетевую информацию (NIS) всем машинам в сети (риск для безопасности, мы не используем его на нашем сервере).

System Environment/Libraries:
(All) XFree86-libs включает общие библиотеки, которые могут использовать большинство программ, запускаемых под X (Ненужный пакет).
(All) Пакет libpng включает библиотеку функций для создания и манипулирования PNG (Portable Network Graphics) изображениями. PNG это растровый графический формат подобный GIF. (Ненужный пакет).

User Interface/X:
(6.1) XFree86-75dpi-fonts включает 75 dpi шрифты используемые на большинстве X Window Systems. (ненужный пакет).
(All) urw-fonts включает свободные версии 35 PostScript шрифтов. (Ненужный пакет).

После определения пакетов программа будет форматировать каждый раздел, что может занять до нескольких минут, в зависимости от быстродействия компьютера. После форматирования выбранные пакеты будут установлены.
Как использовать команды RPM.



В этой главе



 

Программное обеспечение, которое должно быть установлены после инсталляции сервера.
Чтобы иметь возможность компилировать программы нужные вашему серверу вы должны проинсталлировать ряд RPM пакетов. Эта часть инсталляции очень важна и вы должны обязательно установить все программное обеспечение описанное ниже. Эти пакеты находятся на Red Hat Part 1 CD-ROM в каталоге RedHat/RPMS.
Шаг 1.
Мы монтируем CDROM и перемещаемся в каталог RPMS:
[root@deep]# mount /dev/cdrom /mnt/cdrom/

[root@deep]# cd /mnt/cdrom/RedHat/RPMS/

Это минимальное количество программного обеспечения необходимого для компиляции большинства программ нужных вашему серверу. Если у вас возникают проблему с компиляцией каких-либо программ, внимательно прочитайте файл README, чтобы выяснить, что должно быть установлено до компиляции.
 
(6.1) (6.2)
autoconf-2.13-5.noarch.rpm autoconf-2.13-5.noarch.rpm
m4-1.4-12.i386.rpm m4-1.4-12.i386.rpm
automake-1.4-5.noarch.rpm automake-1.4-6.noarch.rpm
dev86-0.14.9-1.i386.rpm dev86-0.15.0-2.i386.rpm
bison-1.28-1.i386.rpm bison-1.28-2.i386.rpm
byacc-1.9-11.i386.rpm byacc-1.9-12.i386.rpm
cdecl-2.5-9.i386.rpm cdecl-2.5-10.i386.rpm
cpp-1.1.2-24.i386.rpm cpp-1.1.2-30.i386.rpm
cproto-4.6-2.i386.rpm cproto-4.6-3.i386.rpm
ctags-3.2-1.i386.rpm ctags-3.4-1.i386.rpm
egcs-1.1.2-24.i386.rpm egcs-1.1.2-30.i386.rpm
ElectricFence-2.1-1.i386.rpm ElectricFence-2.1-3.i386.rpm
flex-2.5.4a-7.i386.rpm flex-2.5.4a-9.i386.rpm
gdb-4.18-4.i386.rpm gdb-4.18-11.i386.rpm
kernel-headers-2.2.12-20.i386.rpm kernel-headers-2.2.14-5.0.i386.rpm
glibc-devel-2.1.2-11.i386.rpm glibc-devel-2.1.3-15.i386.rpm
make-3.77-6.i386.rpm make-3.78.1-4.i386.rpm
patch-2.5-9.i386.rpm patch-2.5-10.i386.rpm

Шаг 2.
(6.1) Инсталлируем все пакеты описанные выше при помощи одной команды.
[root@deep RPMS]# rpm -Uvh autoconf-2.13-5.noarch.rpm m4-1.4-12.i386.rpm automake-1.4-5.noarch.rpm dev86-0.14.9-1.i386.rpm bison-1.28-1.i386.rpm byacc-1.9-11.i386.rpm cdecl-2.5-9.i386.rpm cpp-1.1.2-24.i386.rpm cproto-4.6- 2.i386.rpm ctags-3.2-1.i386.rpm egcs-1.1.2-24.i386.rpm ElectricFence-2.1- 1.i386.rpm flex-2.5.4a-7.i386.rpm gdb-4.18-4.i386.rpm kernel-headers- 2.2.12-20.i386.rpm glibc-devel-2.1.2-11.i386.rpm make-3.77-6.i386.rpm patch- 2.5-9.i386.rpm


Эта секция включает обзор основных режимов используемых в RPM для инсталляции, деинсталляции, обновления, организации запросов, просмотра описаний, проверки и создания RPM пакетов на вашей Linux системе. Вы должны быть с этими командами “на ты”, потому что дальше они будут часто использоваться в этой книге.
Для инсталляции RPM пакетов используйте команду:
[root@deep]# rpm -ivh foo-1.0-2.i386.rpm

RPM пакеты имеют имена файлов подобные следущему foo-1.0-2.i386.rpm, которое включает следующие составляющие: имя пакета (foo), версия (1.0), релиз (2) и архитектура (i386).
Для удаления RPM пакета используйте команду:
[root@deep]# rpm -e foo

Заметим, что мы используем имя пакета “foo”, а не оригинальное имя пакета “foo-1.0-2.i386.rpm”.
Для обновления RPM пакета, используйте команду:
[root@deep]# rpm -Uvh foo-1.0-2.i386.rpm

RPM автоматически деинсталлирует старую версию пакета foo и инсталлирует новую. Всегда используйте “rpm -Uvh” для инсталляции, так как это работает хорошо даже когда предыдущая версия не установлена.
Вопрос о RPM пакете:
[root@deep]# rpm -q foo

Эта команда будет выводить имя пакета, версию и номер релиза установленного пакета. Используйте эту команду для проверки установлен ли у вас пакет или нет.
Для получения информации о пакетет используйте команду:
[root@deep]# rpm -qi foo

Эта команда выводит информацию о пакете, включая имя, версию и описание установленной программы.
Для получения списка файлов в пакете:
[root@deep]# rpm -ql foo

Эта команда выдаст список всех файлов в инсталлированом пакете.
Для проверки сигнетуры пакета используйте команду:
[root@deep]# rpm --checksig foo

Эта команды проверяет PGP сигнатуру пакета foo, сравнивая оригинальную и интегрированную. Конфигурационная информация PGP читается из конфигурационного файла. Всегда используйте эту команду до инсталляции пакета в вашей системе. До использования этой команды у вас должно быть проинсталлирована программное GnuPG или Pgp.
Для инсталляции пакета из исходных файлов используйте команду:
[root@deep]# rpm -ivh --rebuild foo.src.rpm



Приведенная выше команда будет конфигурировать и компилировать пакет "foo", создавая двоичный RPM файл в каталоге "/usr/src/redhat/RPMS/i386/". Затем вы можете проинсталлировать пакет так, как вы это делаете обычно.
Запуск и останов сервисных демонов.
После загрузки, ядро запускает процесс Init, а он уже запускает все остальные процессы необходимые для работы системы (демон Apache, все сетевые демоны и все то, что вы хотите запустить).
Как же init запускает и останавливает процессы? Каждый из скриптов, находящихся в каталоге “/etc/rc.d/init.d/”, может принять несколько аргументов, в том числе “start” и “stop”. Вы можете запустить эти скрипты и в ручную.
Например:
Для старта httpd Веб сервера вручную
[root@deep]# /etc/rc.d/init.d/httpd start

Starting httpd:      [ OK ]
Для остановки httpd Веб сервера вручную.
[root@deep]# /etc/rc.d/init.d/httpd stop

Shutting down http:      [ OK ]
Для перезагрузки httpd Веб сервера вручную.
[root@deep /]# /etc/rc.d/init.d/httpd restart

Shutting down http:      [ OK ]

Starting httpd:      [ OK ]
Просмотрите содержимое каталога“/etc/rc.d/init.d/”, чтобы узнать какие сервисы доступны и используйте команды start|stop для работы с ними.
Программное обеспечение, которое должно быть деинсталировано после установки сервера
Red Hat Linux инсталлирует ряд программ в вашей системе от которых вы не можете отказаться в процессе установки. Из-за этого вы должны удалить эти программы вручную после инсталляции сервера.
 
(6.1) (6.2)
pump pump
mt-st mt-st
eject eject
mailcap mailcap
apmd apmd
kernel-pcmcia-cs  kernel-pcmcia-cs 
linuxconf linuxconf
getty_ps getty_ps
setconsole
isapnptools isapnptools
setserial setserial
kudzu kudzu
raidtools raidtools
gnupg gnupg
redhat-logos redhat-logos
redhat-release redhat-release
gd gd
pciutils pciutils
rmt rmt
<


Используйте следующие команды RPM для удаления этих программ
rpm -e softwarenames

где “softwarenames” это имя программы для деинсталляции, например foo. Программы подобные apmd, kudzu и sendmail являются демонами, которые запускаются как процессы. Лучше остановить эти процессы прежде чем удалять их.
Для остановки этих процессов используйте следующие команды:
[root@deep]# /etc/rc.d/init.d/apmd stop

[root@deep]# /etc/rc.d/init.d/sendmail stop

[root@deep]# /etc/rc.d/init.d/kudzu stop
Сейчас вы можете спокойно деисталлировать их и другие программы как описано ниже:
Шаг 1
(6.1) Удаление определенных программ.
[root@deep /]# rpm -e --nodeps pump mt-st eject mailcap apmd kernel-pcmcia-cs linuxconf getty_ps setconsole isapnptools setserial kudzu raidtools gnupg redhat- logos redhat-release gd pciutils rmt
(6.2) Удаление определенных программ.
[root@deep /]# rpm -e --nodeps pump mt-st eject mailcap apmd kernel-pcmcia- cs linuxconf getty_ps isapnptools setserial kudzu raidtools gnupg redhat-logos redhat-release gd pciutils rmt
Шаг 2
(All) Ручное удаление файла linux.conf-installed.
[root@deep]# rm -f /etc/conf.linuxconf-installed

Заметим, что конфигурационный файл связанный с linuxconf должен быть удален вручную.
Программа hdparm необходима для IDE дисков, но не нужна для SCSI. Если у вас IDE диски вам нужно оставить эту программу иначе можете смело ее удалять.
[root@deep /]# rpm -e hdparm
Программы kbdconfig, mouseconfig и timeconfig необходимы для настройки клавиатуры, мыши и временной зоны. После того как все настроено, навряд ли придется, что-либо менять, поэтому можно удалять эти программы. Если в дальнейшем вам потребуется изменить настройки системы, то можно будет проинсталлировать их с CDROM.
[root@deep /]# rpm -e kbdconfig mouseconfig timeconfig authconfig ntsysv setuptool
Даже если ваша машина не будет выступать в роли почтового сервера все равно программа sendmail всегда будет нужна ей для отправки сообщений пользователю root от различного программного обеспечения. Sendmail это полнофункциональный почтовый агент доставки (Mail Transport Agent (MTA)), который занимается пересылкой почты с одной машины на другую. В Интернет sendmail занимается пересылкой почты из одной сети в другую. Sendmail может быть настроен для выполнения различных функций, как агент доставки почты к центральному почтовому узлу, как центральный почтовый хаб или просто как независимо существующий MTA. В зависимости от того, что вы хотите получить от sendmail, вы можете настроить его на выполнение различных задач. Из этих соображений вам надо удалить sendmail с вашего сервера и установить его так, как будет описано ниже в этой книге.
[root@deep /]# rpm -e sendmail



Описание программы, которые должны быть удалены после инсталляции Сервера
(All) DHCP (Dynamic Host Configuration Protocol) и BOOTP (Boot Protocol) являются протоколами, которые позволяют отдельным устройствам в IP-сетях получать конфигурационную информацию (ip-адрес, сетевая маска, широковещательный адрес и т.д.) от серверов. (Ненужный пакет).
(All) Пакет mt-st включает программное обеспечения для управления устройствами чтения с магнитных лент. Mt (для устройств magnetic tape devices) и st (для SCSI tape devices) может контролировать перемотку и вытаскивание ленты, пропуск файлов, блоков и пр. (Ненужный пакет).
(All) Программа eject позволяет пользователям извлекать преносимые утсройства информации (обычно это CDROM, гибкие диски или диски Iomega Jaz и Zip) используя программные средства. (ненужный пакет).
(All) Файл mailcap используется программой metamail, которая использует этот файл, чтобы определить как должны быть выведены нетекстовые и мультимедиа материалы (Ненужный пакет).
(All) Apmd – это демон расширенного управления питания и сопутствующие ему утилиты. Он может следить за батареями вашего ноутбука и предупредить всех пользователей если они почти разрядились (Ненужный пакет).
(All) Пакет kernel-pcmcia-cs для лаптоп компьютеров (и некоторые не-лаптоп), которые поддерживают PCMCI-карты расширения. (Ненужный пакет).
(All) Linuxconf это чрезвычайно удобная утилита для настройки системы. Она предоставляет вам четыре вида интерфейса: текстовый, в виде текстовых меню, графический для X11 и веб-интерфейс. (Ненужная программа, содержащая много ошибок).
(All) Пакет getty_ps содержит программы getty и uugetty, базовые программы для выполнения процесса login на Red Hat системе. Getty и uugetty используется для приемы входов в систему с консоли или терминала. (ненужный пакет).
(6.1) Setconsole базовая системная утилита для установки файлов /etc/inittab, /dev/systty и /dev/console для манипулирования новыми консолями. Консолью может быть любой локальный терминал (т.е напрямую присоединенный через видео карту) или последовательный терминал. (ненужный пакет).
(All) Пакет isapnptools включает утилиты для настройки ISA Plug-and-Play (PnP) карт и плат, которые совместимы со спецификацией ISA Plug-and-Play v.1.0a. (ненужный пакета).
(All) Setserial – это базовая системная утилита для просмотра и установки информации о последовательных портах. Setserial может находить и позволяет вам изменить I/O порт и IRQ, которые использует последовательное устройство. (Ненужный пакет).
(All) Kudzu – это утилита для автоматического определения аппаратного обеспечения. Во время загрузки, она может определить какие устройства были добавлены и удалены из вашей системы. (ненужный пакет).
(All) Пакет raidtools включает утилиты, которые нужны для установки и управления программных RAID устройств (использование комбинации из двух и более дисковых накопителей для защиты информации от ошибок и улучшения производительности). (В зависимости от того нужен вам RAID или нет).
(All) GnuPG – это GNU утилита для безопасного общения и хранения данных. Вы можете использовать ее для шифрования данных и создания цифровых ключей. Она включает расширенную систему управления ключами и совместима с предлагаемым OpenPGP Интернет стандартом описанном в RFC2440. (Мы установим этот пакет позже).
(All) Пакет redhat-logos включает файлы из Red Hat "Shadow Man" logo и RPM logo ("Logos"). (Ненужный пакет).
(All) redhat-release содержит Red Hat рели файлы. (Ненужный пакет).
(All) Gd – это графическая библиотека для создангия .gif файлов. Gd позволяет ваши программам быстро рисовать (линии, дуги, текст, цвета и вставки из других изображений) и записывать результаты в .gif файлы.(ненужный пакет).
(All) Этот пакет (pciutils) содержит программы необходимые для контроля и установки устройств подключенных к шине PCI (Ненужный пакет).
(All) Утилита rmt предоставляет удаленный доступ для резервного копирования (риск для безопасности, так как работа rmt зависит от rsh).



 
autoconf ##################################################
m4 ##################################################
automake ##################################################
dev86 ##################################################
bison ##################################################
byacc ##################################################
cdecl ##################################################
cpp ##################################################
cproto ##################################################
ctags ##################################################
egcs ##################################################
ElectricFence ##################################################
Flex ##################################################
Gdb ##################################################
kernel-headers  ##################################################
glibc-devel ##################################################
make ##################################################
patch ##################################################

(6.2) Инсталлируем все пакеты описанные выше при помощи одной команды.
[root@deep RPMS]# rpm -Uvh autoconf-2.13-5.noarch.rpm m4-1.4-12.i386.rpm automake-1.4-6.noarch.rpm dev86-0.15.0-2.i386.rpm bison-1.28-2.i386.rpm byacc-1.9-12.i386.rpm cdecl-2.5-10.i386.rpm cpp-1.1.2-30.i386.rpm cproto-4.6- 3.i386.rpm ctags-3.4-1.i386.rpm egcs-1.1.2-30.i386.rpm ElectricFence-2.1- 3.i386.rpm flex-2.5.4a-9.i386.rpm gdb-4.18-11.i386.rpm kernel-headers-2.2.14- 5.0.i386.rpm glibc-devel-2.1.3-15.i386.rpm make-3.78.1-4.i386.rpm patch-2.5- 10.i386.rpm

autoconf ##################################################
m4 ##################################################
automake ##################################################
dev86 ##################################################
bison ##################################################
byacc ##################################################
cdecl ##################################################
cpp ##################################################
cproto ##################################################
ctags ##################################################
egcs ##################################################
ElectricFence ##################################################
flex ##################################################
gdb ##################################################
kernel-headers  ##################################################
glibc-devel ##################################################
make ##################################################
patch ##################################################
<


Шаг 3.
Выходим из системы и снова входим в нее, чтобы все изменения сработали.
[root@deep]# exit
После инсталляции и компиляции всех необходимых программ будет хорошей идеей удалить компиляторы и подобные им программы. В основном это делается для того, чтобы злоумышленник, проникший на ваш сервер, не смог скомпилировать или модифицировать необходимые ему программы. Также освободиться место на диске и уменьшиться количество файлов, которые будет необходимо регулярно проверять.
Когда вы включаете сервер вы запускаете на выполнение много задач. Вы никогда не должны помещать все сервисы на одну машину или вы потеряете в быстродействии (все ресурсы будут разделяться между всеми процессами) и ухудшите безопасность системы.
Создание разных серверов для разных задач упрощает процесс администрирования, управления (вы точно знаете какие задачи, что делают, какие сервисы доступны, какие порты открыты для доступа клиентов и какие закрыты, и знаете, что вы должны увидеть в лог файлах) и дает больший контроль и гибкость для каждого из них (сервер обрабатывающий почту, веб- страницы, базы данных и т.д.).
Итак, наличие, например, специализированного сервера для разработки и тестирования, позволит вам не устанавливать компиляторы на других серверах каждый раз когда вы хотите обновить программное обеспечение. Для получения большей информации смотрите “Возможности компилятора”.
Программы установленные на вашем сервере.
Шаг 1.
Итак, если вы выбрали пользовательский метод инсталляции, то ниже перечислены все программы, которые должны быть установлены на сервере. Этот список должен в точности совпадать с файлом install.log, находящимся в “/tmp”. Не забудьте установить все программы о которых было написано в разделе “ Программное обеспечение которое должно быть проинсталлировано после установки сервера”.
(6.1)

Installing setup. Installing gzip. Installing sendmail.
Installing filesystem. Installing gpm. Installing setconsole.
Installing basesystem. Installing groff. Installing setserial.
Installing ldconfig. Installing hdparm. Installing setuptool.
Installing glibc. Installing initscripts. Installing shapecfg.
Installing shadow-utils. Installing ipchains. Installing slang.
Installing mktemp. Installing isapnptools. Installing slocate.
Installing termcap. Installing kbdconfig. Installing stat.
Installing libtermcap. Installing kernel. Installing sysklogd.
Installing bash. Installing kernel-pcmcia-cs. Installing tar.
Installing MAKEDEV. Installing kudzu. Installing tcp_wrappers.
Installing SysVinit. Installing ld.so. Installing tcpdump.
Installing XFree86-Mach64. Installing less. Installing tcsh.
Installing chkconfig. Installing libc. Installing time.
Installing apmd. Installing libstdc++. Installing timeconfig.
Installing ncurses. Installing lilo. Installing timed.
Installing info. Installing pwdb. Installing tmpwatch.
Installing fileutils. Installing pam. Installing traceroute.
Installing grep. Installing sh-utils. Installing utempter.
Installing ash. Installing redhat-release. Installing util-linux.
Installing at. Installing linuxconf. Installing vim-common.
Installing authconfig. Installing logrotate. Installing vim-minimal.
Installing bc. Installing losetup. Installing vixie-cron.
Installing bdflush. Installing lsof. Installing which.
Installing binutils. Installing mailcap. Installing zlib.
Installing bzip2. Installing mailx.
Installing sed. Installing man.
Installing console-tools. Installing mingetty.
Installing e2fsprogs. Installing mkbootdisk.
Installing rmt. Installing mkinitrd.
Installing cpio. Installing modutils.
Installing cracklib. Installing mount.
Installing cracklib-dicts. Installing mouseconfig.
Installing crontabs. Installing mt-st.
Installing textutils. Installing ncompress.
Installing dev. Installing net-tools.
Installing diffutils. Installing netkit-base.
Installing dump. Installing newt.
Installing ed. Installing ntsysv.
Installing eject. Installing passwd.
Installing etcskel. Installing pciutils.
Installing file. Installing perl.
Installing findutils. Installing procmail.
Installing gawk. Installing procps.
Installing gd. Installing psmisc.
Installing gdbm. Installing pump.
Installing getty_ps. Installing python.
Installing glib. Installing quota.
Installing gmp. Installing raidtools.
Installing gnupg. Installing readline.
Installing redhat-logos. Installing rootfiles.
Installing rpm. Installing sash.
<


(6.2)

Installing setup. Installing filesystem. Installing basesystem.
Installing ldconfig. Installing glibc. Installing shadow-utils.
Installing mktemp. Installing termcap. Installing libtermcap.
Installing bash. Installing MAKEDEV. Installing SysVinit.
Installing XFree86-Mach64. Installing anacron. Installing chkconfig.
Installing apmd. Installing ncurses. Installing info.
Installing fileutils. Installing grep. Installing ash.
Installing at. Installing authconfig. Installing bc.
Installing bdflush. Installing binutils. Installing bzip2.
Installing sed. Installing console-tools. Installing e2fsprogs.
Installing rmt. Installing cpio. Installing cracklib.
Installing cracklib-dicts. Installing crontabs. Installing textutils.
Installing dev. Installing diffutils. Installing dump.
Installing ed. Installing eject. Installing etcskel.
Installing file. Installing findutils. Installing gawk.
Installing gd. Installing gdbm. Installing getty_ps.
Installing glib. Installing gmp. Installing gnupg.
Installing gpm. Installing groff. Installing gzip.
Installing hdparm. Installing inetd. Installing initscripts.
Installing ipchains. Installing iputils. Installing isapnptools.
Installing kbdconfig. Installing kernel. Installing kernel-pcmcia-cs.
Installing kernel-utils. Installing kudzu. Installing ld.so.
Installing less. Installing libc. Installing libstdc++.
Installing lilo. Installing pwdb. Installing pam.
Installing sh-utils. Installing redhat-release. Installing linuxconf.
Installing logrotate. Installing losetup. Installing lsof.
Installing mailcap. Installing mailx. Installing man.
Installing mingetty. Installing mkbootdisk. Installing mkinitrd.
Installing modutils. Installing mount. Installing mouseconfig.
Installing mt-st. Installing ncompress. Installing net-tools.
Installing newt. Installing ntsysv. Installing passwd.
Installing pciutils. Installing perl. Installing popt.
Installing procmail. Installing procps. Installing psmisc.
Installing pump. Installing quota. Installing raidtools.
Installing readline. Installing redhat-logos. Installing rootfiles.
Installing rpm. Installing sash. Installing sendmail.
Installing setserial. Installing setuptool. Installing shapecfg.
Installing slang. Installing slocate. Installing stat.
Installing sysklogd. Installing tar. Installing tcp_wrappers.
Installing tcpdump. Installing tcsh. Installing time.
Installing timeconfig. Installing tmpwatch. Installing traceroute.
Installing utempter. Installing util-linux. Installing vim-common.
Installing vim-minimal. Installing which.
Installing zlib. Installing vixie-cron.
<


Шаг 2.
После того как вы деинсталлировали все программы, которые должны быть удалены после установки сервера, и после установки дополнительных пакетов необходимых для компиляции программ на сервере мы должны проверить список вех инсталлированных RPM пакетов при помощи команды
[root@deep /]# rpm -qa > installed_rpm

опции –qa выводят список всех проинсталлированных программ и знак “>” перенаправляет этот список в файл installed_rpm.
(6.1) Содержимое файла installed_rpm должно выглядеть так:
 
setup-2.0.5-1 filesystem-1.3.5-1 basesystem-6.0-4
ldconfig-1.9.5-15 glibc-2.1.2-11 shadow-utils-19990827-2
mktemp-1.5-1 termcap-9.12.6-15 libtermcap-2.0.8-18
bash-1.14.7-16 MAKEDEV-2.5-2 SysVinit-2.77-2
chkconfig-1.0.7-2 ncurses-4.2-25 info-3.12h-2
fileutils-4.0-8 grep-2.3-2 ash-0.2-18
at-3.1.7-11 m4-1.4-12 bdflush-1.5-10
binutils-2.9.1.0.23-6 bzip2-0.9.5c-1 sed-3.02-4
console-tools-19990302-17 e2fsprogs-1.15-3 byacc-1.9-11
cpio-2.4.2-13 cracklib-2.7-5 cracklib-dicts-2.7-5
crontabs-1.7-7 textutils-2.0-2 dev-2.7.10-2
diffutils-2.7-16 dump-0.4b4-11 ed-0.2-12
bison-1.28-1 etcskel-2.0-1 file-3.27-3
findutils-4.1-32 gawk-3.0.4-1 cdecl-2.5-9
gdbm-1.8.0-2 autoconf-2.13-5 glib-1.2.5-1
gmp-2.0.2-10 cpp-1.1.2-24 gpm-1.17.9-3
groff-1.11a-9 gzip-1.2.4-14 initscripts-4.48-1
ipchains-1.3.9-3 cproto-4.6-2 ElectricFence-2.1-1
kernel-2.2.12-20 patch-2.5-9 ld.so-1.9.5-11
less-340-1 libc-5.3.12-31 libstdc++-2.9.0-24
lilo-0.21-10 pwdb-0.60-1 pam-0.68-7
sh-utils-2.0-1 automake-1.4-5 logrotate-3.3-1
losetup-2.9u-4 lsof-4.45-1 mailx-8.1.1-9
man-1.5g-6 mingetty-0.9.4-10 mkbootdisk-1.2.2-1
mkinitrd-2.3-1 modutils-2.1.121-14 mount-2.9u-4
ctags-3.2-1 ncompress-4.2.4-14 net-tools-1.53-1
netkit-base-0.10-37 newt-0.50-13 passwd-0.63-1
perl-5.00503-6 flex-2.5.4a-7 procps-2.0.4-2
psmisc-18-3 python-1.5.2-7 quota-1.66-8
gdb-4.18-4 readline-2.2.1-5 glibc-devel-2.1.2-11
rootfiles-5.2-5 rpm-3.0.3-2 sash-3.3-1
make-3.77-6 shapecfg-2.2.12-2 slang-1.2.2-4
slocate-2.0-3 stat-1.5-11 sysklogd-1.3.31-12
tar-1.13.11-1 tcp_wrappers-7.6-9 tcpdump-3.4-16
tcsh-6.08.00-6 time-1.7-9 timed-0.10-23
tmpwatch-2.0-1 traceroute-1.4a5-16 utempter-0.5.1-2
util-linux-2.9w-24 vim-common-5.4-2 vim-minimal-5.4-2
vixie-cron-3.0.1-39 which-2.8-1 zlib-1.1.3-5
dev86-0.14.9-1 egcs-1.1.2-24 kernel-headers-2.2.12-20
<


(6.2) Содержимое файла installed_rpm должно выглядеть так:
 
setup-2.1.8-1 filesystem-1.3.5-1 basesystem-6.0-4
ldconfig-1.9.5-16 glibc-2.1.3-15 shadow-utils-19990827-10
mktemp-1.5-2 termcap-10.2.7-9 libtermcap-2.0.8-20
bash-1.14.7-22 MAKEDEV-2.5.2-1 SysVinit-2.78-5
anacron-2.1-6 chkconfig-1.1.2-1 m4-1.4-12
ncurses-5.0-11 info-4.0-5 fileutils-4.0-21
grep-2.4-3 ash-0.2-20 at-3.1.7-14
byacc-1.9-12 bc-1.05a-5 bdflush-1.5-11
binutils-2.9.5.0.22-6 bzip2-0.9.5d-2 sed-3.02-6
console-tools-19990829-10 e2fsprogs-1.18-5 cpio-2.4.2-16
cracklib-2.7-5 cracklib-dicts-2.7-5 crontabs-1.7-7
textutils-2.0a-2 dev-2.7.18-3 diffutils-2.7-17
dump-0.4b15-1 ed-0.2-13 cdecl-2.5-10
etcskel-2.3-1 file-3.28-2 findutils-4.1-34
gawk-3.0.4-2 patch-2.5-10 gdbm-1.8.0-3
bison-1.28-2 glib-1.2.6-3 gmp-2.0.2-13
autoconf-2.13-5 gpm-1.18.1-7 groff-1.15-8
gzip-1.2.4a-2 inetd-0.16-4 initscripts-5.00-1
ipchains-1.3.9-5 iputils-20000121-2 cpp-1.1.2-30
cproto-4.6-3 kernel-2.2.14-5.0 ctags-3.4-1
kernel-utils-2.2.14-5.0 ElectricFence-2.1-3 ld.so-1.9.5-13
less-346-2 libc-5.3.12-31 libstdc++-2.9.0-30
lilo-0.21-15 pwdb-0.61-0 pam-0.72-6
sh-utils-2.0-5 automake-1.4-6 logrotate-3.3.2-1
losetup-2.10f-1 lsof-4.47-2 mailx-8.1.1-10
man-1.5h1-1 mingetty-0.9.4-11 mkbootdisk-1.2.5-3
mkinitrd-2.4.1-2 modutils-2.3.9-6 mount-2.10f-1
flex-2.5.4a-9 ncompress-4.2.4-15 net-tools-1.54-4
newt-0.50.8-2 passwd-0.64.1-1 perl-5.00503-10
popt-1.5-0.48 procmail-3.14-2 procps-2.0.6-5
psmisc-19-2 quota-2.00pre3-2 gdb-4.18-11
readline-2.2.1-6 make-3.78.1-4 rootfiles-5.2-5
rpm-3.0.4-0.48 sash-3.4-2 shapecfg-2.2.12-2
slang-1.2.2-5 slocate-2.1-2 stat-1.5-12
sysklogd-1.3.31-16 tar-1.13.17-3 tcp_wrappers-7.6-10
tcpdump-3.4-19 tcsh-6.09-4 time-1.7-9
tmpwatch-2.2-1 traceroute-1.4a5-18 utempter-0.5.2-2
util-linux-2.10f-7 vim-common-5.6-11 vim-minimal-5.6-11
vixie-cron-3.0.1-40 which-2.9-2 zlib-1.1.3-6
dev86-0.15.0-2 egcs-1.1.2-30
kernel-headers-2.2.14-5.0 glibc-devel-2.1.3-15
<


Второй шаг необходим, чтобы вы не забыли удалить некоторые ненужные пакеты и установить необходимые. Если ваш файл installed_rpm выглядит так же как и приведенный здесь, значит ваш сервер установлен правильно.
Добавление цветов на ваш терминал
(6.1) Добавив цвета на ваш терминал вы сможете легче различать файлы, папки, архивы, устройства, символические ссылки и исполняемые файлы. На мой взгляд, наличие цветов уменьшает количество ошибок и ускоряет процесс навигации по системе. Описанную ниже процедуру нужно выполнить для Red Hat Linux version 6.1 (Cartman) и более старых версий. В Red Hat 6.2 они включены по умолчанию.
Отредактируйте файл profile (vi /etc/profile) и добавьте в него следующие строки:
# Enable Colour ls

eval `dircolors /etc/DIR_COLORS -b`

export LS_OPTIONS=’-s -F -T 0 --color=yes’
Отредактируйте файл bashrc (vi /etc/bashrc) добавив следующие строки:
alias ls=’ls --color=auto’
Выйдите и вновь войдите на сервер, чтобы новые переменные окружения вступили в силу.
Обновление программ до их последних версий.
Обновляйте все программное обеспечение на более новые версии, просматривайте список ошибок для дистрибутива Red Hat, который находится по адресу . Страница ошибок, возможно, является лучшим ресурсом для решения 90% проблем в Red Hat Linux.
Следующие программы должны проверяться на наличие ошибок и новых версий в первую очередь.
(6.1)

groff-1_15-1_i386.rpm
sysklogd-1_3_31-14_i386.rpm
initscripts-4_70-1_i386.rpm
e2fsprogs-1.17-1.i386.rpm
pam-0_68-10_i386.rpm
gpm-1.19.1-1.i386.rpm
Linux kernel 2.2.14 (linux-2_2_14_tar.gz)
(6.2)

gpm-1.19.1-1.i386.rpm
Замечание: ядро linux очень важно, и должно регулярно обновляться. Читайте ниже о создании ядер для определенных систем.
Вы можете проверить, установлен ли пакет на вашей системе перед обновлением , дав следующую команду:
[root@deep]# rpm -q <softwarename>
где softwarename – имя пакета, которое вы хотите проверить, например, telnet, XFree86 и т.д.

Содержание раздела