Freebsd инструкции. полезные советы freebsd. советы по настройке серверов на базе freebsd

Настройка Freebsd 10

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

Настройка SSH сервера

Перво наперво нужно настроить sshd для удаленного подключения. Если сейчас попробовать подключиться к серверу, то ничего не выйдет. Мы увидим окно приветствия, но залогиниться не получится. Это из-за того, что в системе у нас нет ни одного пользователя, кроме root. А этому пользователю по-умолчанию запрещено подключаться через ssh.

Соответственно, у нас два пути, либо разрешить подключаться руту, либо добавить других пользователей. Сделаем и то, и другое. Сначала разрешаем пользователю root подключаться по ssh. Для этого редактируем файл /etc/ssh/sshd_config. Пока у нас голая система, воспользуемся для этого редактором ee.

Открываем файл на редактирование:

# ee /etc/ssh/sshd_config

Находим строчку PermitRootLogin, раскомментируем ее и ставим напротив yes. По-умолчанию там стоит no.

Здесь же я рекомендую изменить стандартный порт ssh 22 на что-то более экзотическое. Делается это для того, чтобы роботы, которые постоянно сканируют интернет и пытаются залогиниться на серваки, остались не у дел.

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

Ищем строчку со словом Port и меняем значение с 22, например, на 11222.

Сохраняем изменения и выходим из редактора. Теперь нам необходимо перезапустить sshd для принятия изменений. Делаем это командой:

# service sshd restart

Демон sshd перезапустится. Можно пробовать подключаться по ssh, должно получиться зайти под root.

Многие считают небезопасным подключаться удаленно под учетной записью рута. Это вопрос неоднозначный, все зависит от конкретной ситуации. Добавим одного пользователя для удаленного подключения. Воспользуемся командой:

# adduser

Заполняем необходимые данные пользователя. Обязательно в качестве добавочной группы укажите wheel. Если пользователя не добавить в эту группу, то он не сможет зайти потом рутом. После добавления пользователя, подключаемся им по ssh. После логина используем команду:

# su -l

Вводим пароль рута и оказываемся в учетной записи root.

Как подключаться и работать решайте для себя сами.

Установка Midnight Commander

Следующим шагом я всегда устанавливаю MC и делаю редактором по-умолчанию mcedit. Мне так удобно и проще делать дальнейшие настройки сервера. Установить можно как из портов, так и из пакетов. На вопрос, как лучше, однозначного ответа нет, каждый решает для себя сам.

Я обычно MC ставлю из пакетов, а все остальное уже из портов. Почему именно так, да потому, что Midnight Commander ставится очень долго из портов, тянет кучу зависимостей, а у нас в настоящий момент порты даже не обновлены. На все про все уйдет минут 15-20. Так что я предпочитаю поставить сразу из пакетов.

Делаем это командой:

# pkg install mc

Так как у нас система голая, увидим сообщение:

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]:

Соглашаемся. После установки pkg начнется установка MC. Перед этим будет выведен список зависимостей, отмечено, сколько места все это займет. Со всем соглашаемся и начинаем установку. После окончания запускаем файловый менеджер:

# mc

Если у вас вместо прямых линий крякозябры, то закрываем putty и в ее настройках меняем кодировку. Идем в Windows -> Translation и выбираем KOI8-U, сохраняем и заходим снова. Теперь все должно быть в порядке.

Дальше устанавливаем редактор по умолчанию mcedit. Если этого не сделать, то в качестве редактора будет выступать vi. Если вы случайно окажетесь в нем, то не сразу сможете банально выйти из него, я не говорю уже о том, что бы что-то там отредактировать и сохранить. Так что идем в домашнюю директорию пользователя, находим там файл .cshrc, открываем, ищем строку

setenv  EDITOR  vi

меняем vi на mcedit, сохраняем, закрываем.

Настройка ntp для синхронизации времени

Минимально необходимый инструментарий для настройки мы получили, продолжаем работу. Чтобы время на сервере всегда было актуальным, его надо регулярно синхронизировать. Можно пойти двумя путями.

Либо запускать через определенные промежутки времени утилиту ntpdate с ключами, либо настроить и запустить службу ntpd, которая будет постоянно работать и синхронизировать время.

Более правильный вариант, использовать службу, но он чуть сложнее в настройке. Чтобы синхронизировать время через ntpdate, достаточно просто ввести команду:

# ntpdate -b europe.pool.ntp.org

и время будет синхронизировано. Можно запускать эту команду через cron с определенной периодичностью. Если у вас уже запущена служба ntpd, то ntpdate не сработает, выдаст ошибку:

the NTP socket is in use, exiting

Настроим в таком случае ntpd. Если она у вас уже запущена, то в файле /etc/rc.conf уже есть строчка

ntpd_enable=»YES»

если ее нет, добавьте.

Дальше отредактируем файл /etc/ntp.conf В качестве серверов синхронизации укажем:

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server 3.pool.ntp.org

и добавим две строчки в конец:

driftfile /var/db/ntpd.drift
logfile /var/log/ntpd.log

Сохраняем, перезапускаем ntpd командой:

# killall ntpd && ntpd

Теперь наш сервер будет автоматически синхронизировать свое время.

Установка и настройка ipfw

Настройка фаервола сервера это тема отдельной статьи, тут я подробно останавливаться на этом не буду. Мы просто запустим фаервол на нашей freebsd 10, установим скрипт для безопасного редактирования правил. А дальше каждый уже сам по своему желанию сможет безопасно настраивать удаленно фаервол, не боясь потерять доступ к серверу.

Для работы ipfw необходимо либо пересобрать ядро с нужными функциями, любо подгружать модуль во время загрузки. Второй вариант проще и быстрее, воспользуемся им. Добавим в /etc/rc.conf строку:

firewall_enable=»YES»

Если нам не нужен NAT, forward портов, то больше ничего делать не нужно, ipfw подключится во время загрузки сервера. Если мы оставим только эту строку и перезагрузим сервер, то удаленно мы к нему больше не подключимся, фаервол заблокирует все соединения. Чтобы того не произошло, указываем путь к файлу с правилами:

firewall_script=»/usr/local/etc/ipfw/rc.firewall»

Идем в указанную папку и создаем файл следующего содержания:

#!/bin/sh — fwcmd=»/sbin/ipfw»
${fwcmd} -f flush
${fwcmd} -f queue flush
${fwcmd} -f pipe flush ${fwcmd} add allow ip from any to any

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

# ipfw show

В ответ получаем:

00100 115 15052 allow ip from any to any
65535 0 0 deny ip from any to any

На первом месте наше правило, которое все разрешает, на втором, запрещающее. Все пакеты попадают под первое правило. В Freebsd есть замечательный скрипт, с помощью которого можно безопасно настраивать ipfw. Работает он просто. Вы запускаете скрипт, редактируете правила, потом сохраняете их и принимаете изменения.

