LINUX-сервер пошаговые инструкции инсталляции и настройки - Бруй В. В. , Карлов С. В
..pdfГлава 3. Общие мероприятия по обеспечению безопасности сервера |
51 |
Шаг 4 Для того, чтобы внесенные нами изменения сохранились при перезагрузке системы, добавьте в конец
файла /etc/rc.local строку:
arp -s 172.16.181.103 00:80:48:CB:BD:73
или:
arp -s karlnext.und 00:80:48:CB:BD:73
Теперь в случае изменения IP-адреса компьютера karlnext сервер не будет отвечать на его запросы.
Необычные или скрытые файлы
Проверьте систему на предмет наличия необычных или скрытых файлов (файлы, которые начинаются с точки и обычно не отображающиеся в выводе команды ls), поскольку они могут использоваться для скрытия инструментальных программ, используемых для получения информации о системе.
Для поиска скрытых файлов наберите:
[root@drwalbr /]# find / -name ".. " -print –xdev
или:
[root@drwalbr /]# find / -name ".*" -print -xdev | cat -v
Обнаружение файлов и каталогов, изменяемых любым пользователем
Файлы и каталоги, изменяемые любым пользователем, особенно системные файлы, могут стать брешью в защите, если взломщик программной защиты получит доступ к вашей системе и изменит их. Кроме того, общедоступные каталоги опасны, так как они позволяют злоумышленникам добавлять или удалять файлы в этих каталогах как им вздумается. Для поиска общедоступных файлов и каталогов выполните:
[root@drwalbr /]# find / -type f \( -perm -2 -о -perm -20 \) -exec ls -lg
{} \; |
|
|
|
|
Янв 16 18:37 /var/log/wtmp |
|
-rw-rw-r-- |
1 |
root |
utmp |
92928 |
||
-rw-rw-r-- |
1 |
root |
utmp |
4224 |
Янв 16 18:37 /var/run/utmp |
|
и: |
/]# find / -type d \( -perm -2 -о -perm -20 \) -exec ls - |
|||||
[root@drwalbr |
||||||
ldg {} \; |
|
|
|
|
Дек 23 16:23 |
|
drwxrwxr-x |
12 |
root |
man |
4096 |
||
/var/cache/man/X11R6 |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/X11R6/cat1 |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/X11R6/cat2 |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/X11R6/cat3 |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/X11R6/cat4 |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/X11R6/cat5 |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/X11R6/cat6 |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/X11R6/cat7 |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/X11R6/cat8 |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/X11R6/cat9 |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/X11R6/catn |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/cat1 |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/cat2 |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/cat3 |
|
|
Июн 11 |
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
/var/cache/man/cat4 |
|
|
|
|
||
52 |
|
|
Часть 1. Инсталляция операционной системы Linux на сервере |
||||
drwxrwxr-x |
2 |
root |
man |
4096 |
Июн 11 |
2002 |
|
/var/cache/man/cat5 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/cat6 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/cat7 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/cat8 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/cat9 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/catn |
|
|
Дек 23 16:23 |
|
|||
drwxrwxr-x |
12 |
root |
man |
4096 |
|
||
/var/cache/man/local |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/local/cat1 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/local/cat2 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/local/cat3 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/local/cat4 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/local/cat5 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/local/cat6 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/local/cat7 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/local/cat8 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/local/cat9 |
|
|
Июн 11 |
|
|
||
drwxrwxr-x |
2 |
root |
man |
4096 |
2002 |
|
|
/var/cache/man/local/catn |
|
|
Янв 16 18:37 |
|
|||
drwxrwxr-x |
3 |
root |
lock |
4096 |
/var/lock |
||
drwxrwxr-x |
2 |
root |
root |
4096 |
Июл 11 |
2002 |
|
/var/run/netreport |
|
|
Янв 16 18:37 |
|
|||
drwxrwxr-x |
2 |
root |
4096 |
/var/spool/mail |
|||
drwxrwxrwt |
2 |
root |
root |
4096 |
Дек 23 16:23 |
/var/tmp |
|
drwxrwxrwt |
4 |
root |
root |
4096 |
Янв 16 18:37 |
/tmp |
|
drwxrwxrwt |
2 |
root |
root |
0 |
Янв 16 18:31 |
/dev/shm |
|
Для поиска общедоступных файлов и каталогов можно также воспользоваться и программой tripwire.
Файлы без владельцев
Не допускайте наличия в системе любых файлов, не имеющих владельцев, кроме находящихся в каталоге /dev. Появление таких файлов может также служить сигналом, что злоумышленник проник в систему. Если найден файл или каталог, не имеющий владельца, проверьте целостность системы, и если все нормально, задайте имя владельца. Иногда после удаления программы могут появиться файлы или каталоги, связанные с ней и не имеющие владельцев. В этом случае их можно просто удалить.
Для поиска файлов и каталогов без владельцев выполните:
[root@drwalbr /]# find / -nouser -o -nogroup
Поиск файлов .rhosts
Поиск всех существующих .rhosts файлов на сервере должен стать частью вашей обычной работы по администрированию системы. Наличие этих файлов недопустимо, т:к они могут использоваться для получения несанкционированного доступа к вашей системе.
Для поиска файлов .rhosts выполните:
[root@drwalbr /]# find /home -name .rhosts
В случае обнаружения таких файлов их нужно уничтожить.
Глава 3. Общие мероприятия по обеспечению безопасности сервера |
53 |
Копии файлов регистрации на жестких носителях и удаленных системах
Одним из самых важных принципов безопасности является обеспечение целостности различных файлов регистрации в каталоге сервера /var/log. Критически важные сообщения могут быть также выведены на принтер с использованием программы syslog. Взломщик может изменить файлы, программы и т. д. на вашем сервере, но ничего не сможет сделать с реальными бумажными копиями.
Для распечатки на принтере, подключенном к вашей системе, всех telnet-соединений, почтовых сообщений, сообщений начальной загрузки и ssh-соединений сделайте следующее.
Шаг 1
На вашей системе добавьте в конец файла /etc/syslog.conf строку: authpriv.*;mail.*;local7.*; auth.*;daemon.info /dev/lp0
Шаг 2
Перезапустите службу syslog:
[root@drwalbr /]# /etc/init.d/syslog restart
Останавливается |
служба |
журналирования |
ядра: |
[ОК] |
|||
Останавливается |
служба |
журналирования |
системы: |
[ОК] |
|||
Запускается |
служба |
журналирования |
системы: |
[ОК] |
|||
Запускается |
служба |
журналирования |
ядра: |
[ОК] |
|||
Для распечатки на принтере, подключенном к удаленной системе, всех telnet-соединений, почтовых сообщений, сообщений начальной загрузки и ssh-соединений сделайте следующее.
Шаг 1
Добавьте в конец файла /etc/syslog.conf на удаленной системе строку: authpriv.*;mail.*;local7.*;auth.*;daemon.info /dev/lp0
Если в вашей сети нет принтера, скопируйте регистрационные файлы на другую машину. Для этого не выполняйте первый шаг, а переходите сразу ко второму.
Шаг 2 Для включения возможности получения по сети сообщений от других систем, на удаленной системе в
файле /etc/rc.d/init.d/syslog замените строку:
SYSLOGD_OPTIONS="-m 0"
на:
SYSLOGD_OPTIONS="-r -m 0"
Шаг 3 |
|
Перезапустите службу syslog на удаленной системе: |
|
[root@mail /]# etc/init.d/syslog restart |
[ОК] |
Останавливается служба журналирования ядра: |
|
Останавливается служба журналирования системы: |
[ОК] |
Запускается служба журналирования системы: |
[ОК] |
Запускается служба журналирования ядра: |
[ОК] |
Шаг 4
Отредактируйте файл /etc/syslog.conf на локальной системе и добавьте в конец этого файла следующую строку:
authpriv.*;mail.*;local7.*;auth.*;daemon.info NameRemouteHost
Вместо NameRemouteHost используйте имя удаленной системы, на которую осуществляется копирование файлов регистрации.
Шаг 5
Перезапустите службу syslog на локальной системе:
[root@mail /]# etc/init.d/syslog restart
Останавливается |
служба |
журналирования |
ядра: |
[ОК] |
|||
Останавливается |
служба |
журналирования |
системы: |
[ОК] |
|||
Запускается |
служба |
журналирования |
системы: |
[ОК] |
|||
Запускается |
служба |
журналирования |
ядра: |
[ОК] |
|||
54 |
Часть 1. Инсталляция операционной системы Linux на сервере |
Удаление страниц руководства
Страницы руководства, также известные как man-страницы – это сжатые файлы, расположенные в каталоге /usr/share/man системы. Файлы документации очень полезны для получения быстрой информации о работе различных служб, программ, команд и синтаксисе различных конфигурационных файлов. Эти файлы читаются man-программой. Их место– на рабочей станции администратора сервера. Авторы рекомендуют удалить страницы руководства и программы, необходимые для их просмотра, c целью увеличения объема свободного места на дисках и некоторого увеличения безопасности системы.
Шаг 1
Удалите программу man:
[root@drwalbr /]# rpm -e man
Шаг 2
Удалите программу groff, используемую программой man для форматирования страниц:
[root@drwalbr /]# rpm -e groff
Шаг 3 Удалите файлы архивов, содержащие страницы руководства:
[root@drwalbr /]# cd /usr/share/man/
[root@drwalbr man]# rm -f man*/*.gz
ЗАМЕЧАНИЕ В дальнейшем инсталляцию и обновление rpm-пакетов нужно осуществлять с использованием опции -excludedocs. При этом страницы руководства не устанавливаются.
Глава 4. Дополнительные модули аутентификации |
55 |
Глава 4
Дополнительные модули аутентификации
В этой главе:
1. Допустимая минимальная длина пароля
2.Таблица управления доступом входа в систему
3.Удаление из системы ненужных привилегированных пользователей
4.Наложение ограничений на ресурсы, выделяемые пользователям системы
5.Управление временем доступа к службам
6.Ограничение использования команды su root
7.Использование команды sudo вместо su для регистрации в качестве суперпользователя
56 |
Часть 1. Инсталляция операционной системы Linux на сервере |
Дополнительные модули аутентификации (РАМ – Pluggable Authentication Modules) включают динамические библиотеки, которые дают администраторам возможность выбора методов подтверждения подлинности пользователей.
PАМ разрешает применение различных опознавательных схем. Это достигается использованием библиотеки функций, которую используют приложения для идентификации пользователей. SSH, POP, IMAP и т. д. – приложения, использующие спецификацию PAM. Для них может быть изменен метод ввода пароля, например, не с консоли, а с голоса или по отпечаткам пальцев, путем изменения РАМ-модулей без необходимости перезаписи самих кодов приложений.
Конфигурационные файлы модулей PAM расположены в каталоге /etc/pam.d, а сами модули (динамические библиотеки) расположены в каталоге /lib/security. Каталог /etc/pam.d содержит файлы, названные в соответствии с использующими их приложениями, например, SSH, POP, IMAP и т. д., указывающие на заданный по умолчанию конфигурационный файл other.
В этой главе будут рассмотрены некоторые настройки PAM, улучшающие безопасность системы.
Допустимая минимальная длина пароля
Длина пароля при использовании настройки PAM управляется пятью параметрами: minlen, dcredit, ucredit, lcredit и ocredit.
Параметр minlen=N определяет допустимое минимальное количество символов в новом пароле. Допустимое минимальное количество символов в пароле уменьшается на величину, равную значению
параметров:
•dcredit - используемой в пароле цифры;
•ucredit - для каждого используемого в пароле символа в верхнем регистре;
•lcredit - для каждого используемого в пароле символа в нижнем регистре;
•ocredit - для каждого используемого в пароле специального символа. Значения параметров dcredit, ucredit, lcredit и ocredit равны единице.
Для задания приемлемого минимального количества символов длины пароля, например, равного 12, в
файле /etc/pam.d/system-auth раскомментируйте строку:
#password required /lib/security/pam_cracklib.so retry=3
и добавьте параметр minlen=12:
password required /lib/security/pam_cracklib.so retry=3 minlen=12
Теперь попробуем установить пароль из девяти символов – Wsvhl_Faz. Пароль благополучно установится. Что и следовало ожидать. Максимально допустимая длина пароля (12 символов) уменьшилась на 3 из-за одного специального символа "_" и двух букв в верхнем регистре "W" и "F".
Таблица управления доступом входа в систему
В каталоге /etc/security находится файл access.conf, с помощью которого можно ограничить доступ для различных пользователей и IP-адресов к вашей системе. Предположим, что у нас имеется Linux-сервер, к администрированию которого допущены только два пользователя – drwalbr и karlnext.
Шаг 1 Одним из вариантов ограничения доступа к серверу является добавление в файл
/etc/security/access.conf строки:
-:ALL EXCEPT root drwalbr karlnext:ALL
При этом доступ к консоли сервера будет запрещен с любой другой системы для всех пользователей, кроме root, drwalbr и karlnext. А для последних пользователей доступ будет разрешен откуда угодно.
Для разрешения только удаленного доступа к серверу пользователям root, drwalbr и karlnext с рабочей станции 192.168.2.99 в файл /etc/security/access.conf нужно добавить (подредактировать предыдущую строку):
-:ALL EXCEPT root drwalbr karlnext: 192.168.2.99
и добавить еще одну:
-:ALL: LOCAL
Последняя строка запрещает локальный доступ всех пользователей, в том числе и root.
Шаг 2
Для того, чтобы настройки, внесенные в файл /etc/security/access.conf, в последующем (когда вы установите OpenSSH) могли использоваться средствами удаленного администрирования SSH, в файлы /etc/pam.d/system-auth и /etc/pam.d/sshd необходимо добавить (проверить наличие) строки:
ассоunt required /lib/security/раm_access.so
Глава 4. Дополнительные модули аутентификации |
57 |
Удаление из системы ненужных привилегированных пользователей
Файл безопасности /etc/security/console.perms, используемый модулем pam_console.so, предназначен для выделения привилегированным пользователям физической возможности использования консоли (виртуальных консолей и локальных xdm-управляемых X-сеансов).
ЗАМЕЧАНИЕ Обратите внимание, что привилегированные пользователи не имеют ничего общего с обычными пользователями. Это пользователи, соответствующие устройствам, подобно дисководу, CD-ROM, сканеру, и т. п., которые в среде сетевой операционной системы также считаются пользователями.
Файл /etc/security/console.perms устанавливаемый по умолчанию:
#
#This file determines the permissions that will be given to priviledged
#users of the console at login time, and the permissions to which to
#revert when the users log out.
#format is:
#<class>=list of regexps specifying consoles or globs specifying files
#file-glob|<class> perm dev-regex|<dev-class> \
#revert-mode revert-owner[.revert-group]
#the revert-mode, revert-owner, and revert-group are optional, and default
#to 0600, root, and root, respectively.
#
#For more information:
#man 5 console.perms
#file classes -- these are regular expressions <console>=tty[0-9][0-9]* vc/[0-9][0-9]* :[0-9]\.[0-9] :[0-9] <xconsole>=:[0-9]\.[0-9] :[0-9]
#device classes -- these are shell-style globs <floppy>=/dev/fd[0-1]* \
/dev/floppy/* /mnt/floppy* <sound>=/dev/dsp* /dev/audio* /dev/midi* \
/dev/mixer* /dev/sequencer \ /dev/sound/* /dev/beep
<cdrom>=/dev/cdrom* /dev/cdroms/* /dev/cdwriter* /mnt/cdrom* <pilot>=/dev/pilot
<jaz>=/mnt/jaz* <zip>=/mnt/pocketzip* /mnt/zip* <ls120>=/dev/ls120 /mnt/ls120*
<scanner>=/dev/scanner /dev/usb/scanner* <rio500>=/dev/usb/rio500
<camera>=/mnt/camera* /dev/usb/dc2xx* /dev/usb/mdc800* <memstick>=/mnt/memstick*
<flash>=/mnt/flash*
<diskonkey>=/mnt/diskonkey* <rem_ide>=/mnt/microdrive* <fb>=/dev/fb /dev/fb[0-9]* \
/dev/fb/*
<kbd>=/dev/kbd <joystick>=/dev/js[0-9]*
<v4l>=/dev/video* /dev/radio* /dev/winradio* /dev/vtx* /dev/vbi* \ /dev/video/*
<gpm>=/dev/gpmctl
<dri>=/dev/3dfx* <mainboard>=/dev/apm_bios
#permission definitions
<console> |
0660 |
<floppy> |
0660 |
root.floppy |
<console> |
0600 |
<sound> |
0600 |
root |
<console> |
0600 |
<cdrom> |
0660 |
root.disk |
<console> |
0600 |
<pilot> |
0660 |
root.uucp |
58 |
|
Часть 1. Инсталляция операционной системы Linux на сервере |
||
<console> |
0600 |
<jaz> |
0660 |
root.disk |
<console> |
0600 |
<zip> |
0660 |
root.disk |
<console> |
0600 |
<ls120> |
0660 |
root.disk |
<console> |
0600 |
<scanner> |
0600 |
root |
<console> |
0600 |
<camera> |
0600 |
root |
<console> |
0600 |
<memstick> |
0600 |
root |
<console> |
0600 |
<flash> |
0600 |
root |
<console> |
0600 |
<diskonkey> |
0660 |
root.disk |
<console> |
0600 |
<rem_ide> |
0660 |
root.disk |
<console> |
0600 |
<fb> |
0600 |
root |
<console> |
0600 |
<kbd> |
0600 |
root |
<console> |
0600 |
<joystick> |
0600 |
root |
<console> |
0600 |
<v4l> |
0600 |
root |
<console> |
0700 |
<gpm> |
0700 root |
|
<console> |
0600 |
<mainboard> |
0600 |
root |
<console> |
0600 |
<rio500> |
0600 |
root |
<xconsole> 0600 /dev/console 0600 root.root |
||||
<xconsole> 0600 <dri> |
0600 root |
|||
является достаточно безопасным для правильного использования системы с интерфейсом Xwindow. Но в среде без графической оболочки пользователя (GUI – Graphical User Interface) и специальных устройств, наподобие звуковым картам, джойстикам, сканерам, Web-камерам, накопителям zip, jaz и т. д., для повышения безопасности удалите всех несуществующих или ненужных привилегированных пользователей из файла:
#file classes -- these are regular expressions <console>=tty[0-9][0-9]* vc/[0-9][0-9]* :[0-9]\.[0-9] :[0-9]
#device classes |
-- these are |
shell-style globs |
||
<floppy>=/dev/fd[0-1]* \ |
|
|
||
/dev/floppy/* /mnt/floppy* |
|
|
||
<cdrom>=/dev/cdrom* /dev/cdroms/* |
/dev/cdwriter* /mnt/cdrom* |
|||
<pilot>=/dev/pilot |
|
|
||
<fb>=/dev/fb /dev/fb[0-9]* \ |
|
|
||
/dev/fb/* |
|
|
|
|
<kbd>=/dev/kbd |
|
|
|
|
/dev/video/* |
|
|
|
|
<gpm>=/dev/gpmctl |
|
|
||
<mainboard>=/dev/apm_bios |
|
|
||
# permission definitions |
|
|
||
<console> |
0660 |
<floppy> |
0660 |
root.floppy |
<console> |
0600 |
<cdrom> |
0660 |
root.disk |
<console> |
0600 |
<pilot> |
0660 |
root.uucp |
<console> |
0600 |
<fb> |
0600 |
root |
<console> |
0600 |
<kbd> |
0600 |
root |
<console> |
0600 |
<v4l> |
0600 |
root |
<console> |
0700 |
<gpm> |
0700 root |
|
<console> |
0600 |
<mainboard> |
0600 |
root |
Наложение ограничений на ресурсы, выделяемые пользователям системы
Файл /etc/security/limits.conf может использоваться для наложения ограничений на ресурсы (число выполняемых процессов, объем памяти и т. д.), выделяемые пользователям системы. Файл, устанавливаемый по умолчанию, не накладывает никаких ограничений на объем ресурсов, выделяемых пользователям системы:
# /etc/security/limits.conf
#
#Each line describes a limit for a user in the form:
#
#<domain> <type> <item> <value>
#
#Where:
#<domain> can be:
#- an user name
#- a group name, with @group syntax
#- the wildcard *, for default entry
Глава 4. Дополнительные модули аутентификации |
59 |
#
#<type> can have the two values:
#- "soft" for enforcing the soft limits
#- "hard" for enforcing hard limits
#<item> can be one of the following:
#- core - limits the core file size (KB)
#- data - max data size (KB)
#- fsize - maximum filesize (KB)
#- memlock - max locked-in-memory address space (KB)
#- nofile - max number of open files
#- rss - max resident set size (KB)
#- stack - max stack size (KB)
#- cpu - max CPU time (MIN)
#- nproc - max number of processes
#- as - address space limit
#- maxlogins - max number of logins for this user
#- priority - the priority to run user process with
#- locks - max number of file locks the user can hold
#<domain> |
<type> |
<item> |
<value> |
# |
|
|
|
#* |
soft |
core |
0 |
#* |
hard |
rss |
10000 |
#@student |
hard |
nproc |
20 |
#@faculty |
soft |
nproc |
20 |
#@faculty |
hard |
nproc |
50 |
#ftp |
hard |
nproc |
0 |
#@student |
- |
maxlogins |
4 |
# End of file
И это, не смотря на то, что указанные ограничения существенно затруднили бы со стороны пользователей системы реализацию атак типа отказа в обслуживании. В предположении, что все обычные пользователи вашей системы входят в группу users для установления ограничений в файл
/etc/security/limits.conf добавьте следующие строки:
@users |
hard |
core |
0 |
@users |
hard |
rss |
5000 |
@users |
hard |
nproc |
30 |
В результате для всех пользователей из группы users будет запрещено создание файлов с образами памяти приложений, объем используемой оперативной памяти ограничится 5 МБайт, а число запускаемых процессов – тридцатью.
ЗАМЕЧАНИЕ При добавлении новых пользователей не забудьте указать, что они входят в группу us-
ers.
Управление временем доступа к службам
С помощью файла безопасности /etc/security/time.conf, в случае необходимости, можно ограничить время доступа к различным службам. Файл time.conf может быть cконфигурирован для запрета доступа ко всем или некоторым службам сервера различным пользователям. Дополнительная селекция может осуществляться по временным интервалам, консолям, именам машин и их IP-адресам.
Шаг 1
Для регистрации на сервере в рабочее время только пользователей karlnext и root в файл
/etc/security/time.conf добавьте следующую строку:
login;tty* & !ttyp*; !root & karlnext & ; !Al0900-1900
Шаг 2
60 |
Часть 1. Инсталляция операционной системы Linux на сервере |
Для реализации возможности использования настроек в предыдущем файле в файл /etc/pam.d/system-auth и /etc/pam.d/sshd (если вы используете SSH для удаленного администрирования сервера) добавьте (проверьте наличие строки):
account required /lib/security/pam_time.so
Ограничение использования команды su root
Команда su (substitute user) позволяет открывать сеансы под именами других пользователей системы, запускать программы и выполнять команды от их имени и с их правами доступа.
Для открытия сеанса суперпользователя root используется команда:
[root@drwalbr /]# su root Password:
Авторы рекомендуют не использовать команду su, либо строго ограничить круг пользователей, которому использование этой команды разрешено.
Шаг 1
В файле /etc/pam.d/su раскомментируйте (добавьте строку):
auth |
required |
/lib/security/pam_wheel.so use_uid |
В этом случае использование команды su будет разрешено только пользователям из специальной группы
Шаг 2
Для того, чтобы некоторый пользователь системы, например karlnext, мог использовать команду, ему в качестве дополнительной группы нужно добавить группу wheel:
[root@drwalbr /]# usermod –G wheel karlnext
В файле /etc/pam.d/su имеется строка:
#auth sufficient /lib/security/pam_wheel.so trust use_uid
раскомментировав которую, можно разрешить пользователям из группы wheel разрешить выполнять команду su root без ввода пароля. Авторы не рекомендуют использовать эту опцию.
Использование команды sudo вместо su для регистрации в качестве суперпользователя
Программа sudo, также как и команда su, позволяет выполнять команды от имени и с полномочиями другого пользователя, но более безопасным и информативным способом. Используя sudo, вы получите полную информацию о том, кто вошел в систему как суперпользователь root, а также много другой полезной информации. Инсталляция и настройка sudo рассматривается далее в отдельной главе.
Если вы планируете использовать sudo, удалите SUID-бит из файла /bin/su:
[root@drwalbr /]# chmod a-s /bin/su
