Уведомление на почту о заполнении диска в Linux

  • Linux
Для отправки уведомления у вас должна работать стандартная утилита mail. Адреса кому отправлять уведомление для удобства можно прописать в /etc/aliases, я добавляю строку admins и в нее прописываю нужные адреса.
Сам скрипт (найден где-то на форуме, немного переделан под себя):
#!/bin/bash

##Global vars
threshold=90  ##Порог критического значения свободного места, после 90% шлем уведомление
subject="Disk status $( hostname )"
temp_file=/tmp/disk_status

##Function      : check_disk_space
##Description   : it will check all partitions and it will return                  # non-zero exist status if use >= threshold 

check_disk_space(){
         awk -v threshold=$threshold 'BEGIN{
         status = 0
         cmd = "LC_ALL=C df -Ph" 
         while( cmd | getline ) {
             used=$5 
             if ( $1 != "Filesystem" && int(used) >= threshold ) {
                 printf "CRITICAL : Disk space alert (%s) :: [ Partition %s | mount point %s ]n", 
                 used,$1, $NF > "/dev/stderr"
                 status = 1
             }
         }
    exit status
    }'
}

check_disk_space > $temp_file 2>&1

if [[ -s $temp_file ]]
   then
       mail -s $subject admins < $temp_file
fi

Не работает fail2ban... опять

  • Linux
По неведомой причине у меня уже 2ой раз после обновления ломается fail2ban. Сначала перестал работать парсер, но получилось найти в сети у кого была такая же проблема и решение. Проблема была в том, что fail2ban не находил в логах нужных записей, все время показывал, что ничего не обнаружено. Для решения проблемы нужно было вернуть старый парсер, для чего в конфиге добавить такую строку:
[DEFAULT]
backend = gamin

Но разработчики не спят, а кодят! Поэтому после следующего обновления через yum update прилетело обновление fail2ban до 0.9.2. И вдруг перестало работать обнаружение проблем в ssh. При старте выдает «jail ssh does not exist». Попытки перенастроить и нагуглить такую проблему оказались безрезультатны. Поэтому обновил fail2ban вручную до актуальной версии 0.9.6. Вроде работает :)
Для обновления выполните следующее:
cd /usr/src
git clone https://github.com/fail2ban/fail2ban.git
cd fail2ban/
python setup.py install
service fail2ban restart

Настройка fail2ban для защиты Elastix от подбора пароля для веб-интерфейса

  • Linux
Мануалов по настройке защиты asterisk много, а защиты самого elastix почему-то не нашел. Вопросы на форумах висят без ответов. Сделал сам, метод работает.
Создадим фильтр
vim /etc/fail2ban/filter.d/elastix-login.conf

[Definition]
#_daemon = asterisk
# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P\S+)
# Values:  TEXT

#[Jul 14 20:47:04] LOGIN asdf: Authentication Failure to Web Interface login. Invalid user asdf from 192.168.0.100.
#[Nov 10 20:56:01] LOGIN admin: Authentication Failure to Web Interface login. Failed password for admin from 37.176.189.82.
#
failregex = LOGIN .*: Authentication Failure to Web Interface login. Invalid user .* from <HOST>.
            LOGIN .*: Authentication Failure to Web Interface login. Failed password for .* from <HOST>.

ignoreregex =

И добавим правило в jail.conf
[elastix]
enabled = true
filter = elastix-login
action = iptables-multiport[name=NoLoginFailures, port="http,https"]
logpath = /var/log/elastix/audit.log
bantime = 3600
maxretry = 3

Защита SSH с Fail2Ban в CentOS 7

  • Linux
Соединение по SSH к вашему серверу, доступному с интернета часто подвергается атакам. Fail2ban самое популярное средство для защиты от перебора паролей. Сервис сам анализирует неудачные попытки входа и создает правила в iptables, блокирующие доступ злоумышленникам.

Ниже проверенный мануал по установке Fail2ban на сервере CentOS 7.

Читать дальше →

Авторизация в Openmeetings с учетной записью Active Directory

  • FreeBSD
Так как Openmeetings напрямую к AD не прикручивается, действовать будем через OpenLDAP.
Итак. Ставим из портов OpenLDAP Server версии не ниже 2.3, так как более младшие версии не могут прозрачно передавать неизвестную схему.

Читать дальше →

Ставим Firebird 2.5 на Linux Centos6 из пакета rpm

  • Linux
В продолжение темы упрощенный вариант установки Firebird 2.5 на Linux Centos6:

Качаем свежим репозитарий atrpms-repo rpm с
http://dl.atrpms.net/el6-x86_64/atrpms/stable/

Устанавливаем atrpms-repo rpm:
# rpm -Uvh atrpms-repo*rpm

И ставим пакет firebird-superclassic:
# yum install firebird-superclassic

Ставим Firebird 2.5 на Linux Centos6 из исходников

  • Linux
Ставить пакет не спортивно, поэтому решил собрать из исходников с официального сайта. Для этого поставил чистую Centos 6 на VMWare ESXi 5, cкачал исходники Firebird-2.5.1.26351-0.tar.bz2 и…

Далее распаковываем:
tar xvjf Firebird-2.5.1.26351-0.tar.bz2
cd Firebird-2.5.1.26351-0

Обновляем пакеты:
yum update

Доставляем компилятор
yum install gcc gcc-cpp gcc-c++

Ставим библиотеки (еще пачку либ yum сам докачает)
yum install libtermcap-devel libstdc++-devel libtool ncurses-dev  libstdc++-devel libicu 

Читать дальше →

Shell скрипт для получения whois информации о домене

  • Linux
Тестировалось на Ubuntu 10.04. Доставляем пакет whois, если его нет.
apt-get install whois

Создаем скрипт
_dom=$@

# Die if no domains are given
[ $# -eq 0 ] && { echo "Usage: $0 domain1.com domain2.com ..."; exit 1; }
for d in $_dom
do
        _ip=$(host $d | grep 'has add' | head -1 | awk '{ print $4}')
        [ "$_ip" == "" ] && { echo "Error: $d is not valid domain or dns error."; continue; }
        echo "Getting information for domain: $d [ $_ip ]..."
        whois "$_ip" | egrep -w 'OrgName:|City:|Country:|OriginAS:|NetRange:'
        echo ""
done

Читать дальше →

Примеры использования Iptables

  • Linux
В Linux встроен брандмауэр называемый Netfilter. По данным официального сайта проекта:

netfilter это набор системных сообщений внутри ядра Linux, которые позволяют модулям ядра зарегистрировать функции обратного вызова с сетевого стека. Зарегистрированная функция обратного вызова обрабатывает каждый пакет проходящий через сетевой стек.

Брандмауэр в Linux управляется программой iptables, которая имеет функции фильтрации IPv4, ip6tables фильтрует IPv6. Данное руководство рассказывает как научится пользоваться Netfilter (iptables) в CentOS / RHEL / Fedora / Redhat Enterprise Linux. В этой статье можно найти основные примеры настройки iptables в Linux для защиты от вторжений.

Читать дальше →

Удаление и новая установка MySQL в Ubuntu 10.x

  • Linux
Если Вам друг потребуется переустановить MySQL как мне, сначала скопируйте папку с базой MySQL если она Вам нужна, затем приступайте к удалению MySQL 5.1 из Ubuntu 10.x. Данный метод удалит все, что связано с MySQL в ubuntu! Установка MySQL будет как на чистой системе.

Удалить можно с помощью apt:
apt-get --purge remove mysql-server
apt-get --purge remove mysql-client
apt-get --purge remove mysql-common

apt-get autoremove
apt-get autoclean

Читать дальше →

Установка OpenSIPS 1.6.1 на CentOS5 x64

X telekom может помочь вам на любом этапе внедрения VoIP технологий — от установки CentOS на сервере до установки и настройки OpenSIPS и Asterisk.
Если вы хотите сделать все самостоятельно, вот инструкция, которая должна помочь. Установка OpenSIPS v1.6.1 на CentOS 5 64-бита очень проста. Все зависимости можно установить с помощью YUM. Необходимые для OpenSIPS пакеты подтянутся автоматически. В данной инструкции OpenSIPS должен быть установлен с поддержкой MySQL.
До установки необходимо установить пакеты zlib, openssl, mysql.

Читать дальше →

Назад в будущее

  • Linux
Что делать если tar при попытке разархивировать выдает ошибку «timestamp in the future»? Нужно добавить в опции параметр m.
tar -xmvf archive.tar
и если запаковано в .gz, то
tar -xmzvf archive.tar.gz

Установка драйвера и подключение раздела exFAT в Linux с возможностью записи

  • Linux
Для добавления возможности подключения ExFat разделов в Ubuntu выполните в консоли команды:

sudo -s
apt-get install python-software-properties
apt-add-repository ppa:relan/exfat
apt-get update
apt-get install fuse-exfat

Читать дальше →