Скрипт после применения правил выводит сообщение о том, что все ли в порядке, записываем правила или нет. Если вы где-то ошиблись и вас отключило от сервера, вы не сможете положительно ответить на вопрос. Скрипт ждет 30 секунд ответа и если его не получает, откатывается на предыдущую версию правил. Вы спокойно подключаетесь и смотрите, где ошиблись.

Копируем себе скрипт:

# cp /usr/share/examples/ipfw/change_rules.sh /usr/local/etc/ipfw_change_rules

и делаем его исполняемым:

# chmod 0700 ipfw_change_rules

Теперь можно экспериментировать. При запуске скрипта будет открываться файл с правилами ipfw. После сохранения файла и выхода из него, скрипт спросит, применить или нет новые правила. Дальше я уже описал его логику.

Обновление портов

Основные настройки сделали. Теперь подготовим нашу систему к установке софта. обновим дерево портов с помощью утилиты portsnap. При первом запуске используем команду:

# portsnap fetch extract

Утилита скачает и распакует порты в папку /usr/ports. Последующее обновление будет производиться командой:

# portsnap fetch update

Добавим ее в cron для регулярного обновления портов раз в сутки. Для этого идем в /var/cron/tabs и создаем там файл root.

# touch /var/cron/tabs/root

Файл должен быть следующего содержания:

SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
0 3 * * * portsnap cron

Обращаю внимание, что команда в планировщике записана не так, как мы запускали из консоли. Это сделано специально, чтобы не грузить сервера обновлений по крону в одно и то же время.

Для обновления через планировщик используется специальная команда porsnap cron, которая делает небольшой случайный разброс по времени для обновления, чтобы все клиенты обновлялись в разное время, а не строго по часам.

На этом наша настройка системы закончена, переходим к следующей части, в которой займемся настройкой непосредственно компонентов web-сервера.

Помогла статья? Есть возможность отблагодарить автора

Дополнительные материалы по Freebsd

Рекомендую полезные материалы по Freebsd:
Описание установки Freebsd 11 на одиночный диск, либо на софтовый raid1, сделанный средствами zfs, которые поддерживает стандартный установщик.Базовая настройка Freebsd, которую можно выполнить после установки сервера общего назначения. Представлены некоторые рекомендации по повышению удобства пользования и безопасности.Описание и нюансы обновления системы Freebsd с помощью утилиты freebsd-update. Показано пошагово на конкретном примере обновления.Настройка Freebsd шлюза для обеспечения выхода в интернет. Используется ipfw и ядерный нат, dnsmasq в качестве dhcp и dns сервера. Мониторинг сетевой активности с помощью iftop.Настройка максимально быстрого web сервера на базе Freebsd и nginx + php-fpm. Существенный прирост производительности по сравнению с классическим apache.

Источник: https://serveradmin.ru/freebsd-10-ustanovka-i-nastroyka-web-servera-dlya-razmeshheniya-bloga-wordpress-ch-2/

Советы по первичной настройке FreeBSD для новичков — Статьи по Linux и Open Source (nixp.ru)

Идея этой статьи возникла в тот момент, когда я впервые установил FreeBSD 6.1. Ситуация была такова, что я сидел перед компьютером, глядя на черный экран и не понимая, что же вообще делать.

Идея этой статьи возникла в тот момент, когда я впервые установил FreeBSD 6.1. Ситуация была такова, что я сидел перед компьютером, глядя на черный экран и не понимая, что же вообще делать.

Наверное, со стороны смотрелось забавно… Данный материал будет точнее характеризовать как не статью, а мануал из разряда «Заметки начинающего пользователя».

Соответственно, и ориентирован он на начинающих пользователей, которые, как и я в свое время, не знают, что и как им делать в новой операционной системе.

Примечания:

  1. Я не буду подробно расписывать то, что у вас будет написано на экране. Там обо всем сообщают на английском, а его почти все знают. Если вы не знаете — вооружитесь словариком.
  2. Я не претендую на звание «Автор года» — я просто хочу кому-нибудь помочь. Не знаю, помогу ли, но так я не буду чувствовать себя ненужным.
  3. Вместо слов «От рута» или «С правами суперпользователя» я буду ставить символ «#» перед командой. В случаях, где стоит «$», эти прав не нужны.

1) Пользователи и права

Если вы не забыли добавить пользователя в процессе установки, то можете сразу перейти к пункту «б)».

а) Чтобы не рисковать, постоянно находится в системе под root’ом не рекомендуется, ибо малейшая оплошность может привести к серьезным последствиям.

Для этого существуют пользовательские учетные записи, с которыми и надлежит работать.

Если же у вас появляется необходимость, например, изменить какой-нибудь системный конфигурационный файл, существует команда su, которая (после ввода пароля от root) предоставляет права суперпользователя для текущего терминала.

Итак, чтобы создать пользователя, существует несколько вариантов. Мы остановимся на двух самых простых: через меню sysinstall и через команду adduser.

Первый способ:

# sysinstall -> Configure -> User management -> User.

Все просто: заполняем стандартную форму (имя, пароль, реальное имя, адрес домашнего каталога, группа). (Чтобы пропустить выполнение пункта «б)», можно в поле «Group» вписать wheel, хотя перед этим рекомендуется почитать, к чему это приводит.)

Читайте также:  Phplist — установка и настройка на linux centos. веб-интерфейс для рассылки почтовых сообщений

Второй способ:

# adduser

Далее предстоит ответить на несколько вопросов системы. Тоже все просто.

б) Группа wheel дает вам возможность выполнять команды от имени суперпользователя (root). Это сделано для того, чтобы ускорить выполнение этих самых команд: в такой случае не нужно каждый раз начинать новый сеанс, а достаточно воспользоваться командой su примерно так:

$ su
Password:
# ls

Как вы понимаете, последняя команда (ls) выполняется уже с правами суперпользователя. Чтобы получить доступ к выполнению этой команд,ы достаточно включить себя в группу wheel. Делается это редактированием файла /etc/group:

# ee /etc/group

Откроется стандартный текстовый редактор ee, в первой строке (возможно, и не в первой) будет запись:

wheel:*:0:root

Ставим запятую после слова root и вписываем имя нашего пользователя. Например, так (для пользователя joe):

wheel:*:0:root,joe

Теперь заходим в систему под своим именем и больше никогда не входим с логином root.

2) Настройка и запуск иксов (X-сервера X.Org)

Тут тоже ничего сложного нет. Единственная проблема в том, что в процессе установки FreeBSD Xorg не конфигурируется. Поэтому нам предстоит это сделать самим. Итак:

# Xorg -configure

Запускается конфигурационный скрипт. Он создаст файл xorg.conf.new и сохранит его в каталоге /root.

# Xorg -configure ~/xorg.conf.new

Проверяется конфигурация из нового сгенерированного файла (/root/xorg.conf.new). Если все правильно, появится серый экран и курсор мыши (крестик). Нажимаем комбинацию клавиш ++ («экстренное» завершение работы X-сервера).

