Объединение сетевых интерфейсов
mode=0 (balance-rr)
Последовательно кидает пакеты, с первого по последний интерфейс.
mode=1 (active-backup)
Один из интерфейсов активен. Если активный интерфейс выходит из строя (link down и т.д.), другой интерфейс заменяет активный. Не требует дополнительной настройки коммутатора
mode=2 (balance-xor)
Передачи распределяются между интерфейсами на основе формулы ((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов. Один и тот же интерфейс работает с определённым получателем. Режим даёт балансировку нагрузки и отказоустойчивость.
mode=3 (broadcast)
Все пакеты на все интерфейсы
mode=4 (802.3ad)
Link Agregation — IEEE 802.3ad, требует от коммутатора настройки.
mode=5 (balance-tlb)
Входящие пакеты принимаются только активным сетевым интерфейсом, исходящий распределяется в зависимости от текущей загрузки каждого интерфейса. Не требует настройки коммутатора.
mode=6 (balance-alb)
Тоже самое что 5, только входящий трафик тоже распределяется между интерфейсами. Не требует настройки коммутатора, но интерфейсы должны уметь изменять MAC.
Настройка
Очень простая. Вы выбираете режим, втыкаете в коммутатор второй кабель.
Дальше в зависимости от системы, я делал это на Debian Lenny
#apt-get install ifenslave-2.6
Дальше есть 2 варианта:
Вариант №1 Подправить /etc/network/interfaces к примеру так.
iface bond0 inet static
address 10.0.1.5
netmask 255.255.255.0
network 10.0.1.0
gateway 10.0.1.254
up /sbin/ifenslave bond0 eth0 eth1
down /sbin/ifenslave -d bond0 eth0 eth1
и подправить /etc/modprobe.d/arch/i386 примерно так
alias bond0 bonding
options bonding mode=5 miimon=100 downdelay=200 updelay=200
Естественно указать свой режим и настройки сети.
# update-modules
# ifdown eth0 eth1
# ifup bond0
# /etc/init.d/networking restart
Вариант №2 Все настройки через /etc/network/interfaces
iface bond0 inet static
address 10.0.1.5
netmask 255.255.255.0
network 10.0.1.0
gateway 10.0.1.254
bond_mode balance-tlb
bond_miimon 100
bond_downdelay 200
bond_updelay 200
slaves eth0 eth1
Сохраняем и пишем:
update-modules
# ifdown eth0 eth1
# ifup bond0
# /etc/init.d/networking restart
Простой honeypot
Создаем скрипт /usr/local/sbin/honey
#!/bin/sh
echo "Date: $(date) \n\nSomeone connect on 31337 port" | mail -s "Security alert $(hostname)" root
Потом открыть файл сервисов /etc/services и записать:
honey 31337/tcp
Теперь открывем /etc/inetd.conf и пишем
honey stream tcp nowait root /usr/local/sbin/honey honey
Все! Командой chmod a+x /usr/local/sbin/honey делаем файл исполняемым и перезагружаем inetd демон /etc/init.d/openbsd-inetd restart. Осталось только проверить его работу, поэтому телнется к себе на 31337 порт командой
telnet 127.0.0.1 31337
Заголовки Apache
$ curl --head http://www.example.com | grep Server
Server: Apache/2.2.29 (Debian) mod_ssl/2.8.5 OpenSSL/0.9.6b mod_perl/1.26
Проще всего изменить значение переменной ServerTokens конфигурационного файла apache. Она может принимать следующие значения.
Full - Отображать полную информацию о названии сервера и установленных модулях.
Min - Предоставить сведения только о названии сервера и установленных модулях.
Prod - Выводит только имя сервера.
После добавления указанной строчки в файл (/etc/apache2/apache.conf или /etc/apache2/conf.d/security).
ServerTokens Prod
После этого сервер на запрос выдаст
$ curl --head http://www.example.org | grep Server
Server: Apache
Начиная с Apache 2.0.44, эта директива также контролирует информацию предоставляемую директивой ServerSignature, описанной ниже.
ServerSignature
Эта директива отвечает за вывод подвала страницы в документах, сгенерированных сервером (сообщения о ошибках и прочее).
Данная директива может быть выставлена не только глобально, но и для виртуальных хостов, и в .htaccess.
Возможные значения:
Off (default): подавлять вывод
On: включать строку с указанием версии сервера.
EMail: включено все, и дополнительно доступно поле “mailto:” ссылающееся на ServerAdmin
Сообщения syslog
- auth Сообщения о нарушении безопасности и авторизации доступа
- authpriv Сообщение об использовании привилегированного доступа
- cron Сообщения демонов cron и at
- daemon Сообщения, генерируемые другими выполняющимися демонами (sshd, inetd, pppd и т.д.)
- kern Сообщения ядра
- lpr Сообщения подсистемы печати
- mail Сообщения почтовых программ
- news Сообщения системы новостей
- syslog Сообщения, создаваемые syslog
- user Сообщения, генерируемые пользовательскими программами
- uucp Сообщения UUCP
- local0-local7 Определяются для конкретной системы
Приоритеты Описание сообщения
- emerg Система непригодна для дальнейшей работы
- alert Состояние системы требует немедленного вмешательства
- crit Состояние представляет непосредственную угрозу системе
- err Сообщения об ошибках
- warning Предупреждающие сообщения
- notice Допустимое, но требующее внимания администратора состояние системы
- info Информационное состояние системы
- debug Отладочные сообщения
Полезные атрибуты файла
доступа к файлу, что позволяет сократить количество операций обращения
к носителю. Не поддерживается многими версиями ядра (до версии 2.0). В
некоторых случаях лучше смонтировать файловую систему с параметром
noatime.
- a Только дозапись данных. Устанавливается суперпользователем.
- d Такой файл будет пропущен при создании backup'а системы.
- i Файл нельзя переименовывать, создавать на него ссылки,
модифицировать.
- s При удалении файла занимаемое им место заполняется нулями.
- S При модификации файла все изменения синхронно фиксируются на НМЖД.
#Чтение атрибутов:
$ lsattr my_file.txt
-------- my_file.txt
#Установка атрибутов:
$ chattr +c my_file.txt
$ chattr +s my_file.txt
$ chattr +d my_file.txt
#Чтение атрибутов:
$ lsattr my_file.txt
s-c---d- my_file.txt
#Снятие атрибутов:
$ chattr -d my_file.txt
s-c----- my_file.txt
Постоянная ссылка /dev/changer
# udevinfo -a -p /sys/class/scsi_generic/sg0
В файл /etc/udev/rules.d/10.local-scsi.rules сохраняем информацию
SUBSYSTEM=="scsi_generic", ATTRS{model}=="MagFile ", ATTRS{vendor}=="M4 DATA ", SYMLINK+="changer"
Улетный SCSI
Для удаления SCSI устройства:
echo "scsi remove-single-device a b c d" > /proc/scsi/scsi
для добавления SCSI устройства, делаем
echo "scsi add-single-device a b c d" > /proc/scsi/scsi
где
a == hostadapter id (first one being 0)
b == SCSI channel on hostadapter (first one being 0)
c == ID
d == LUN (first one being 0)