Архив категории FreeBSD

Памятка команд

21 Май 2010

netstat -an|grep tcp | wc -l #кол-во активных соединений tcp

netstat -an|grep udp | wc -l #кол-во активных соединений udp

systat -vmstat 1 # статистика по жестким дискам

systat -ifstat 1 # статистика по сетевым интерфейсам

zip -9 archive.zip file1 file2 file3 fle* # добавление файлов в zip-архив

top -SPH # запуск top с отображением загруженности отдельных ядер процессора

du -shc /home/* # просмотр размера home и домашних каталогов пользователей первого уровня

# pwd_mkdb -p /etc/master.passwd — обновить базу пользователей

# /usr/sbin/quotaoff -a; /sbin/quotacheck -avug; /usr/sbin/quotaon -a; — восстановление квот

Проблема с kern.maxswzone на FreeBSD

21 Май 2010

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

Перезагрузился, в логах обнаружил строку kernel: swap zone exhausted, increase kern.maxswzone
Статистика показывала, что особой нагрузки на сервак и ддос не было.

В чем же причина? Оказалось, неудовлетворительное значение переменной kern.maxswzone сгубило сервак (установлено по умолчанию было kern.maxswzone: 33554432). Значение допустимо для свопа размером до 7 Гб. У меня же своп был 8Гб, плюс я накануне добавил еще 8 на всякий случай. Видимо это и стало причиной ошибки.

Почитав в интернете, пришел к выводу что нужно увеличить значение втрое, прописав в loader.conf — kern.maxswzone=”100663296″

Сервер пока отлично работает.

Увеличение объема подкачки swap во FreeBSD

19 Май 2010

Бывает необходимо быстро создать/добавить swap во FreeBSD для какого-нибудь процесса, пожирающего память с астрономической скоростью. В хендбуке нашел замечательное решение:
Создаем пустой файл размером 2Гб, заполненный нулями, в корне ФС:

# dd if=/dev/zero of=/swap.file bs=1M count=2048

Даем права доступа только для root

# chmod 600 /swap.file

Подключаем файл как виртуальный диск

# mdconfig -a -t vnode -f /swap.file -u 0

В каталоге /dev появляется виртуальный диск md0
И включаем в swap

# swapon /dev/md0

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

swapfile="/swap.file"

Собсно, заметку написал для себя, чтобы не искать в хендбуке.

Как удалить порт с зависимостями

12 Апрель 2010

При установке порта во FreeBSD, частенько он за собой тянет целый воз зависимостей. Чтобы удалит порт вместе с зависимостями есть такая штука как pkg_rmleaves:

# cd /usr/ports/ports-mgmt/pkg_rmleaves/
# make install clean
# rehash
# pkg_rmleaves -d

Далее выбираем нужный порт и удаляем.

Добавить пользователя в группу

9 Апрель 2010

Заметка на память:

# pw groupmod "название_группы" -m "юзер"

Безопасность сервера FreeBSD: SSH авторизация по ключу. Часть II

27 Март 2010
Недавно столкнулся с тем, что количества моей памяти недостаточно для хранения десятков паролей от учёток всех серверов. Иметь один и тот же пароль — нехорошо с точки зрения безопасности. SSH поддерживает метод авторизации пользователя по открытому ключу. Для автоматизаии процесса решил написать небольшой скрипт…
Читать полностью »

Безопасность сервера FreeBSD: проверка на rootkit’ы. Часть I

24 Март 2010

В последнее время я основательно занялся безопасностью сервера, на котором вертится хостинг. И на это есть все основания. Количество пользователей непременно растет с каждым днем — уследить за всеми уже нереально.  Большую опасность для системы представляют руткиты — враждебные программы, использующие известные уязвимости программного обеспечения (web-сервер, mysql и прочее) для повышения прав хакера до рута, либо выполнения команд, будь то DDoS или сканирование удаленных узлов. Читать полностью »

Шифрование файлов в Linux и FreeBSD

17 Март 2010

Недавно появилась необходимость зашифровать файл на сервере с FreeBSD, чтобы злобные хакеры не смогли получить доступ к важной информации. После недолгих поисков в Интернетах оказалось, что для подобной задачи вполне подходит OpenSSL — надёжное кроссплатформенное решение. OpenSSL поддерживает различные алгоритмы шифрования, плюс он по умолчанию установлен во многих операционных системах, а установка на остальные не составит труда.

Читать полностью »

Создание полной копии HDD с помощью dd и nc

16 Февраль 2010

Хочу рассказать, как делать копию жесткого диска по сети в никсах. Именно, полную копию HDD, а не разделов.

Итак, имеем 2 никсовые машины в сети — Server(192.168.0.1) и Backup(192.168.0.2).

На  Backup запускаем nc в режиме ожидания соединений на 5000 порту, с последующим сжатием и выводом данных в файл:

# nc -l -p 5000 | gzip -5 -c > ./server_hdd.img.gz

На Server dd’им образ винта и напрямую сливаем по сети через nc на Backup

# dd if=/dev/sda | nc -w 10 192.168.0.2 5000

Теперь ждем :) Чтобы посмотреть статус копирования — во втором терминале даем dd сигнал USR1:

# killall -SIGUSR1 dd

Для востановления полной копии  на Server:

# nc -l -p 5000 | dd of=/dev/ad0

На Backup:

# zcat ./server_hdd.img.gz | nc 192.168.0.1 5000

Не забываем, что вся предыдущая информация на ad0 будет перезаписана!

Хостинг своими руками: Установка Apache PerUser MPM-ITK на FreeBSD c DirectAdmin. Часть IV

8 Февраль 2010

Решил продолжить тему хостинга своими руками…

Буквально недавно мы приобрели новый, более мощный сервер на Intel Core i7, соответственно, все переносили  на него. Количество клиентов потихоньку растет, пришлось серьезно задуматься о безопасности сервера. Поэтому, тема статьи — повышение безопасности и надежности web-сервера Apache…

Читать полностью »