# cp ~/xorg.conf.new /etc/X11/xorg.conf

Новый конфигурационный файл копируется на место стандартного системного конфига Xorg.

Теперь надо определить менеджер окон по умолчанию. Это делается просто: создается файл .xinitrc в домашнем каталоге пользователя (для которого и определяется оконный менеджер по умолчанию) и в него помещается строку вида exec .

Например, для текущего пользователя определение KDE как оконного менеджера по умолчанию делается так:

$ echo «exec startkde»>~/.xinitrc

Теперь можно выполнить команду startx и оказаться в графической оболочке.

3) Локализация (русификация системы)

Многие считают, для русификации Linux достаточно поставить пакет локализации используемого оконного менеджера, но на самом деле это, конечно, не так. Далее я приведу порядок действий для локализации FreeBSD в CP1251. Это стандартная кодировка, используемая в операционной системе Windows.

У меня на компьютере FreeBSD и Linux установлена и Windows XP, поэтому, чтобы они все друг друга «понимали», все приводится в CP1251 (строго говоря, это вовсе не обязательное условие для организации такого «понимания» — прим. Д. Шурупова). К тому же, нет проблем, например, с тегами .

mp3-файлов, записанных в Windows.

Редактируем /etc/login.conf:

russian|Russian Users Accounts: :charset=CP1251: :lang=ru_RU.CP1251: :tc=default:

Далее исправляем конфигурационные файлы используемых командных оболочек. Для bash (Bourne-Shell) в файл /etc/profile вписываем:

LANG=ru_RU.CP1251; export LANG LC_ALL=ru_RU.CP1251; export LC_ALL MM_CHARSET=CP1251; export MM_CHARSET

Для csh (или tcsh) в файл /etc/csh.login вписываем:

setenv LANG ru_RU.CP1251 setenv MM_CHARSET CP1251

Для того, чтобы не только читать, но и писать в CP1251, качаем 2 файла: ru.cp1251.kbd и win2cpp866.scm. Первый копируем в /usr/share/syscons/keymaps/, второй — в /usr/share/syscons/scrnmaps/.

Теперь в /etc/rc.conf пишем:

keymap=ru.cp1251 scrnmap=»win2cpp866″ font8x16=cp866-8×16 font8x14=cp866-8×14 font8x8=cp866-8×8

После запуска KDE устанавливаем стандартные Windows-шрифты через центр управления KDE.

Windows-разделы жесткого диска (FAT32) легко монтируются после редактирования файла /etc/fstab. В него необходимо добавить строку вида:

/dev/ad1s1 /mnt/win_d msdosfs rw,auto,-DCP866,-Lru_RU.CP1251 0 0

Где /dev/ad1s1 — имя устройства нужного раздела жесткого диска, /mnt/win_d — точка монтирования (где будет доступен этот раздел жесткого диска после монтирования), msdosfs — тип файловой системы.

4) Настройка звука

Для начала рекомендую посетить http://www.freebsd.org/releases/6.2R/hardware-i386.html — на этой странице можно найти информацию обо всем поддерживаемом оборудовании на данный момент. Как не трудно догадаться, нужно найти свою аудиокарту и запомнить имя драйвера для нее.

После этого в файл /boot/loader.conf нужно добавить строку типа:

snd_cmi_load=»YES»

Где вместо snd_cmi нужно указать название своего драйвера. После перезагрузки в системе появится звук.

5) Рихтовка xorg.conf

а) Возможно, колесо мышки (скролл) не будет работать. В этом случае необходимо открыть конфигурационный файл Xorg (/etc/X11/xorg.conf), найти секцию мышки и привести ее примерно к следующему виду:

Section «InputDevice» Identifier «Mouse0» Driver «mouse» Option «Protocol» «auto» Option «Device» «/dev/sysmouse» Option «ZAxisMapping» «4 5 6 7»
EndSection

Моя оптическая беспроводная мышь от Logitech работает отлично.

б) Раскладки клавиатуры и параметры переключения редактируются там же, только в секции клавиатуры:

Section «InputDevice» Identifier «Keyboard0» Driver «kbd» Option «XkbModel» «pc105» Option «XkbLayout» «us,ru(winkeys)» Option «XkbRules» «xorg» OPtion «XkbOptions» «grp:ctrl_shift_toggle,grp_led:scroll»
EndSection

В данном примере представлено переключение по + и включение индикатора Scroll Lock, когда активирована русская раскладка.

6) Установка программ

В FreeBSD предусмотрено 3 основных типа установки нового программного обеспечения.

  1. Из исходников. Нужно скачать архив (вероятно, им будет тарболл, т.е. файлы типа *.tar, *.tar.gz или *.tar.bz2) и распаковать его (для .tar: tar xvf xxx.tar; для .tar.gz: tar xzvf xxx.tar.gz; для .tar.bz2: tar xjvf xxx.tar.bz2). После этого установка вкратце выполняется так:
    $ ./configure
    $ make
    # make install

    (Последнюю операцию, как видно, необходимо выполнять с правами root.)

  2. Из пакетов. Для работы с ними используются программы pkg_add, pkg_delete и pkg_info. Пакеты доступны на FTP-сервере FreeBSD. Программы работают так:
    # pkg_add
    — устанавливает пакет.
    # pkg_delete
    — удаляет установленный пакет из системы.
    # pkg_info
    — выводит информацию об установленном пакете.
  3. Из портов. Коллекция портов FreeBSD может быть установлена во время инсталляции системы или в любое время с помощью команды sysinstall. Для портов используется несколько источников их получения (например: FTP-сервер, привод CD-ROM и т.д). Разумеется, предпочтительным вариантом является FTP, но это не всегда возможно. По умолчанию порты ставятся в /usr/ports. Чтобы найти нужное приложение, достаточно выполнить специально предусмотренный поиск:
    $ cd /usr/ports
    $ make search name=

    В этом случае программа даст вам расположение и название каталога искомого пакета, а также информацию о том, что надо, чтобы его установить (зависимости). Если в процессе установки чего-то не будет хватать, программа сама поставит все, что ей надо.

    Итак, допустим, мы устанавливаем nmap:

    $ cd /usr/ports
    $ make search name=nmap
    Port: nmap-4.11
    Path: /usr/ports/security/nmap
    Info: Port scanning utility for large networks
    Maint: daniel@roe.ch
    B-deps: gettext-0.14.5_2 gmake-3.81_1 libiconv-1.9.2_2 pcre-6.7
    R-deps: pcre-6.7
    WWW: http://www.insecure.org/nmap/
    $ cd security/nmap
    # make install clean

    Вот и все. Спустя 10 минут я получил в свое распоряжение готовую рабочую программу.

На этом пока все. Будут вопросы — пишите. Обсуждение этой статьи проводится в форуме nixp.ru.

Источник: https://www.nixp.ru/articles/26.html

Рекомендации по настройке нового сервера FreeBSD

