27 МОСКОВСКАЯ ВСТРЕЧА
Форум самогонщиков Сайт Барахолка Магазин 27 МОСКОВСКАЯ ВСТРЕЧА

FreeBSD

Форум самогонщиков Общение по интересам Современные технологии
1 2 3 4 3
Андрей Администратор Бухарест 5.3K 4.8K 2
Отв.40  28 Янв. 11, 18:05
dikiy, значит ядро на компиляцию портов не влияет?
dikiy Бакалавр Красноярск 66 9
Отв.41  28 Янв. 11, 20:47
Ну в общем-то нет Улыбающийся архитектура точно влияет - некоторые порты поставляются только в бинарном виде (например sun jdk) и есть только под некоторые платформы, некоторые тупо на SPARCах каких-нибудь не работают а только на i386
Андрей Администратор Бухарест 5.3K 4.8K 2
Отв.42  31 Янв. 11, 02:53
А если у меня установлены порты, могу я в ядре убрать поддержку ненужного оборудования?
Ну и чтобы соответственно это никак не отразилось на работе системы ...
SamOvar Доктор наук Montreal 606 82
Отв.43  31 Янв. 11, 08:26
Если это никак не должно отразиться на работе системы, то зачем это делать? Улыбающийся
Можно выиграть пару секунд при загрузке, но это трудно заметить, а ошибка может дорого стоить, если это рабочая машина.
Особенно необходимость этого под сомнением, если установлена версия RELEASE.
Если же это экспериментальный комп, да еще и с версией STABLE, то нужно отредактировать файл /sys/i386/conf/GENERIC.
Точнее не сам GENERIC, который редактировать не рекомендовано, а его переименованную копию.
# cp /sys/i386/conf/GENERIC /root/MYKERNEL
# ln -s /root/MYKERNEL /sys/i386/conf/MYKERNEL
Эта команда создает symbolic link в директории, гда находится GENERIC. При дальнейшей компилляции ядра ссылка на MYKERNEL обязательна.
Потом редактируется /root/MYKERNEL в любом текстовом редакторе, например ee:
# ee /root/MYKERNEL
Желательно прочитать файл /sys/i386/conf/NOTES - там много полезной информации.
Еще один очень важный файл для чтения: /usr/src/UPDATING - там "последние известия" об изменениях в системе. Перед перекомпилляцией ядра очень
рекомендована перекомпилляция "мира", а иногда это абсолютно необходимо. File UPDATING сообщит об этом.
Порты - это просто коллекция программного обеспеченияdikiy, 28 Янв. 11, 12:50
Около 23тыс программ. Работа портов и кастомизированное ядро - НИКАК ДРУГ С ДРУГОМ НЕ СВЯЗАНЫ. Ядро - это часть ОС, отвечающая за "железо" (hardware), грубо говоря, набор драйверов для управления железом компьютера + некоторые инструкции по этому управлению.
Порты - это програмное обеспечение (software), типа MS Office на винде (она и без него будет работать), устанавливаемое по мере надобности.
Фряха будет полноценной ОС без единого порта. И ни один порт не требует кастомизации ядра.
ЗЫ. Если стоит процессор Р4 или выше, в конфиг файле можно "забанить" все Ix86 кроме I686.
dikiy Бакалавр Красноярск 66 9
Отв.44  31 Янв. 11, 15:17
# cp /sys/i386/conf/GENERIC /root/MYKERNEL
# ln -s /root/MYKERNEL /sys/i386/conf/MYKERNEL
SamOvar, 31 Янв. 11, 08:26
НАХРЕНА?
Может вы так привыкли, моё же мнение - это плохая практика.

Желательно прочитать файл /sys/i386/conf/NOTES - там много полезной информации.
Еще один очень важный файл для чтения: /usr/src/UPDATING - там "последние известия" об изменениях в системе.SamOvar, 31 Янв. 11, 08:26
Приплюсую к /sys/i386/conf/NOTES (описание опций, специфичных для i386) еще /sys/conf/NOTES (платформо-независимые опции).
/usr/ports/UPDATING - рекомендуется ознакамливаться перед обновлением портов, иногда происходят хитрые нетривиальные вещи и инструкции по обновлению лежат здесь.

Андрей, вы можете попробовать перекомпилировать ядро и тому подобное пока осавиваетесь с системой, но когда будете делать боевой сервер - оставьте на нем GENERIC и какую-нибуть номерную версию системы (8.1-RELEASE к примеру), будете меньше времени тратить на обновление (чтобы был понятен масштаб - как полчаса против суток)
Андрей Администратор Бухарест 5.3K 4.8K 2
Отв.45  31 Янв. 11, 15:35, через 19 мин
Ладно на счет удаления поддержки железа я думаю с современным железом это всё меньше становится актуальным?

