Что-то мя давно не писала… Вы не думайте что негатива нет, он есть, но я уже не чувствую реальности под ногами чтобы заморачиваться на нем. )
Столкнулась с проблемой отказа некоторых серверов принимать мыло с серевера. Как вариант решила попробовать добавить SPF.
Итак, основная идея в том, что для всех доменов находящихся на сервере (и не только) указывается один MX сервер, который и занимается обработкой сообщений. Указывать надо именно тот домен, который прописан в PTR записи.
Если допустим в PTR записи указан домен main.com, то для обслуживаемых доменов днс записи будут следующие:
domain.ru. MX 10 mail.main.com
domain.ru. TXT «v=spf1 a:mail.main.com mx ptr -all»
Полезные ссылочки:
http://old.openspf.org/dns.html (примеры SPF записей)
Как всё же госпожа удача изменчива в своих взглядах… ^^`
Началось всё с того, что в очередной редкий ребут один из винтов вдруг стал издавать довольно слышные звуки при работе. Методом научного хруста был выявлен и его непосредственый источник которым оказалась хоумовая 320-ка от WD. Немного подумав я решила глянуть что же на ней…
Глупость №1: всегда контролируйте не только логическое но и физическое разположение данных между носителями!
Как оказалось, по мере апгрейдов у меня из всей массы информации вся наиболее важная стекалась волей случая на единственный хоумовый винт, а не на серверные. Но, кто предупрежден — тот вооружен. ня? Подумала, пошуршала свежими и зелёными и обзавелась моделькой RE3 от WD на 750гб. Хотела взять тер, но его достать нереально в этой дыре… :(
План перееда и заселения был расписан, Лилу выключена, и…
Глупость №2: на материнку можно прицепить столько SATA, сколько имеется разъёмов и не более!
Почти что эпик фейл, так как все 6 сосок уже были заняты, а надо было 7 :) Подключать на рейдовый разъём я побоялась, так что мысль пошла в другом направлении. Было решено скопировать данные через акронисовский DDS, но и тут не обошлось без сюрприза. Оказывается, функции copy и move работают только с unallocated пространством. А так как веник уже был размечен и лень моя велика, этот план пришлось отложить.
Следующая идея заключалась в отключении самого ненужного из массива, хотя нет, до этого ещё была мысль попробовать сделать всё через сеть, но опять же лень десу. =) В результате, всё тьфу-тьфу-тьфу пошло как по-маслу. Данные были успешно скопированы на новый винт, а старый (хотя какой он старый?! 4года всего да и надо в мхдд погонять на тесте) теперь в почетной должности бэкапа. ^^
В завершение самое интересное и полезное:
НИКОГДА! Никогда не ставьте важное туда, откуда оно может упасть! В процессе разборки у меня тюкнулась одна корзина с винтами. Слава богу что всё обошлось и она как-то хитро упала на резиновые держатели, но душа в пятки убежала.
Совет тем, у кого проблемы с шумом от вибрации: купите корзину для винтов с виброгасящими креплениями, а затем поставьте её на противоударный материал в который она была упакована. Не знаю точно что за хрень (не пенопласт!) но вибрацию оно гасит лучше всякой резины и т.п. штучек. XD
Небольшая заметка о ротации логов для себя.
/etc/logrotate.d/ — настройки для сервисов использующих ротацию логов. Особенно полезно если скажем логи апача хранятся в отдельной директории(ях) но надо чтобы они парсились вместе с основными.
# useradd [options] login_name
создаем нового пользователя
# usermod [options] login_name
редактируем параметры пользователя
# userdel [options] login_name
удаляет пользователя. Используйте -r опцию чтобы автоматически удалять домашний каталог и почтовый пул.
# passwd login_name
задаем пароль для пользователя
# groupadd [options] group_name
создаем группу
# groupmod [options] group_name
редактируем параметры группы
# groupdel group_name
удаляем группу
Первая заповедь гласит: всегда делай бекапы.
Сегодня мы и займемся соблюдением этой заповеди при помощи святой мощи rsync и бесовского паладина cwrsync.
Для начала настроим хост. Создаем файл /etc/rsyncd.conf и прописываем туда следующее:
uid=root
read only=true
use chroot=false
max connections=2
log file=/var/log/rsyncd.log
hosts allow=192.168.0.12[backup]
comment=»Backup of host»
path=/path/to/data
list=true
auth users=%username%
secrets file=/etc/rsyncd.secrets
strict modes=true
Я не буду вдаваться в описание каждой настройки, всё это можно почитать тут. Если кратко, то мы запускаем rsync от рута (да-да, надо в чрут, но сейчас не про это) и разрешаем доступ с доверенного хоста. Заодно запрещая ему что-либо записывать. Ниже идет секция задания. В конфиге их может быть несколько. Там мы указываем что бекапить, и какому юзеру можно это делать.
Следующим шагом будет как раз добавление юзеров для работы с rsync. Тут всё предельно просто. Создаем файл /etc/rsyncd.secrets и добавляем туда пользователей и пароли для них вот в таком формате:
username:password
Настройки есть, пользователи тоже. Далее обезопасимся от еретиков и откроем врата. =)
# chown root:root /etc/rsyncd.*
# chmod 600 /etc/rsyncd.*
# rsync —daemon
Далее добавим правила для iptables:
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp —dport 873 -j ACCEPT
-A INPUT -p tcp -m tcp —dport 873 -j DROP
С хостом мы закончили. Но если что-то не получится, то можно попробовать отключить SELinux
# getsebool -P rsync_disable_trans 1
На бекапной машине (в моём случае это форточки) мы ставим cwrsync открываем консоль и пишем следующее:
c:\path to\cwrsync\bin\rsync.exe xxx.xxx.xxx.xxx::
Если всё отлично, то результат будет в виде списка заданий. Вызвать задание можно следующим образом:
rsync —recursive —update —delete -v user@xxx.xxx.xxx.xxx::backup /cygdrive/X/path to/
В данном случае мы делаем рекурсивное сохранение с удалением несуществующих файлов на бекапной машине.
Сколько бы ни говорили что линукс безопасен, а предохраняться надо.
# yum install rkhunter
# rkhunter —update
# rkhunter —check
А для того чтобы зря не ходить по ссх, можно настроить отсылку репортов на нужный мэйл(ы).
Файл /etc/rkhunter.conf директива MAIL-ON-WARINIG
Оригинал:
http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users
Ставим пакеты:
# yum install vsftpd db4-utils
Далее заливаем на сервер срипты и выполняем. Стоит заметить что если у вас x64 система, то надо будет подправить файл /etc/pam.d/ftp и заменить /lib на /lib64 в двух пуях.
Так же, у меня выкинуло ошибку при создании пользователя. Лечится она предельно просто:
# cat vaftpd_virtualuser_config.tpl /etc/vsftpd/users/%username%
и в последнем исправляем USERNAME на имя пользователя в пути.
После этого, можно смело коннектится.
Скачать скрипты: centos_vsftpd_scripts
Upd:
Как добавить НЕ виртуального пользователя? Будем исходить из того что пользователь уже есть в системе, так что сразу перейдем к делу. Во-первых, уберем его из файла /etc/vsftpd/denied_users. Во-вторых, пропишем пользователя и пароль для логина в /etc/vsftpd/accounts.tmp (логин и пароль с новой строки!). В директории /var/vsftpd/users/ создадим файл как имя юзера и впишем туда следующее:
dirlist_enable=YES
dirmessage_enable=YES
download_enable=YES
write_enable=YES
local_root=/path/to/user/dir/
После этого остается только обновить базу пользователей и перезагрузить сервис.
# db_load -T -t hash -f /etc/vsftpd/accounts.tmp /etc/vsftpd/accounts.db
На мой взгляд одной из приятных систем статистики является AWStats. Её настройкой и выколупыванием мы займемся.
# yum install awstats
Далее открываем /etc/httpd/conf.d/awstats.conf и приводим вот к такому виду:
Alias /awstats/icon/ /var/www/awstats/icon/
ScriptAlias /awstats/ /var/www/awstats/
<Directory /var/www/awstats/>
DirectoryIndex awstats.pl
Options ExecCGI
order deny,allow
allow from all
</Directory>
Сложно да? :) Следующим делом перейдем в /etc/awstats/ где лежит одинокий конфиг-пример. Простым движением
# cp awstats.localhost.localdomain.conf awstats.%host%.%domain%.conf
сделаем из гадкого утёнка матёрый конфиг ) Данную операцию повторяем для всех (суб)доменов которые нужны в статистику. После этого открываем каждый файлик и меняем:
LogFile=»/var/log/httpd/access_log» # путь к логу апача
SiteDomain=»localhost.localdomain» # домен
HostAliases=»REGEX[host\.domain$]» # регулярка с именем домена
FirstDayOfWeek=1 # понедельник — трудный день
Остальное меняем по своему вкусу. Ну и заодно прибиваем (или ренеймаем) стандартный конфиг.
# /usr/bin/awstats_updateall.pl now -confdir=»/etc» -awstatsprog=»/var/www/awstats/awstats.pl»
Эту команду необходимо выполнить при первом запуске. После этого идем в
http://host.domain/awstats/awstats.pl?config=host.domain
и наслаждаемся статистикой =^_^=
Р.S.
Небольшой бонус: конфиг mod_rpaf
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 # дописать хосты откуда виден апач