Данная статья поможет вам не забыть настроить основные моменты при поднятии нового сервера с нуля. Будут использоваться общие принципы при настройке сервера, не зависимо от назначения (а если есть специфические моменты — они будут оговорены отдельно)

Кстати, статья будет дополнятся, обновляться.

1) Установка ОС

Рекомендую ставить 64-битные версии, даже если вы используете меньше 4 Гб памяти. Естественно, ваш процессор должен поддерживать 64-битный режим.

Так же хочу добавить рекомендации при разбивке дисков:

— старайтесь разносить базу данных, ОС, сайт на разные физические устройства.
— если предыдущий пункт невозможен, то необходимо выделять отдельные разделы для базы, сайта. Это связано с увеличением безопасности (к примеру, отключаем на таких разделах выполнение)

Хочу отдельно отметить информацию о RAID. Если вы решились на RAID, то внимательно изучите/посчитайте производительность, которую вы получите в таком случае.

Диски в составе одного рейда и подключенных к одному контроллеру будут только способствовать снижению производительности I/O.

Лучше подключать диски к разным физическим контроллерам, но желательно одинаковым.

Если вы сторонник ZFS, то можно например вообще отказаться от аппаратного рейда и делать RAID с помощью ZFS. Бытует мнение, что так будет быстрее и проще управлять. Обязательно прочтите эту статью.

Рекомендую прочесть так же эту статью про то, что бывает с пулом, когда он сильно заполнен и какие последствия этого.

Если ваши диски поддерживают работу с секторами, обязательно выровняйте их при создании разделов. Это повысит производительность дисков в несколько раз.

2) Пересборка ядра

Здесь рекомендую добавить в ядро поддержку такого функционала

— файервол (даже если это можно сделать и через модули)
— Dtrace (поможет трассировать приложения)
— Увеличение размера буферов (в дальнейшем будет использоваться для изменения различных параметров для sysctl)

maxusers 512
options NBUF=4096

— Accept-фильтры (ТОЛЬКО для веб-сервера)

options ACCEPT_FILTER_HTTP
options ACCEPT_FILTER_DATA

— Мультироутинг (для шлюзов, роутеров)

options ROUTETABLES=15

— По желанию убрать ненужный функционал

3) Файловая система и диски

Для файловых хранилищ можно использовать zfs (которую нужно подтюнить под ваши задачи).

Для жёстких дисков (если позволяют) выключить контроль ошибок (об этом можно прочесть здесь) Использовать данную рекомендацию можно тогда, когда диски находятся в любом избыточном рейде.

При использовании zfs, рекомендую отключать упреждающее чтение (prefetch) через /boot/loader.conf:

vfs.zfs.prefetch_disable=»1″

Если планируется хранить много маленьких файлов на разделе, рекомендую заранее создавать ФС с нужным числом inode’s. В противном случае можете столкнуться с тем, что место на разделе есть, а файл создать нельзя. Подробнее, описано здесь.

4) Sysctl

Для увеличения производительность используем изменённе значения переменных sysctl. Для нагруженных систем рекомендую сделать тюнинг sysctl, который описан здесь и здесь

Для систем с малым объёмом памяти рекомендую прочесть это (это касается FreeBSD 9.1 и выше)

5) Увеличение безопасности

Вот некоторые методы, которые помогут вам защитить сервер на 99%

— установка для папки /etc/ прав 0600
— использование анализаторов логов (fail2ban, bruteblock, sshit) для борьбы с подбором паролей
— использование внутренней защиты ПО (не использовать пустые пароли, отключить доступ рута через ssh, chroot, и т.д.)
— Использования различных IDE (rkhunter и другие)
— Аудит и пересылка логов на удалённый сервер
– Увеличение безопасности через файервол (описано здесь )

6) Мониторинг ресурсов.

Хорошим тоном является мониторинг ресурсов сервера, а так же просто мониторинг серверов. Для этих целей подойдёт cacti, nagios, zabbix

7) make.conf

Так же лучше добавить в /etc/make.conf нужные вам значения. К пример, отключить поддержку X-ов и прочего, что не требуется на сервере

WITHOUT_X11=YES WITHOUT_GAMES=yes NO_GAMES=true NO_GUI=yes NO_X11=yes

NO_X=yes

8 ) Тюнинг от команды FreeBSD.org

Вот пару ссылок в которых есть рекомендации

http://wiki.freebsd.org/ZFSTuningGuide
http://wiki.freebsd.org/SystemTuning
http://wiki.freebsd.org/NetworkPerformanceTuning

9) Для роутеров

Не забудьте вкомпиллировать файервол в ядро — файервол будет работать быстрее. И самое главное — не забывайте добавлять

gateway_enable=»YES»

в /etc/rc.conf, так как это является очень частой ошибкой при настройке шлюзов, роутеров.

Не лишним будет предусмотреть возможность включения шейпера (dummynet/altq), а так же таблиц маршрутизации с метрикам (RADIX_MPATH/ROUTETABLES). Предусмотрите максимальное количество сессий NAT, что бы не было переполнения и прочий тюнинг.

10) Software

По возможности избегайте использования «тяжёлого» ПО — старайтесь использовать аналоги, которые потребляют намного меньше ресурсов. Здесь можно найти табличку аналогов «тяжеловесов»

11) Performance

Рекомендую обратить внимание на сборник рецептов для выявления узких мест в вашей ОС, а так же http://skeletor.org.ua/?p=4807

12) Ограничение ресурсов.

Начиная с 9 появилось управление ресурсами rctl (начиная с 10.2 уже включено в ядро). Подробнее об этом можно прочесть:

https://www.freebsd.org/doc/handbook/security-resourcelimits.html http://myfreebsd.ru/overview/racct-na-praktike

https://www.bsdstore.ru/ru/11.0/wf_jrctl_ssi.html

Источник: https://skeletor.org.ua/?p=2712

Web-сервер на FreeBSD. Часть 1: Установка FreeBSD 10.3

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

Образ системы можно скачать с официального сайта FreeBSD.org. Нажимаем на манящую желтую кнопку Download FreeBSD и попадаем на страницу выбора нужного инсталлятора:

Если вы ставите FreeBSD на реальное железо, то качайте образ из Installer Images под свою архитектуру. Если же используется то или иное решение по части виртуализации, например ESXi кластер от VMware, то имеет смысл ставить Virtual Machine Images ибо те уже заточены под тот или иной гипервизор.

Читайте также:  Active directory простыми словами. что такое active directory. для чего нужен active directory

Для меня это не столь критично, поэтому я выберу образ Installer Images архитектуры amd64. Сами образы различаются по наличию в них тех или иных компонентов. Bootonly.

iso представляет из себя загрузку системы из сети, disk1.iso содержит основу системы и может устанавливаться без наличия интернета, dvd1.iso содержит тоже самое что и disk1.

iso и полное дерево портов вдобавок. Я советую выбирать disk1.iso, это самый оптимальный вариант:

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