А я вот хочу включить в ядре фаервол.
dikiy Бакалавр Красноярск 66 9
Отв.46  31 Янв. 11, 15:43, через 9 мин
Ну в общем-то да Улыбающийся для встраиваемых устройств это сильно критично, а для серверов да раб. станций - удобство важнее. Но вы все равно поиграйтесь чтобы представление иметь и почитайте как это рекомендует делать команда разработчиков в http://www.freebsd.org/...rnelconfig.html

Фаерволов несколько, ipfw и pf. Поразбираться можете с обоими, но pf лучше, у него идеология более правильная и больше шич и всё это удобно конфигурируется. В "man pf.conf" нормально все описывается. Оба фаервола прекрасно живут как модули ядра и подгружаются динамически

PS: кстати, приоритезация трафика с помощью pf и altq - одна из фич которая реально требует пересборку ядра; altq включается только так.
SamOvar Доктор наук Montreal 606 82
Отв.47  31 Янв. 11, 19:39
НАХРЕНА?dikiy, 31 Янв. 11, 15:17
Чтобы мой конфиг не был переписан на новый GENERIC при следующем обновлении scr.
А вы как делаете?

будете меньше времени тратить на обновление (чтобы был понятен масштаб - как полчаса против суток)dikiy, 31 Янв. 11, 15:17
Если это намек на freebsd-update, то не могу согласиться. Имхо путь через обновление мира-ядра и проще, и быстрее.
freebsd-update upgrade подразумевает еще и переустановку всех портов, что действительно может вылиться и в сутки, и в трое.

PS. Пока был на форуме - вот только что обновил систему:
# uname -r
8.2-PRERELEASE
Релиз должен был уже появиться. Если не сегодня после обеда, то на днях появится.
dikiy Бакалавр Красноярск 66 9
Отв.48  01 Февр. 11, 19:03
Если мне надо добавить пару строк к GENERIC я делаю в /sys/i386/conf (или какая там архитектура на сервере) новый файл такого плана:
include GENERIC
ident MYKERNEL
options OPTIONS
SamOvar Доктор наук Montreal 606 82
Отв.49  02 Февр. 11, 01:16
Спасибо, так тоже можно, но чем это лучше?
И почему моя практика "плохая"?
dikiy Бакалавр Красноярск 66 9
Отв.50  02 Февр. 11, 06:40
Мне не понравилось то что вы храните конфиг ядра в домашнем каталоге пользователя (пусть даже и рута) и "перекладываете" его в нужное место симлинком (зачем наводить эту паутину без особой надобности?)
SpankyHam Доцент Kiev 1.6K 387
Отв.51  02 Февр. 11, 10:04
Согласен. Обычно копируем в той же /usr/src/.../conf
Порядок есть порядок.
SamOvar Доктор наук Montreal 606 82
Отв.52  02 Февр. 11, 18:54
FreeBSD Handbook:
    Tip: Storing your kernel configuration file directly under /usr/src can be a bad idea. If you are experiencing problems it can be tempting to just delete /usr/src and start again. After doing this, it usually only takes a few seconds for you to realize that you have deleted your custom kernel configuration file. Also, do not edit GENERIC directly, as it may get overwritten the next time you update your source tree, and your kernel modifications will be lost.

    You might want to keep your kernel configuration file elsewhere, and then create a symbolic link to the file in the i386 directory.

    For example:

    # cd /usr/src/sys/i386/conf
    # mkdir /root/kernels
    # cp GENERIC /root/kernels/MYKERNEL   
    # ln -s /root/kernels/MYKERNEL
dikiy Бакалавр Красноярск 66 9
Отв.53  02 Февр. 11, 19:55
Уел Улыбающийся (хотя я остался при своем мнении)

С днем сурка everyone!
SamOvar Доктор наук Montreal 606 82
Отв.54  02 Февр. 11, 22:04
Ю2:)
У нас сегодня ни один сурок не вылезет: метель, блинн, при -13.
Самый раз гнать по третьему...

ЗЫ. А фильм - классный!
Андрей Администратор Бухарест 5.3K 4.8K 2
Отв.55  04 Февр. 11, 03:51
Правила для IPFW мне показались интуитивно понятнее, чем для PF.

Вот например:
#!/bin/sh
cmd="/sbin/ipfw -q"
wan_if="em0"

$cmd flush
$cmd pipe flush

$cmd allow ip from any to any via lo0
$cmd add check-state

$cmd add reset tcp from any to any established

# allow HTTP traffic
$cmd add allow tcp from any to me 80 setup in keep-state

