Необходимо наличие пакета perl 5.6 версии и выше.
На Red Hat, например, проверим:
rpm -qa perl
Установить, если не установлен, NetServer
>cpan [ENTER]
>install Net::Server
или, например, для RedHat
rpm -i perl-Net-Server-version.rpm
То же самое для IO::Multilex
>cpan [ENTER]
>install IO::Multilex
Также установить модули perl, если не установились или не установлены:
BerkeleyDB (Perl module)
Berkeley DB (Library, version ≥ 4.1)
perl-Net-DNS
perl-Digest-HMAC
perl-Digest-SHA1
perl-Parse-Syslog
Сам postgrey лежит на сайте here. Там же есть ссылки на вышеперечисленные пакеты.
Распакуем пакет:
tar -xvzf postgrey-1.34.tar.gz
Копируем файлы. Для большинства linux систем каталоги находятся там, где написано ниже (Однако нужно проверить и подкорректировать под свою систему):
cp postgrey /usr/sbin/
cp postgrey_whitelist_clients /etc/postfix/
cp postgrey_whitelist_recipients /etc/postfix/
сp contrib/postgreyreport /usr/sbin/
Далее возможно (для redhat EL5 наверняка потруется) ставим дополнительно еще из компилированного пакета. Пример ниже для Red hat (пакет взят из here):
rpm -i postgrey-version.rpm
Проверить наличие каталога /var/spool/postfix/postgrey и прав доступа к нему:
chown postfix:postfix /var/spool/postfix/postgrey
chmod 770 /var/spool/postfix/postgrey
Для работы postgrey совместно с postfix внесем изменения в конфигурационный файл main.cf (в данном примере, вместо параметра smtpd_recipient_restrictions использован параметр smtpd_client_restrictions. Разработчик рекомендует использовать smtpd_recipient_restrictions) :
smtpd_client_restrictions =
…,
…,
check_policy_service inet:127.0.0.1:60000
Внесем в файл /etc/postfix/ postgrey_whitelist_clients известные ip-адреса, домены почтовых сервисов, которые будут в белом списке (один адрес на одной строке).
Внесем в файл /etc/postfix/ postgrey_whitelist_recipient адреса получателей, к которым почта должна поступать незамедлительно:
postmaster@domain.tld
Administrators@domain.tld
root@domain.tld
Проверим наличие каталога /var/run/postgrey (если не существует – создать!!!), права на каталог root:postfix.
Откорректируем скрипт запуска сервиса postgrey /etc/init.d/postgrey. Параметр delay указывает время задержки сообщения в секундах :
prog=postgrey
postgrey=/usr/sbin/$prog
DBPATH=/var/spool/postfix/postgrey
SOCKET=$DBPATH/socket
OPTIONS=”-v –inet=127.0.0.1:60000 –delay=300 –user=postfix –group=postfix –pidfile=/var/run/postgrey/postgrey.pid”
Проверка работы сервиса postgrey
Запустим скрипт /etc/init.d/postgrey и проверим наличие процессов
>ps –aux | grep postgrey
postfix 14464 0.6 1.4 34580 29940 ? Ss Jun10 282:53 /usr/sbin/postgrey -d -v –inet=127.0.0.1:60000 –delay=300 –user=postfix –group=postfix –pidfile=/var/run/postgrey/postgrey.pid
root 29172 0.0 0.0 3892 700 pts/6 S+ 16:59 0:00 grep postgrey
> netstat -pan | grep postgrey
tcp 0 0 127.0.0.1:6060 0.0.0.0:* LISTEN 19224/postgrey.pid
tcp 0 0 127.0.0.1:6060 127.0.0.1:48744 ESTABLISHED 19224/postgrey.pid
unix 2 [ ] DGRAM 72023 19224/postgrey.pid
Выполним команды
service postgrey restart
service postfix restart
В результате в логах postfix должны появиться подобные строки:
> grep “action=” /var/log/mail/maillog
postgrey[23219]: action=greylist, reason=new, client_name=unknown, client_address=x.x.x.x, sender=test@domain.tld, recipient=testreception@domain2.tld
Установка осуществляется из установочного диска или любым другим стандартный способом. Пакет называется rsyslog.
Например, так:
yum install -y rsyslog
Далее необходимо разрешить удаленные запросы syslog по TCP или UDP.
Для это в файле “/etc/rsyslog.conf” изменяняем нижеследующие строки:
# Provides UDP syslog reception #$ModLoad imudp #$UDPServerRun 514 # Provides TCP syslog reception #$ModLoad imtcp #$InputTCPServerRun 514 на эти
# Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # Provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514 То есть раскомментировали некоторые строки.Далее делаем рестарт сервиса.
[root@syslog ~]# service rsyslog restart
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
И наконец, если запущен файервол iptables
service iptables status,
то необходимо разрешить пакеты syslog.
[root@syslog ~]# iptables -I INPUT -p tcp --dport 514 -j ACCEPT [root@syslog ~]# iptables -I INPUT -p udp --dport 514 -j ACCEPT [root@syslog ~]# service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] [root@syslog ~]# Теперь все работает.В конец файла “/etc/rsyslog.conf” добавляем свои настройки.
Например для приема с cisco добавляем строки
local1.=emerg /var/log/cisco/dirlog/cisco.emerg
local1.=info /var/log/cisco/dirlog/cisco.debug
и делаем рестарт сервиса syslog
service rsyslog restart .
Причина в принципе обеспечения безопасности при установке vpn соединения, заложенная в клиенте. Заключается она в запрете организации безопасного канала с включенной поддержкой общего доступа к системе.
Поэтому данная проблема устраняется остановкой сервиса в Windows “Общий доступ к подключению к интернету(ICS)” (На англ. версии системы называется internet connection sharing).
Чтобы отключить, нужно зайти в Управление компьютером – Службы – Общий доступ к подключению к интернету(ICS). Правой кнопкой мыши выбрать свойства и в окне выставить Остановить и Отключить.
На некоторых форумах есть нижеследующая информация. Возможно будет и она полезна (Смысл устранения проблемы в изменении параметра реестра):
1. В системе необходимо получить полные права доступа к администраторской консоли в настройках пользователя.
2. Необходимо поправить реестр в поле выполнить (run->cmd)
REG ADD HKLM\System\CurrentControlSet\Services\Tcpip\Parameters /v ArpRetryCount /t REG_DWORD /d 0 /f
А затем перезагрузиться.
1. Компилировать postfix нужно с поддержкой sasl2
2. Обратить внимание на файлы:
/usr/lib/sasl2/smtpd.conf:
pwcheck_method: saslauthd
mech_list: plain login
и
/etc/saslauthd.conf:
ldap_servers: ldap://х.х.х.х
ldap_version: 3
ldap_timeout: 10
ldap_timelimit: 10
ldap_bind_dn: ldapuser
ldap_bind_pw: ldapuser
ldap_domain: ЗЗЗЗ_ЗЗЗЗЗ
#ldap_search_base: O=ВВВВ
ldap_auth_method: bind
ldap_password_attr: userpassword
ldap_size_limit: 0
3. Запусккать обязательно так:
saslauthd -a ldap
4. Второй пункт может находиться в одном файле
/etc/sasl2/smtpd.conf 5. Проверка работы sasl вне зависимости от функционирования и настроек postfix
testsaslauthd -u username -p password
0: OK "Success."
В консоли набираем:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
Откроется файл с такими вот параметрами:
DEVICE=eth0
BOOTPROTO=static
DHCPCLASS=
HWADDR=уу:уу:уу:уу:уу:уу
IPADDR=х.х.х.х
NETMASK=255.255.255.192
ONBOOT=yes
Где менять нужно:
IPADDR= и NETMASK=
В данном примере:
IPADDR=х.х.х.х
NETMASK=z.z.z.z
Нажимаем Esc и набираем для сохранения и выхода:
:wq
Далее перезапускаем сетевой сервис и все:
service network restart
Чтобы очистить таблицу mac адресов (ARP кэш) необходимо ввести команду netsh interface ip delete arpcache.
Для просмотра таблицы используется команда arp -a
#cp /usr/share/zoneinfo/America/New_York /etc/localtime
#date +%z
Установка времени:
Автоматически -> /usr/bin/ntpdate 195.2.64.5
Вручную -> date yymmddhhss
В PHP 5.3 разработчки решили, наконец, избавиться от POSIX регулярных выражений – в самом деле, зачем нужны две библиотеки для работы с регулярными выражениями, если можно обойтись одной? К тому же, POSIX регулярные выражения гораздо медленнее чем Perl совместимые регулярные выражения (PCRE).
Теперь, разработчики в срочном порядке исправляют свой код, заменяя функции ereg, eregi, ereg_replace, ereg_replacei соответствующими PCRE аналогами, благо, замена получилась довольно простой:
1. заменить ereg и eregi на preg_match, ereg_replace и ereg_replacei на preg_repalce;
2. добавить // разделители в начало и конец регулярного выражения;
3. если POSIX функция кончается на i (eregi, ereg_replacei) то добавить i в конец регулярного выражения после разделителя.
4. заменить POSIX спецсимволы соответствуюущими PCRE аналогами: [:alnum:] – \w или [0-9a-z], [:digit:] – \d или [0-9], [:space:] – \s, [:alpha:] – [a-z]
примеры:
ereg(‘expression’) -> preg_match(‘/expression/’)
eregi(‘expression’) -> preg_match(‘/expression/i’)
eregi(‘^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$’) -> preg_match(‘/^[a-z0-9][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i’)
Кроме того, оказывается шаг четвертый не обязателен – спецсимволы типа [[:alnum:]] теперь поддерживаются в PCRE!
Для изменения забытого пароля root для входа в mysql необходимо следующее.
1. Останавливаем mysql
RedHat:
service mysqld stop
FreeBSD:
/usr/local/etc/rc.d/mysql-server.sh stop
2. Запускаем mysql следующей командой:
RedHat:
/usr/bin/mysqld_safe –skip-grant-tables –user=root &
FreeBSD:
/usr/local/bin/mysqld_safe -user=mysql &
3. Запускаем клиента mysql
mysql -u root
4. Выполняем sql запрос
UPDATE mysql.user SET Password=PASSWORD(’newpwd’) WHERE User=’root’;
где newpwd – новый пароль.
5. Применяем изменения
FLUSH PRIVILEGES;
6. Выходим из mysql клиента, выполнив в нем команду exit (или \q)
7. Перегружаем mysql сервер.
RedHat:
service mysqld restart
FreeBSD:
/usr/local/etc/rc.d/mysql-server.sh restart
Программа awstats для составления отчетов о посещение сайтов и вывода статистики использует лог Apache.
Установим awstats:
cd /usr/ports/www/awstats && make install clean
Это установка из портов, поэтому желательно иметь свежий набор портов. Как обновить порты, отдельная статья в рубрике FreeBSD этого блога.
Дальше редактируем настройки Apache
# Алиас для jar-файлов
Alias /awstatsclasses “/usr/local/www/awstats/classes/”
# Алиас для таблиц стилей
Alias /awstatscss “/usr/local/www/awstats/css/”
# Алиас для путей к иконкам
Alias /awstatsicons “/usr/local/www/awstats/icons/”
# Алиас для CGI-скриптов
ScriptAlias /awstats/ “/usr/local/www/awstats/cgi-bin/”
# Имя виртуального хоста
ServerName site.ru
# Корень виртуального хоста
DocumentRoot /usr/local/www/awstats
# Настройки доступа к директории
Allow from all
AllowOverride All
# Логи виртуального хоста
CustomLog “/var/log/httpd-stat.site.ru-access.log” combined
ErrorLog “/var/log/httpd-stat.site.ru-error.log”
Для каждого виртуального хоста прописывается статистика отдельно, соответственно, отдельный лог файл.
Перезапускаем Apache:
apachectl -k restart
Переходим к настройке awstats.
cd /usr/local/www/awstats/cgi-bin
cp awstats.model.conf awstats.site.ru.conf
Необходимо дать необходимые права на файл awstats.site.ru.conf.
Например, самые небезопасные настройки могут выполнены с помощью команд chmod и chown слудующим образом:
chmod root:wheel awstats.site.ru.conf
chown 777 awstats.site.ru.conf
Далее редактируем файл awstats.site.ru.conf. Изменяем следующие строки:
LogFile=”/var/log/httpd-stat.site.ru-access.log” — указуем путь к логам
AllowToUpdateStatsFromBrowser=1 — это добавит на страницу ссылоку обновить сейчас.
Lang=ru и DirData=”путь для отчетов” по усмотрению
Затем создать задачу в кроне для ежечасного считывания логов сайта. Для этого добавим в файл /etc/crontab следующую строчку:
55 * * * * root /usr/local/www/awstats/cgi-bin/awstats.pl -update -config=site.ru > /dev/null
Теперь все готово. Для просмотра, набираем в браузере:
http://site.ru/awstats/awstats.pl?config=site.ru
Следующее можно делать по желанию:
1. Вход по паролю. Нужно в нашем случае (см настройки apache) в каталоге /usr/local/www/awstats создать файл с логином и паролем .htpasswd. Для этого используется команда htpasswd.
Команда htpasswd -c /usr/local/www/awstats/.htpasswd username
А в файл конфигурации apache2 добавить:
<Directory /usr/local/www/awstats>
AuthType Basic
AuthName “Some Name”
AuthUserFile /usr/local/www/awstats/.htpasswd
require valid-user
</Directory>
2. Вход не через доменное имя site.ru, а через поддоменное stat.site.ru. Нужно изменить в настройках apache строку ServerName site.ru на ServerName stat.site.ru, а также добавить DNS запись в зоне у вашего доменного регистратора.
Recent Comments