Понеслась загрузка ядра и опрос оборудования, после этого запускается сам инсталлятор. Из выбора у нас Install — запустить установщик, Shell —  выйти в консоль по какой-либо нужде и Live-CD где можно залогиниться от рута без пароля и тоже чего-нибудь поделать. Выбираем Install:

Нас приветствует окно выбора раскладки клавиатуры. Мне не нужен русский язык в консоли или в дальнейшем, я оставляю это по умолчанию. В дальнейшем можно будет добавить при необходимости:

Далее с нас просят ввести имя машины. Вводим что душе угодно:

Затем последует выбор устанавливаемых компонентов. Здесь на ваше усмотрение, я выбираю документацию, библиотеки совместимости с 32битной архитектурой, дерево портов и исходные коды системы для чтения перед сном:

Нажимаем на ОК, начинается работа с диском. Попадаем в меню выбора его разбиения. Здесь все всегда очень индивидуально и настраивается под конкретную задачу. В нашем случае система ставится на пустое железо, поэтому доверимся установщику и жмем Auto (UFS):

В следующем окне выбираем entire disk, и в следующем схему томов как GPT. Инсталлятор послушно выполнил пожелания и представит вариант автоматического разбиения диска:

У FreeBSD схожее с Linux представление о наименовании дисковых устройств. Система обозвала наш винт ada0, а разделы с приставочкой p (partition) и номером.

В данном случае нет разбиения tmp или home в отдельные партиции, хотя если у вас на хостинге предполагается много пользователей со своими сайтами, рекомендую создавать для них свой раздел (например home).

Нажимаем Finish:

До сего момента никакие изменения на устройстве произведены не были, установщик спросит нас о решимости намерений, предупредив что после этого вся имеющаяся информация на диске будет стерта, нажимаем Commit и любуемся на установку системы:

После распаковки архивов с системой, нас попросят установит пароль пользователя root, вводим:

Следом будет настройка сетевых интерфейсов, инсталятор постарается найти все имеющиеся сетевые устройства и предложит выбор чего настраивать:

Здесь опять все индивидуально. Первым делом идет настройка IPv4. Если вы получайте IP адрес от вашего провайдера по DHCP, инсталятор предложит соответствующий выбор, если же нет, то вводите все ручками. В моем случае IPv4 по DHCP, IPv6 не настраиваю. Следующий шаг, настройка времени:

Лично я всегда устанавливаю часовой пояс вручную дабы быть уверенным, что время установлено правильно. Отнеситесь к этому шагу ответственно. От правильного времени зависит работоспособность системы и пакетов в ней. Выбираем No:

Не пытайтесь искать Russian Federation в группе Europe, инсталлятор убежден что наша страна это Азия. Далее выбирайте нужный вам часовой пояс. Нажимаем OK:

Последует небольшая настройка уже установленной системы. На выбор предлагается активировать различные демоны. Меня интересует только sshd, поэтому выбираю его. Нажимаем ОК. Нам предложат создать простого пользователя, это удобнее сделать из системы, нажимаем No. Все, установка завершена:

Открывается меню выбора тех или иных настроек если вы что-то захотите изменить. Полезно будет поставить Handbook. Есть и русский вариант.

На этом все! Система установлена. Извлекаем накопитель и жмем пункт Exit. Нас спросят уточнить не желаем ли мы вносить постустановочные изменения. Нажимаем No. Читаем поздравления от инсталятора и жмем Reboot, загружаемся в установленной системе, логинимся от рута:

Поздравляю! Система полностью готова к работе. В следующий раз будем производить настройку и затачивать систему под наши нужды.

Источник: https://hardreboot.ru/bsd/web-server-na-freebsd-chast-1-ustanovka-freebsd-10-3/

Как установить FreeBSD (пошаговая инструкция по установке для новичков)

Данная статья предназначена для тех, кто действительно хочет познакомиться с FreeBSD. Здесь сразу стоит отметить, не нужно путать Linux с FreeBSD и не стоит устанавливать две операционные системы на один компьютер, лучше всего для этих целей выделить отдельный компьютер или использовать виртуальную машину.

Что такое FreeBSD? FreeBSD — свободная Unix-подобная операционная система, потомок AT&T Unix по линии BSD, созданной в университете Беркли. FreeBSD работает на PC-совместимых системах семейства x86, включая Microsoft Xbox, а также на DEC Alpha, Sun UltraSPARC, IA-64, AMD64, PowerPC, NEC PC-98, ARM. Готовится поддержка архитектуры MIPS.

С чего стоит начать? Начать стоит с определения архитектуры Вашего процессора. Если это 32-х разрядный Intel, значит архитектура – i386. Если процессор 64-х разрядный, то он имеет архитектуру либо amd64, либо ia64. В случае с виртуальной машиной можно с легкостью считать, что у вас архитектура i386.

В нашем случае, в процессе установки мы будем использовать новейший дистрибутив FreeBSD-8.2-RELEASE, а сама установка будет протекать на виртуальной машине, созданной при помощи бесплатного программного обеспечения Oracle VirtualBox, имеющего общие корни с Qemu. О том, как создать и настроить виртуальную машину мы узнаем в следующей статье.

Ну что же, продолжим, скачиваем дистрибутив и приступаем к установке, советуем скачать дистрибутив с меткой в названии Disk, его размер гораздо меньше другого его собрата, а все пакеты полного DVD нам сейчас не понадобятся.

Итак, образ скачан, диск смонтирован или вставлен в шахту привода, на экране сразу высветится первый вопрос помощника установки, здесь нужно выбрать страну.

В диалоге «System Console Keymap» выбираем «Russia KOI8-R» и нажимаем ОК. На вопрос о типе установки выбираем «Standard». Затем нам предложат выбрать/создать раздел на диске, куда непосредственно будет установлена FreeBSD.

Здесь показан список уже существующих разделов и свободное дисковое пространство (по умолчанию данные показаны в байтах, нажимая «Z» можно переключаться между вариантами).

Чтобы создать раздел, надо поставить курсор на полосу с указанным количеством свободного места на диске и нажать клавишу «C» (Create). Вводим желаемый размер раздела (по умолчанию предлагается использовать все доступное место). Удалить раздел можно нажатием «D» (Delete).

После внесения изменений сохраняемся «W» и выходим «Q». Далее приступим к созданию разделов файловой системы FreeBSD.

Здесь два варианта: автоматическая разметка, кнопка «A» (Auto) или же разметка вручную, кнопка «C» (Create). Если вы решили создавать разделы вручную, то в диалоге создания раздела файловой системы нужно будет вести имя и размер (размер по умолчанию вводится в секторах, чтобы указывать его в мегабайтах, необходимо в конце дописать MB, например, 512MB).

Отметим только разделы, обязательные для создания:

Источник: http://sovetolog.com/sovetyi/information-technology/kak-ustanovit-freebsd-poshagovaya-instruktsiya-po-ustanovke-dlya-novichkov.html

