Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа по защите информации.doc
Скачиваний:
177
Добавлен:
02.05.2014
Размер:
350.72 Кб
Скачать

Безопасная настройка FreeBsd

В этом разделе приведу некоторые рекомендации, которые помогут настроить наиболее защищенный сервер.

Здесь описывается использование некоторых приложений, которые включены в дерево портов FreeBSD, эти приложения помогут сделать сервер еще более защищенным. Также, я опишу использование chrootkit - программа для проверки наличия в системе root-kit-ов. rdate - замена для ntp. cvsup и portupgrade для обновления системы и дерева портов.

1. Инсталяция:

При разметке диска, лучше всего не использовать значения по умолчанию, а разметить его вручную. Приведу несколько причин: возможность повреждения файловой системы при аварии значительно снижается, если в это вермя она не находилась в процессе записи, а так как запись в раздел root осуществляется крайне редко, следует поместить его отдельно; сохранение всех данных в одном разделе ведет к повышению уязвимости системы к различным атакам и ошибкам пользователей; это позволит применить различные опции для каждого раздела.

Разметка диска будет выглядеть вот так:

none(swap)

/

/tmp

/usr

/usr/home

/var

/root

2. Настройка

Отключаем inetd. В этом случае никто не сможет использовать telnet, rlogin или ftp для доступа к компьютеру.

Отключаем port_map

Откажемся от ntp, вместо этого мы используем rdate, при обновлении будут использоваться ntp-сервера. Установим коллекцию портов, которая будет расположена в /usr/ports

Установим следующие порты

/usr/ports/security/chkrootkit

/usr/ports/security/portaudit

/sysutils/rdate

/sysutils/portupgrade

/net/cvsup-without-gui (я считаю, что на серверах не должно быть графического интерфейса)

3. Пользователи.

Так как мы запрещаем удаленную регистрацию под пользователем root через ssh, очень важно создать дополнительного пользователя. Для этого необходимо создать пользователя, который должен быть в группе wheel, что позволит ему в дальнейшем регистрироваться под пользователем root при помощи команды su.

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

vi /etc/group

sshusers:*:1001:список пользователей находящихся в этой группе Сохраним файл и выйдем из vi, для этого зажмите кнопку shift и нажмите дважды кнопку zz.

(далее это действие будет обозначаться как ZZ)

4. Сообщение дня

cp /etc/motd /etc/motd.old

rm /etc/motd

vi /etc/motd

В содержании этого файла необходимо написать предупреждение о том, что доступ к данному серверу имеют только зарегистрированные пользователи и только для выполнения задач, которые разрешены для выполнения на этом сервере. Также необходимо указать что, регистрируясь на данном сервере пользователь соглашается с системной политикой данного сервера, что очень важно в случае возникновения судебных разбирательств с пользователями, которые нарушили правила работы на сервере. Сохраняем и выходим из vi. ZZ

cp /etc/motd /etc/issue # мы будем использовать motd для показа

# при удаленной регистрации.

# см. также /etc/ssh/sshd_config

5. OpenSSH Мы настроим авторизацию через DSA ключи, без использования паролей. Конечно если кто-то получит доступ к ssh-клиенту с dsa ключами, возникнут проблемы, точно также если кто-то узнает пароль. Используя dsa ключи мы избавляемся от возможности взломать нашу систему путем перебора паролей. Можно использовать dsa-ключи или пароли, но никогда нельзя пользоваться telnet-ом для удаленного доступа.

Secure Shell был разработан как альтернатива rsh, rlogin и других Berkeley r* команд, но SSH можно использовать и вместо таких приложений как telnet и ftp. У SSH много возможностей, но его по большей части используют для шифрования соединения, чтобы не дать возможности подсмотреть текстовые пароли и остальные данные, передаваемые в "чистом виде".

Откроем и отредактируем файл /etc/ssh/sshd_config для настроек параметров демона, к которому обращаются пользователи при удаленном доступе к серверу.

vi /etc/ssh/sshd_config

Port 22

Protocol 2

#Hostkey /etc/ssh/ssh_host_key

PermitRootLogin no

MaxStartups 5:50:10 # после 5 неправильных регистраций,

# отторгать 50% новых подключений, и

# не отвечать совсем, если число

# неправильных регистраций превысило 10

X11Forwarding no

PrintLastLog yes

SyslogFacility auth # писать информацию о регистрациях в

# лог-файл to /var/log/auth.

LogLevel VERBOSE # обычно OpenSSH это единственный путь

# удаленного доступа к системе, мы

# хотим получать наиболее полную

# информацию от этого сервиса.

PasswordAuthentication no

PermitEmptyPasswords no

Banner /etc/issue

AllowGroups sshusers # группа, которой разрешена

# регистрация через SSH можно указать

# несколько групп через запятую.

Сохраняем и выходим из vi.

ZZ

Теперь откроем и отредактируем файл /etc/ssh/ssh_config

vi /etc/ssh/ssh_config

ForwardAgent no

ForwardX11 no

PasswordAuthentication no

CheckHostIP yes

Port 22

Protocol 2

Сохраняем и выходим из vi.

ZZ

Теперь, сгенерируем DSA ключи для авторизации с пользователем, AKA <noprivuser>

su - noprivuser

ssh-keygen -d

На экране появится строка

Generating public/private dsa key pair.

Enter file in which to save the key (Введите файл в который сохранить ключ.)

(/home/<nonprivuser>/.ssh/id_dsa): # значение по умолчанию

Enter pass phrase (empty for no pass phrase): # введите пароль для ключа или без пароля

Enter pass phrase (empty for no pass phrase): # подтверждение пароля

Your identification has been saved in /home/<nonprivuser>/.ssh/id_dsa.

Идентификационный ключ сохранен в ....

Your public key has been saved in /home/<nonprivuser>/.ssh/id_dsa.pub

Публичный ключ сохранен в ...

The key fingerprint is (отпечаток ключа): xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx <nonprivuser>@<host>

[user@server /dir]#cd .ssh

[user@server /dir]#cat id_dsa.pub > authorized_keys2

Теперь скопируем ключ и перенесем на компьютер, с которого хотим подключаться к серверу.

Выйдем из регистрационной записи пользователя.

Удалим файл с ключом из директории .ssh пользователя.

Соседние файлы в предмете Защита информации