<li class=l> security.bsd.* - управление моделью безопасности
<ul><li> security.bsd.see_other_uids, security.bsd.see_other_gids - если 1, то пользователи (группы) могут видеть чужие процессы, сокеты и т.д. через ps, netstat, procfs;
<li> security.bsd.conservative_signals - если 1, то некоторые сигналы запрещается посылать setuid/setgid процессам;
<li> security.bsd.unprivileged_proc_debug - если 1, то пользовательский процесс можно отлаживать через ptrace, procfs, ktrace и т.д..
<li> security.bsd.unprivileged_read_msgbuf - если 1, то пользовательский процесс может читать из системного консольного буфера сообщений;
<li> security.bsd.hardlink_check_uid, security.bsd.hardlink_check_gid - если 1, то пользователи могут делать hardlink только на собственные файлы;
<li> security.bsd.unprivileged_get_quota - если 1, пользователи могут просматривать информацию по установленным для них квотам.
<li class=l> vfs.usermount - если 1, то непривилегированный пользователь может монтировать и размонтировать FS, если для устройства выставлены "rw" права и пользователь является владельцем точки монтирования;
</ul>
<li class=l> security.jail.* - ограничения для jail
<ul>
<li> security.jail.set_hostname_allowed - если 1, то внутри jail можно поменять имя хоста;
<li> security.jail.socket_unixiproute_only - если 1 , то сокет в jail можно создать только для доменов PF_LOCAL, PF_INET или PF_ROUTE, иначе, возвращается ошибка;
<li> security.jail.sysvipc_allowed - если 1, то то в jail можно получить доступ к глобальному System V IPC;
<li> security.jail.getfsstatroot_only - если 1, то в jail можно получить информацию (df)только о той файловой системе на которой создан jail;
<li> security.jail.allow_raw_sockets - если 1, то в jail можно создавать raw sockets;
<li> security.jail.chflags_allow - если 1, то процессы в jail могут модифицировать флаги ФС.
</ul>
<li class=l> IPFW
<ul>
<li> net.link.ether.bridge_ipfw - если 1 и ядро собрано с опциями IPFIREWALL и BRIDGE, то позволяет использовать ipfw для трафика внутри бриджа;
<li> net.link.ether.ipfw - если 1, то ipfw2 позволяет фильтровать по MAC адресам;
<li> net.inet.ip.fw.autoinc_step - задается число на которое увеличивается счетчик при добавления нового ipfw правила, когда явно не указан его номер;
<li> net.inet.ip.fw.debug - если 1, то в логи помещается дополнительная отладочная информация по работе ipfw;
<li> net.inet.ip.fw.verbose - если 0, то не отображать работу "log" правил в syslog;
<li> net.inet.ip.fw.one_pass - если 1, то просмотр правил ipfw прекращается сразу после подпадание под queue или pipe правило. Если 0, то продолжается обработка далее идущих правил;
</ul>
<li class=l> ICMP, соединение.
<ul>
<li> net.inet.icmp.icmplim - задается максимальное число ICMP "Unreachable" и TCP RST пакетов, которое может быть отправлено в секунду, net.inet.icmp.icmplim_output=0 позволяет не отражать в логах факты превышения лимита;
<li> net.inet.tcp.icmp_may_rst, если 1, то TCP соединения со статусом SYN_SENT, могут быть оборваны посредством сообщения "ICMP unreachable";
<li> net.inet.ip.redirect - если 0, то нет реакции на ICMP REDIRECT пакеты;
<li> net.inet.icmp.log_redirect - если 1, то все ICMP REDIRECT пакеты отражаются в логе;
<li> net.inet.icmp.drop_redirect - если 1, то ICMP REDIRECT пакеты игнорируются;
<li> net.inet.tcp.icmp_may_rst - если 1, то игнорируются ICMP сообщения от блокировки пакета по пути;
<li> net.inet.icmp.bmcastecho - для защиты от SMURF атак (ICMP echo request на broadcast адрес) нудно поставить 0;
</ul>
<li class=l> Тюнинг сетевой подсистемы, борьба с DoS атаками
<ul>
<li> net.inet.tcp.log_in_vain, net.inet.udp.log_in_vain - если 1, отражаем в логе попытки соединения к портам, для которых нет активных сервисов;
<li class=l> net.inet.tcp.blackhole - если 1, то SYN пакеты пришедшие на порты для которых нет активных сервисов, остаются без RST ответа, если 2, то на любые пакеты нет ответа (затрудняет сканирования портов);
<li> kern.ipc.nmbclusters - если по "netstat -m" mbufs в "peak" приближается к "max", то число сетевых буферов нужно увеличить (kern.ipc.nmbclusters=N в /boot/locader.conf);
<li> net.inet.ip.forwarding - если 1, то машина может форвадить пакеты между интерфейсами;
<li> net.inet.tcp.sack.enable - если 1, то включен TCP Selective Acknowledgements (SACK, RFC 2018) позволяющий увеличить производительность системы в ситуации большой потери пакетов;
<li> net.link.ether.inet.max_age - время жизни записи в IP route кэше, рекомендуется уменьшить для ослабления эффекта от DoS атак через ARP флуд;
</ul>
<li class=l> Оборудование и системная информация
<ul>
<li> dev.cpu.0.freq_levels - выдает список поддерживаемых частот, на которые можно переключить CPU, путем указание нужной частоты через dev.cpu.0.freq;
<li> hw.snd.maxautovchans, hw.snd.pcm0.vchans - задается число виртуальных звуковых каналов, для каждого из которых может быть отдельный источник звука (на выходе они будут смикшированы);
<li> kern.boottime - время последней загрузки системы;
<li> kern.disks - список дисков в системе;
<li> kern.geom.debugflags, для работы boot0cfg и подобных утилит нужно установить в 16;
</ul>
<li class=l> Изменение и тюнинг системных ограничений
<ul>
<li> kern.coredump - если 0, то при крахе приложения не будут создаваться core файлы, формат имени и путь для которых задается через kern.corefile (например: /tmp/%U.%N.core). kern.sugid_coredump=0 позволяет запретить генерацию core suid/sgid процессами;
<li> kern.maxfiles - максимально допустимое число открытых файлов (файловых дескрипторов), текущее число открытых файлов можно посмотреть через kern.openfiles;
<li> kern.maxprocperuid - максимально допустимое число процессов, которое может быть запущено из-под одного пользователя;
<li> kern.maxvnodes - максимальное число vnode для кеширования дисковых операций, текущее значение можно посмотреть через vfs.numvnodes или debug.numvnodes/debug.freevnodes;
</ul>
<li>SMP (FreeBSD 5)
<ul>
<li> kern.smp.maxcpus (machdep.smp_cpus) - максимальное число процессоров, поддерживаемое текущей сборкой ядра;
<li> kern.smp.active, kern.smp.disabled - число активных и выключенных CPU;
<li> kern.smp.cpus (machdep.smp_active) - сколько CPU в online;
<li> kern.smp.forward_signal_enabled - включить возможность мгновенной пересылки сигнала для процессов выполняемых в данный момент времени на разных CPU;
<li> kern.smp.forward_roundrobin_enabled;
</ul>
<li class=l> ARP
<ul>
<li> net.link.ether.inet.log_arp_movements - отражать в логе все широковещательные ARP пакеты с хостов MAC адрес которых отсутствует в локальном ARP кэше;
<li> net.link.ether.inet.log_arp_wrong_iface - отражать в логе все ARP пакеты пришедшие с неправильного интерфейса;
</ul>
URL: http://sysctl.enderunix.org/
Обсуждается: http://www.opennet.dev/tips/info/847.shtml