Настройка сети FreeBSD 11

В этой статье мы рассмотрим сетевые интерфейсы в FreeBSD 11.1, покажем настройку сети через файл конфигурации /etc/rc.

conf, а именно назначение статических настроек и получение их по DHCP.

Пропишем адреса DNS-серверов, настроем hosts и рассмотрим указание временных настроек сети.

Просмотр сетевых интерфейсов

Для начала проясним: Есть два состояния сетевой карты UP(задействована) и DOWN(не задействована).

Первым делом стоит посмотреть наши сетевые интерфейсы, смотреть будем командой ifconfig.(Рис.1) Вывод команды показывает все интерфейсы UP и DOWN.

ifconfig

ifconfig -a покажет вам тоже самое.

ifconfig -a

Вот тут есть некоторые отличия от ifconfig в Ubuntu server.(в Ubuntu server «ifconfig» показывает только интерфейсы UP, «ifconfig -a» показывает все интерфейсы и UP и DOWN)

Рис.1 — Результат ввода команды ifconfig.

И так что же мы видим:

  • em0 — наша сетевая карта, с IP адресом 192.168.3.11.
  • em1 — вторая сетевая карта, не настроенная.
  • lo — локальная петля, она у всех присутствует по умолчанию.

Для того чтобы посмотреть интерфейсы только UP, используется команда ifconfig -u (Рис.2):

ifconfig -u

а для просмотра интерфейсов только DOWN, используется команда ifconfig -d (Рис.3):

ifconfig -dРис.2 — Результат ввода команды ifconfig -u.Рис.3 — Результат ввода команды ifconfig -d.

В дальнейшем я буду показывать примеры настройки на интерфейсе «em0».

Для включения интерфейса используется команда ifconfig «НАЗВАНИЕ-ИНТЕРФЕЙСА» up.

ifconfig em0 up

Для выключения интерфейса используется команда ifconfig «НАЗВАНИЕ-ИНТЕРФЕЙСА» down.

ifconfig em0 down

«Поиграйтесь» с интерфейсом, если вы конечно же не подключены по ssh, и оставьте его в состоянии UP.

Настройка сети через файл конфигурации

Для настройки статического или динамического IP адреса нам надо отредактировать файл конфигурации сетевых интерфейсов — /etc/rc.conf мы будем редактировать его с помощью текстового редактора vi.(Рис.

4) Сразу скажу, для того чтобы редактировать в vi нужно нажать букву «i», а чтобы  сохранить и закрыть документ надо нажать  «Esc» ввести «:wq!» и нажать «Enter».

vi /etc/rc.confРис.4 — vi /etc/rc.conf.

Получение настроек сети по DHCP

Чтобы назначить получение настроек по DHCP, нужно вписать( или изменить существующую) строчку в файл /etc/rc.conf.(Рис.5)

ifconfig_НАЗВАНИЕ-ИНТЕРФЕЙСА=»DHCP»

ifconfig_em0=»DHCP»Рис.5 — Получение сетевых настроек по DHCP.

Перезапускаем сетевую службу netif.(Рис.6)

/etc/rc.d/netif restartРис.6 — Перезапуск сетевой службы FreeBSD.

Смотрим активные сетевые интерфейсы, видим, полученный по DHCP, IP адрес интерфейса em0 192.168.3.6(Рис.7)

ifconfig -u

Проверяем выход в интернет пингуем гугловские восьмёрки.

ping 8.8.8.8Рис.7 — Проверка активных интерфейсов и доступа к сети.

Пинги идут. Всё отлично!

Указание настроек сети вручную

Чтобы назначить статичный адрес для нашей Freebsd нужно в файл /etc/rc.conf вписать две строки(Рис.8)

ifconfig_НАЗВАНИЕ-ИНТЕРФЕЙСА=»inet IP-АДРЕС-FREEBSD netmask МАСКА-СЕТИ«

defaultrouter=»IP-АДРЕС-ШЛЮЗА«

ifconfig_em0=»inet 192.168.3.11 netmask 255.255.255.0″ defaultrouter=»192.168.3.1″Рис.8 — Статичные настройки сетевого интерфейса.

Перезапускаем сетевую службу.

/etc/rc.d/netif restart

Проверяем активные интерфейсы

ifconfig -u

Проверяем выход в интернет пингуем гугловские восьмёрки.

ping 8.8.8.8

Настройка DNS

IP адреса DNS серверов хранятся в файле /etc/resolv.conf(Рис.9)

Открываем resolv.conf в редакторе vi.

vi /etc/resolv.conf

Вписываем IP адрес DNS сервера. (Можно указать сколько угодно адресов.)

nameserver 192.168.3.1 nameserver 8.8.8.8 nameserver 8.8.4.4

Если у вас нет файла resolv.conf то создайте его в каталоге /etc

touch /etc/resolv.confРис.9 — Содержимое файла resolv.conf.

Файл /etc/hosts

Файл /etc/hosts содержит таблицы сопоставления DNS имен с IP адресами. В первую очередь ваш сервер будет обращаться к файлу hosts, а потом уже к DNS-серверу.

Записи 127.0.0.1 добавился автоматически при установке.

Лично для себя я отметил полезным внести в hosts запись этого freebsd (IP адрес локальной сети — имя сервера). Теперь мы можем во всех конфигурационных файлах указывать DNS имя, а не IP адрес, а в случае необходимости за кротчайшее время изменить свой IP адрес поправив hosts и настройки интерфейса в /etc/rc.conf.

Это просто для примера вам этого делать не обязательно.

Приступаю к редактированию(Рис.10):

vi /etc/hosts

Вписываю:

192.168.3.11 freebsd.itdeer.locРис.10 — Содержимое файла hosts.

Проверю попинговав имена из hosts.(Рис.11)

ping localhostping freebsd.itdeer.locРис.11 — Пингуем имена из hosts.

Временное назначение ip адреса

Честно говоря я не знаю для чего может пригодиться временное назначение сетевых настроек. Разве что допустим у вас какой-нибудь сервер который предназначен только для вашей локальной сети и вы вдруг решили быстренько обновить ПО через интернет на этом сервере, чтобы не ходить к шлюзу не раздавать интернет на нужный IP адрес итд.  Вы можете обойтись парой команд.

Например, мы знаем что на 192.168.3.109 точно есть доступ в интернет, назначаем этот IP адрес нашему интерфейсу, так же нужно указать маску сети(Рис.12):

ifconfig em0 192.168.3.109 netmask 255.255.255.0

или командой с короткой записью маски сети.

Читайте также:  L2tp vpn-сервер на centos 7. установка и настройка сервера впн

ifconfig em0 192.168.3.109/24Рис.12 — Указание временных настроек для сетевого интерфейса em0.

Интернет может  не появиться, так как не указан шлюз по умолчанию. Прописываем его и пингуем гугловкие восьмёрки.(Рис.13)

