Показаны сообщения с ярлыком настройка. Показать все сообщения
Показаны сообщения с ярлыком настройка. Показать все сообщения

17 июл. 2013 г.

Борьба со спамом средствами Postfix

В этой статье постараюсь изложить свой опыт по настройки MTA Postfix для максимальной фильтрации спама и нежелательных писем встроенными средствами и средствами модулей Postfix'а. Настройка Amavis, Spamassassin, Clam и т. п. отдельных средств фильтрации спама выходит за рамки данной статьи и я возможно напишу об этом позже.

Входные данные:
  • сервер под управлением ОС Debian 7, 
  • Postfix 2.9.x, 
  • домен: example.com, 
  • внешний IP - 222.222.222.222, 
  • внутренняя сеть - 192.168.1.0/24, 192.168.2.0/24. 
Считаю, что постфикс у вас уже настроен в плане авторизации, почтовых ящиков и прочего хозяйства.

Основной файл, где настраивается фильтрация спама, это main.cf

Для начала укажем адреса доверенных сетей с префиксами через "," - для этих сетей большинство проверок работать не будут дабы не использовать лишние ресурсы:

mynetworks = 127.0.0.0/8, 192.168.1.0/24, 192.168.2.0/24

Далее следуют проверки HELO, т. к. многие спаммеры или пропускают команду SMTP HELO или посылают заведомо неверные данные.

smtpd_delay_reject = yes 
smtpd_helo_required = yes 
smtpd_helo_restrictions = permit_mynetworks, 
    permit_sasl_authenticated, 
    check_helo_access hash:/etc/postfix/helo_access, 
    reject_non_fqdn_hostname, 
    reject_invalid_hostname, 
    permit

12 окт. 2012 г.

Установка Skype 4 в Oracle Linux 6 (Redhat 6 / CentOS 6)

Скайпу нужны х86 библиотеки. Установим его зависимости вначале:

yum install alsa-lib.i686 fontconfig.i686 freetype.i686 glib2.i686 libSM.i686 libXScrnSaver.i686 libXi.i686 libXrandr.i686 libXrender.i686 libXv.i686 libstdc++.i686 pulseaudio-libs.i686 qt.i686 qt-x11.i686 zlib.i686

Теперь качаем скайп static билд и распаковываем:

wget --trust-server-names http://www.skype.com/go/getskype-linux-beta-static
mkdir /opt/skype 

tar xvf skype_static* -C /opt/skype --strip-components=1

Сделаем ссылку на библиотеку, которую скайп "не понимает", но она есть - под другим именем.

cd /usr/lib 
ln -s libtiff.so.3 /usr/lib/libtiff.so.4

Сделаем ссылки в менюшки, чтобы всё было "по фен-шую"

ln -s /opt/skype/skype.desktop /usr/share/applications/skype.desktop 
ln -s /opt/skype/icons/SkypeBlue_48x48.png /usr/share/icons/skype.png 
ln -s /opt/skype/icons/SkypeBlue_48x48.png /usr/share/pixmaps/skype.png 

Сдедаем фейковый бинарник для запуска статика:

touch /usr/bin/skype 
chmod 755 /usr/bin/skype

В нем пропишем:

#!/bin/sh 
export SKYPE_HOME="/opt/skype" 
 $SKYPE_HOME/skype --resources=$SKYPE_HOME $*

Всё. Запускаем скайп просто из командной строки: skype или из менюшек.
Если будут проблемы со звуком - читаем ниже про настройку alsamixer.

Изменить временную зону (timezone) в Linux без перезагрузки

Файлы временных зон находятся в папке и подпапках /usr/share/zoneinfo/
Делаем ссылку /etc/localtime на нужную нам зону, перезаписывая существеющую:

ln -sf /usr/share/zoneinfo/Asia/Calcutta /etc/localtime

Проверяем:

date

Поменять дату и время легко командой:

date -s "18 OCT 20113 18:00:00"
Только дату:

date +%Y%m%d -s "20131018"

Только время:

date +%T -s "10:13:13"

10 окт. 2012 г.

Nut. Изменить уровень заряда UPS, при котором начинается shutdown event

Допустим, нам необходимо, чтобы ПК начинал выключаться при 40% заряда ИБП, а не при 10% - как задано по-умолчанию.

Для этого нужно в /etc/ups/upsd.users добавить пользователя:

[some_name]

password = some_password
allowfrom = localhost
actions = set

А затем выполнить команду (например, для UPS определенного как apc_backups@localhost) :

upsrw -s battery.charge.low=40 -u some_name -p some_password apc_backups@localhost

Так мы меняем параметр с 10% на 40%. У других UPS этот параметр может называться по-другому, а также он может сбрасываться на дефолтное значение при перезагрузке ПК.

8 окт. 2012 г.

Удаленное логирование сообщений роутера (например, Asus-16n)

Полезная фишка есть в сетевом оборудовании - запись своих логов на удаленный сервер. А дальше эти логи могут выгребаться каким-либо скриптом, отсылаться на электронную почту и так далее.

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

Заходим на сервер, на котором предполагается хранить логи раутера, и правим /etc/rsyslog.conf
Включаем модули для сбора удаленных логов:

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

И дописываем в секцию Rules правило для записи логов роутера в отдельный файл:

###############
#### RULES ####
###############

if $hostname contains 'asus16n' then /var/log/router.log;TraditionalFormat

Теперь все сообщения от источника с именем хоста asus16n будут записываться кроме общей лого-свалки, в отдельный файл /var/log/router.log. Для другого оборудовая скорее всего будут другие ключевые слова для парсинга логов.

Поправка:

В некоторых версиях rsyslog вместо TraditionalFormat нужно писать RSYSLOG_TraditionalFileFormat

5 окт. 2012 г.

Настройка автоматического выключения при low battery от UPS с помощью nut (Network UPS Tools)

Если имеются ИБП с подключением по USB, то целесообразно настроить корректное атовыключение рабочих станций на Oracle Linux 6.3 и Debian при отсутствии питания от сети. ИБП - Mustek PowerAgent 650 с USB.

1. Подключаем все провода, не забываем USB-кабелем соединить ПК и ИБП.
2. Устанавливаем Nut:

aptitude install nut

или

yum install nut

Особые извращенцы могут, конечно же, скомпилить из исходников :)
Различие между Debian и RHEL6 дистрибутивами только в том, что конфигурационные файлы в 1м случае лежат в /etc/nut, а во 2м - в /etc/ups :)

3. Настройка драйвера. Смотрим наши юсб-устройсва командой:

lsusb

Ищем среди них что-то типа:

Bus 001 Device 004: ID 0665:5161 Cypress Semiconductor USB to Serial

24 нояб. 2011 г.

Настройка mod_proxy в Apache

В общем, был такой таск: есть у нас локальная сетка и маршрутизатор Peplink. В локальной сетке на многих тазиках крутятся сайты, которые должны быть доступны извне. Как это сделать? Разносить по портам - не вариант, т. к. пользователю неудобно всё-таки набирать  URL типа блаблабла:8081. Решение - использовать HTTP-прокси, а на тазик с ним открыть в маршрутизаторе порты 80, 443. Для проксирования обычно используют nginx, но апач тоже отлично справляется с этой задачей.

Так сложилось, что тазик с прокси был Убунтой (клиент категорически н ехотел работать с другими дистрибутивами Linux), а "в Убунте всё не как у людей" (с) :) потому конфигурация её несколько отличается от других дистрибутивов. Но, приняв философию Убунты, я понял, что многие решения в ней очень даже удобны, хотя некоторые мне не нравятся - например, отсутствие пользователя root. Но это уже философия, грозящая холиваром, потому перейдем к делу :)

В убунте манипулирование апачем происходит с помощью глобальных команд: включение/выключение виртуал хостов - a2ensite / a2dissite с одним аргументом - пути к конфигу, в котором прописан виртуал хост. Включение/выключение модов или расширений происводится командами a2enmod / a2dismod.

В общем, алгоритм работы такой:

1) Нужно включить необходимые модули апача. Устанавливаем:

sudo apt-get install libapache2-mod-proxy-html libapache2-mod-gnutls

Разрешаем:

sudo a2enmod proxy
sudo a2enmod ssl
sudo a2enmod cache
sudo /etc/init.d/apache2 restart

2) Делаем конфиг виртуал хоста (по 1му файлу на 1 хост!) и помещаем его в /etc/apache2/sites-available. Пример HTTPS конфига проксирования на тазик с Confluence - это такая джавовская веб-морда для программистов и не только, работающая на Apache Tomcat (с портом 8444):