Небольшая заметка о ротации логов для себя.

/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 # дописать хосты откуда виден апач

Когда надо поменять ЧМОд множества файлов и при этом сохранить ЧМОд для папок:

# chmod -R 644 *

# find . -type d -exec chmod 0755 {} ‘;’

Когда надо поменять владельца файла:

# chown -R user:group /path/to/dir/

Информация о системе:

/proc/cpuinfo — информация о процессоре

/proc/meminfo — информация о памяти

/etc/redhat-release — информация о дистрибутиве для RHEL и CentOS

И так далее…

Для каждого веб-сервера нужен фтп. Не будем прыгать много, а сразу перейдем к делу.

Для начала настроим сам /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

pasv_enable=YES

pasv_min_port=12000

pasv_max_port=12100

ssl_enable=YES

allow_anon_ssl=NO

force_local_data_ssl=NO

force_local_logins_ssl=NO

ssl_tlsv1=YES

ssl_sslv2=NO

ssl_sslv3=NO

rsa_cert_file=/etc/vsftpd/vsftpd.pem

rsa_private_key_file=/etc/vsftpd/vsftpd.key

Далее займемся генерацией ключа:

# openssl genrsa -des3 -out vsftpd.key 1024
# openssl rsa -in vsftpd.key -out vsftpd.pem
# openssl req -new -key vsftpd.key -out vsftpd.csr
# openssl x509 -req -days 366 -in vsftpd.csr -signkey vsftpd.key -out vsftpd.crt

Если фтп сервис старутет, значит всё отличненько. Открываем порты в фаерволе:

-A RH-Firewall-1-INPUT -m state —state NEW -p tcp —dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp —dport 12000:12100 -j ACCEPT

Но с большой долей вероятности всплывёт косяк с загрузкой файлов, если у вас установлен SELinux (узнать можно набрав команду sestatus)

Для решения этой проблемы вы можете либо отключить его полностью, либо отключить его для фтп. Я выбираю второе:

# setsebool ftpd_disable_trans 1

После этого перезагрузите сервис фтп.

Особо больным гвоздем в попе может стать настройка почты. Я не стала трогать стандартную связку ну хорошо, трогала! однако постфикс нихрена не проще =Р а решила разобраться с так называемым «монстром».

Итак, во-первых для корректной работы почты нам понадобится юзер НЕ рут.

# useradd %username%

# passwd %username%

После того как юзер был создан, перейдем к настройке сендмайлы. Переходим в /etc/mail/ и начнем с файла local-host-names. Туда вписываем домены, на которые сендмейл будет принимать почту. В моём случае это:

domain.com

mail.domain.com

Следующий файл это virtusertable. В нем хранятся привязки почтовых ящиков к юзерским тушкам. Соответственно добавляем записи:

mail@domain.com   user

mail@mail.domain.com user

Файл access служит для задания действий для различных адресов. Подробнее с ним вы можете ознакомиться в мануале.

Инфо:

почта хранится в /var/mail/

Это не всё, но больше пока нет.