route add default 192.168.3.1ping 8.8.8.8Рис.13 — Указываем шлюз по умолчанию. Проверяем ping.

Правильно ли мы прописали наш шлюз по умолчанию можно посмотреть в таблице маршрутизации. Она выводится с помощью команды «netstat -rn», Шлюз по умолчанию будет обозначен флагом UG.(Рис.14)

netstat -rnРис.14 — Вывод таблицы маршрутизации.

Если вы где-то ошиблись в написании или у вас указан другой шлюз, то можно удалить шлюз по умолчанию.

route del default

На этом временная настройка закончена, помните что после перезагрузки сервера  или отдельно службы networking, все временные настройки исчезнут.

Добавляем маршрут в сеть 192.168.0.0/16 (Маска 255.255.0.0) через основной шлюз(gateway) 192.168.3.1/24

route add 192.168.0.0/16 192.168.3.1

Вариант добавления маршрута с указанием полной маски.

route add -net 192.168.0.0 -netmask 255.255.0.0 192.168.3.1

Переименовываем интерфейс em0 в wan0

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

Допустим у нас шлюз с двумя сетевыми интерфейсами em0(интернет) и em1(локальная сеть) и работать с такими названиями неудобно, так как имея большое количество интерфейсов можно запутаться. Гораздо удобнее работать с интерфейсами wan0 и lan1.

Мы покажем пример переименования интерфейса em0 в wan0 в файле /etc/rc.conf.(Рис.15)

vi /etc/rc.conf

Строку:

ifconfig_em0=»inet 192.168.3.11 netmask 255.255.255.0″

Заменяем двумя строками:

ifconfig_em0_name=»wan0» ifconfig_wan0=»inet 192.168.3.11 netmask 255.255.255.0″Рис.15 — Переименовываем интерфейсы в файле /etc/rc.conf.

Не забываем перезапустить сетевую службу:

/etc/rc.d/netif restart

Проверю, введу команду ifconfig -u. Видим наш wan0 с нужным IP адресом.(Рис.16)

ifconfig -uРис.16 — Проверяем новое название интерфейса. ifconfig -u.

У меня всё!

Была ли вам полезна статья? Есть возможность поддержать проект.

Источник: https://itdeer.ru/nastrojka-seti-freebsd-11/

FreeBSD в деталях. О плюсах и минусах системы

В данной статье рассмотрим операционную систему – FreeBSD, чем она привлекает пользователей и какие недостатки имеет.

 Еще в 1993 году началась разработка операционной системы FreeBSD (Berkeley Software Distribution), в этом же году вышла первая официальная версия. Последний релиз системы появился в августе 2015.

Как видим, ОС FreeBSD стабильно развивается и естественно имеет своих поклонников. Давайте разберемся, за что так пользователи любят FreeBSD и какие недостатки имеет данная система.

Многие пользователи часто сравнивают FreeBSD с Linux, так как обе эти системы похожи между собой. Общая черта: свободная загрузка из сети, открытые исходники, бесплатность, форумы поддержки, где можно найти много приверженцев данной ОС. Основные отличия Linux и BSD более подробно здесь. 

Главные преимущества системы FreeBSD:

  • Стабильность работы. Несколько лет назад компания Netcraft привела к сведенью результаты анализа работы сайтов. Наиболее долгую непрерывную работу (по календарным дням) имели веб-проекты, которые работали под управлением FreeBSD.
  • Бесплатное скачивание ОС. Большинство пользователей всегда делают выбор в пользу бесплатных систем, и не обременяют себя покупкой дорогих лицензий для ОС. Таким образом скачать и установить  FreeBSD Вы можете абсолютно бесплатно.
  • Открытый исходный код. Любой желающий может вносить свои правки в код и выполнять желаемые проверки без проблем, правда, есть некие ограничения, но они слишком минимальны.
  • Качественность. Многие популярные на весь мир веб-сервисы используют данную систему, что есть беспорным подтверждением качества работы. За оценками экспертов почти 40% серверов на рынке СНГ работают именно на данной ОС.
  • Надежность. Данный фактор обеспечивается монолитным ядром и законченной логической структурой ОС, которая по сути является целостной.

Структура системы FreeBSD:

  1. Библиотека С используется в качестве системного интерфейса программирования.
  2. Ядро, которое предназначено для планировки всех процессов, управлением памяти, работы с устройствами и тп.
  3. Разнообразные файловые утилиты, компиляторы, оболочки, редакторы связей, и другие программы для конечного пользователя, некоторые из них основываются на коде GNU.
  4. За графический дизайн отвечает встроенная в  FreeBSD X Window.
  5. Огромный выбор системных и прикладных программ.

Разработкой FreeBSD занимаются почти 4 тыс. добровольцев, которые и выпускают оновленные версии. Всего релизов насчитывают десять, последний из которых был выпущен 13 августа 2015 года. Но все-таки система не является столь популярной, как к примеру Linux. Давайте разберемся в причинах, почему FreeBSD имеет небольшое количество пользователей.

В превую очередь, это “заслуга” разработчиков, которые занимаются шлифовкой кода системы, и очень мало времени уделяют рекламе своего продукта. Кроме того, они мало заботятся о рядовом пользователи и не упрощают процесс настройки и установки ОС, что для многих является ключевым этапом при выборе операционной системы.

Ведь настроить Linux намного проще чем FreeBSD.

Недостатки системы FreeBSD

Среди минусов ОС пользователи чаще всего выделяют сложность установки и настройки системы, но с приходом определенных навыков в администрировании, этот недостаток становится несущественным.

Кроме того, для изучения работы FreeBSD недостаточное количество литературы и трудный доступ к документации. Если Вы все-таки хотите, чтобы данная ОС работала на вашем выделенном сервере, можете обратиться в нашу тех.поддержку и они быстро и качественно установят и настроят FreeBSD.

Также достаточно будет просто при аренде VDS сервера выбрать FreeBSD желаемой ОС и она будет предустановлена на Ваш сервер.

Вывод. Если Вы выбираете ОС для своего сервера, прочитайте следующие советы, которые, надеемся, помогут Вам сделать правильный выбор.

Часто можно встретить информацию на интернет-ресурсах, что  FreeBSD улучшает производительность, это действительно так, но данное правило не следует считать универсальным.

Хорошая репутация  FreeBSD вполне заслуженная благодаря предоставленному качеству ОС. И последнее, если Вы уже используете выбранную ранее ОС, не стоит ее менять.

К Вашему сведению, ОС  FreeBSD (9,10)  уже предустановленна на наших ВПС серверах и Вы сможете ощутить все преимущества данной системы, сделав заказ виртуального сервера в компании HyperHost™. Какую ОС выбрать для работы сервера? 

6034 раз(а) 16 Сегодня просмотрено раз(а)

Источник: https://hyperhost.ua/info/freebsd-v-detalyah-o-plyusah-i-minusah-sistemyi/

Mikanoshi » Настройки безопасности FreeBSD. Часть 1