# allow FTP
$cmd add allow tcp from any to me 21 setup in keep-state
$cmd add allow tcp from any to me 20 setup in keep-state
$cmd add allow tcp from me 20 to any setup out keep-state

# allow ping
$cmd add allow icmp from any to me icmptypes 8 in keep-state

# allow traffic to server
$cmd add allow tcp from me to any setup out keep-state
$cmd add allow ip from me to any out keep-state
$cmd add allow tcp from any to me setup in keep-state
$cmd add allow ip from any to me in keep-state

# deny everything else
$cmd add deny tcp from any to any setup
$cmd add deny ip from any to any

Против этого:
wan_if="em0"
priv_nets="{10.0.0.0.8, 172.16.0.0/12, 192.168.0.0/16, 224.0.0.0/4, 240.0.0.0/5, 127.0.0.0/8, 0.0.0.0}"
tcp_ports="{ 20, 21, 22, 25, 53, 80, 110, 143 }"
udp_ports="{ 53 }"
icmp_types="8"

table <rfc1918> const { 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12 }
table <blocklist> persist file "/etc/blocklist.txt"

set timeout { interval 10, frag 30 }
set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 }
set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
set timeout { icmp.first 20, icmp.error 10 }
set timeout { other.first 60, other.single 30, other.multiple 60 }
set timeout { adaptive.start 0, adaptive.end 0 }
set limit { states 15000, frags 30000 }
set optimization normal
set block-policy drop
set fingerprints "/etc/pf.os"
set loginterface $wan_if
set require-order yes

scrub in on $wan_if all no-df fragment reassemble min-ttl 15 max-mss 1460
scrub in on $wan_if all no-df
scrub    on $wan_if  all reassemble tcp

block in quick on $ext_if from $priv_nets

pass in all
pass out all

pass quick on lo0 all

block in log all
block out log all

block in quick on $wan_if from <blocklist> to any
block in quick on $wan_if from <rfc1918> to any

pass in on $wan_if proto tcp from any to $wan_if port $tcp_ports flags S/SA synproxy state
pass in on $wan_if proto udp from any to $wan_if port $udp_ports keep state
pass in on $wan_if inet proto icmp all icmp-type $icmp_types keep state
pass in inet proto icmp icmp-type 8 code 0 keep state



pass in quick on $wan_if proto tcp from any to any port > 49151  keep state

pass out on $wan_if proto tcp all modulate state flags S/SA
pass out on $wan_if proto { udp, icmp } all keep state










Еще я подумал, а зачем он вообще нужен на сервере?
Ведь фаервол закрывающий порты из вне есть на роутере...
Мне нужно просто сделать так, чтобы при нагрузке выше критической сервер не "завис", а НАТ и прочая маршрутизация средствами сервера не нужна, т.к. за этим сервером больше ничего нет.

Что посоветуете?
SpankyHam Доцент Kiev 1.6K 387
Отв.56  04 Февр. 11, 10:39
Для атакующего сервер - тысячи и одна неизвестность.
Вопросы, которые хотел бы решить потенциальный хакер:
1. На базе какой ос работает серв?
2. Какие сервисы поддерживаются?
3. Какие порты открыты?
4. Что находится за сервером?
ну и много прочих
Задача админа не дать взломщику ответов на эти и другие вопросы. Я не призываю к тотальной паранойе, администрирование - поиск разумного равновесия. А фв - способ перестраховаться от банальных неприятностей. Доморощенный хакер, перепробовав примитивный доступный инструментарий потеряет интерес на третьи сутки, бацилла будет долбить, пока включен инфицированный комп. Для профи твой ресурс не интересен.
Андрей Администратор Бухарест 5.3K 4.8K 2
Отв.57  04 Февр. 11, 14:07
Настало утро Улыбающийся
и теперь я могу точнее сформулировать свой вопрос нужна защита от ДДОС.

Вот у Лисяры прочитал про mod_evasive
http://www.lissyara.su/articles/freebsd/www/mod_evasive/

Там есть дополнение.
Это уже готовое решение? Нужно только это записать в конфиг и готово?
SamOvar Доктор наук Montreal 606 82
Отв.58  04 Февр. 11, 15:47
Хороший ресурс по OpenBSD (известна наивысшей безопасностью) здесь (англ).
SpankyHam Доцент Kiev 1.6K 387
Отв.59  04 Февр. 11, 18:13
у Лисяры прочитал про mod_evasiveАндрей, 04 Февр. 11, 14:07
Отличное решение. И, поскольку, имхо, 1-й апач малоактуален (скорее всего там баг взаимопонимания либо устойчивости самого 1-го), прикрути, попробуй.
Я это не пробовал, пока не нужно (ттт).
Интересно, будет ли это работать с virtual domains и нужно ли прописывать модуль в каждый virtual?