Модификация настроек ОС для повышения внешней и внутренней безопасности.

Меняем алгоритм шифрования

Заменим алгоритм шифрования паролей с md5 на еще более надежный Blowfish. Делаем исправления в файле /etc/login.

conf в секции default:// заменяем алгоритм шифрования на Blowfish :passwd_format=blf: // устанавливаем период устаревания паролей :passwordtime=52d: // предупреждаем о том, что пароли должны содержать разные символы :mixpasswordcase=true: // задаем минимальную длину пароля :minpasswordlen=9:

Теперь обновляем базу (login.conf.db):
cap_mkdb /etc/login.conf

Проверим, получилось ли у нас. Cмотрим содержимое /etc/master.passwd. Если зашифрованный пароль теперь начинается с “$2”, все ОК. Осталось сделать так, чтобы пароли новых пользователей шифровались алгоритмом Blowfish. Редактируем файл /etc/auth.conf:crypt_default=blf

IP-протоколы

Теперь займемся защитой от атак, связанных с недостатками протокола TCP/IP. Начнем с фильтрации SYNFIN-пакетов. Это TCP-пакеты с одновременно установленными флагами начала и завершения соединения, пользы от них практически никакой, зато они часто используются при хакерских атаках. Одновременно займемся и ICMP-протоколом.

Добавляем в /etc/rc.conf:
// отбрасываем SYNFIN-пакеты tcp_drop_synfin=»YES» // отключаем прием и отправку переадресовывающих ICMP-пакетов icmp_drop_redirect=»YES» // в системном журнале регистрируем переадресовывающие ICMP-пакеты icmp_log_redirect=»YES» // предотвращаем springboarding и smurf-атаки icmp_bmcastecho=»NO»

Далее прописываем в /etc/sysctl.conf строчки:
net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1

С помощью этих переменных мы превращаем нашу систему в так называемую “черную дыру”. Отныне она не будет реагировать на пакеты, поступающие на закрытые порты, и они будут просто пропадать. Этот прием позволяет защититься от флуда и от скрытого сканирования портов.

Огненная стена

Естественно, без фильтрации сетевого трафика никак не обойтись. Встроенный файрвол ipfw позволит нам фильтровать пакеты по заданным критериям и вести учет.

Для его включения нужно добавить в /etc/rc.conf строки:
firewall_enable=»YES» firewall_type=»open»

Однако тип файрвола “open” подходит для чего угодно, но только не для защищенного сервера. Поэтому для более надежной защиты можно выбрать одну из стандартных конфигураций:
// защита только сервера firewall_type=»client» // защита сервера и локальной сети firewall_type=»simple»

или же написать свой файл с правилами файрвола. Немного разберемся с созданием правил. Общий формат правила ipfw такой:

from to <\p>

В качестве выполняемого действия файрвол может разрешить (allow, pass, accept, permit) прохождение пакета или запретить (deny, drop, reject) его, а также посчитать (count), перенаправить по нужному адресу (fwd, forward) или другой программе (divert). Протоколы могут быть ip или all (для всех протоколов стека TCP/IP), а также tcp, udp, icmp и т.д.

Формат поля источника (from) и приемника (to) пакета может быть записан в различных формах: доменное имя, ip-адрес, подсеть в формате IP:MASK (192.168.1.0:255.255.255.0) или IP/LENGTH (192.168.1.

0/24), а также в виде специального слова any (любой адрес) или me (все адреса локальной машины). Для tcp и udp протокола после адреса источника или приемника можно через пробел указать еще и порт.

И, наконец, из дополнительных условий самыми полезными являются направление пакета (in или out – входящий и исходящий соответственно), интерфейс, через который будет проходить пакет (например, via fxp0), и даже идентификатор пользователя (uid) или группы (gid), для которых это правило будет работать. Теперь не составит труда разобраться, что правило
deny tcp from any to 192.168.1.0/24 in via fxp0

запрещает прохождение любых входящих tcp-пакетов через интерфейс fxp0 к сети 192.168.1.0/24, а правило
count ip from 192.168.1.0/24 to me uid 1001

будет вести учет трафика, который получит из сети 192.168.1.0/24 пользователь с UID, равным 1001.

Каждое правило файрвола должно иметь свой уникальный номер. Правила проверяются в порядке возрастания своих номеров. Для управления файрволом существует команда ipfw. Чтобы добавить правило, воспользуйся командой:

ipfw add <\p>

а чтобы его удалить:

ipfw delete<\p>

Для просмотра списка правил есть команда ipfw list, а ipfw show покажет трафик и количество пакетов, обработанных каждым из правил. В качестве примера для настройки файрвола можно посмотреть файл /etc/rc.firewall, а также ознакомиться с руководством по ipfw. Напоследок добавим в /etc/rc.conf строчку:
log_in_vain=»YES»

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

Демонов – под контроль

Не ко всем службам, запущенным на твоем сервере, стоит давать доступ. Если заблокировать доступ к отдельным портам можно с помощью правильной настройки файрвола, то доступ к службам проще ограничить с помощью файла /etc/hosts.allow.

Для примера ограничим доступ по ssh только несколькими сетями:
sshd : localhost : allow sshd : 192.168.1. : allow sshd : 10.1.1.0/255.255.255.240 : allow sshd : ALL : deny<\p>

Формат файла достаточно простой. Сначала мы указываем имя службы, затем имя или адрес хоста или сети, затем действие.

Правило ALL указывает, как поступать в случаях, не предусмотренных предыдущими правилами.

Теперь займемся демоном inetd, который играет весьма важную роль в обеспечении безопасности системы. Через него работают telnetd, ftpd, talk и прочие службы. Если никакие из демонов, запускаемых из inetd, тебе не нужны, отключи его. Для этого надо указать в /etc/rc.conf:
inetd_enable=»NO»

Если тебе все же нужен inetd и службы, которые запускаются из него, то стоит включить протоколирование событий и при большой нагрузке увеличить количество одновременных обращений к inetd (по умолчанию это число равно 256). Для этого добавь в /etc/rc.conf строчку
inetd_flags=»-l -R 1024″

Последние штрихи

Вот мы и закончили, все изменения в конфигурационные файлы внесены, настройки сделаны. Осталось перезагрузить систему. Посмотрим, чего мы добились.
$ netstat -na | grep LISTEN

Эта команда покажет нам, на каких портах висят сервисы. Чем их меньше, тем лучше. Также попробуй просканить свою машину nmap’ом. Итак, теперь твоя система намного более защищена, чем раньше. Не забывай регулярно обновлять ее и следить за логами. Удачи!

Тэги: blowfish, conf, cron, freebsd, httpd, inetd, ipfw, log, sshd, VDS, безопасность, защита, логи, правила, сервер, службы, файрвол, шифрование04 Июл 2010 в Администрирование

Источник: https://mikanoshi.name/nastrojki-bezopasnosti-freebsd-chast-1/

Ссылка на основную публикацию