25 нояб. 2011 г.

Как узнать версию CentOS

Очень просто :)

rpm -q centos-release

Просто команда uname -a на сервисах типа амазона не показывает почти ничего полезного.

Также:

cat /etc/redhat-release

lsb_release -a

24 нояб. 2011 г.

Ошибка апача: [warn] _default_ VirtualHost overlap on port 443, the first has precedence

Такая ошибка вылазит при перезагрузке или переконфигурировании апача.

Причина такой ошибки очень простая - в конфиге апача (httpd.conf, apache2.conf - смотря какой линукс у вас) не хватает строчки:

NameVirtualHost *:443

Добавьте - и будет вам счастье :)

Настройка 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):

22 нояб. 2011 г.

Расширение EBS Volume на Amazon AWS

Амазон славится своей масштабируемостью. И вот если нам стало мало места на нашем виртуальном жестком диске, то его очень легко увеличить.

Заходим в AWS, например: https://console.aws.amazon.com/ec2/home?region=us-east-1#s=Volumes

Тут у нас два пути: 1 - создаем снапшот со старого диска, затем разворачиваем его на новом (но придется вручную увеличивать его объем, т. к. он будет как у старого, а остаток пространсва - неразмеченным), 2 - создать пустой диск и скопировать, например rsync'ом данные со старого диска на новый.

18 нояб. 2011 г.

Установка и использование антивируса Clamav

Бывает, что rkhunter и chkrootkit недостаточно чтобы точно определить, есть ли зловредный руткит или типа того в вашей системе. Тут нам на помощь приходит антивирус для Linux - Clamav.

Установка. В зависимости от дистрибутива используем одну из следующих команд:

yum install clamav, urpmi clamav, apt-get install clamav, pacman -S clamav

Для обновления антивирусных баз юзаем команду:

freshclam

Для сканирования каталога:

clamscan -r <каталог>

 Также можно использовать следующие опции:

- управление информационными сообщениями
  • --verbose 
  • --no-summary (не выдавать итоговый отчёт) 
  • --infected (сообщать только об обнаруженных вирусах) 
  • --quiet (об обнаруженных вирусах также не сообщается!) 
  • --bell (звенеть при обнаружении вируса; звенит даже при --quiet) 
  • --debug 
  • --log=имя-файла (файл дополняется) - очень полезная штука, иначе вы не узнаете, что у вас заражено в принципе, если файлов много 
  • --stdout 
- действия при обнаружении вирусов
  • --move=имя-каталога (перемещать инфицированные файлы в указанный каталог; д.б. права на запись) 
  • --copy=имя-каталога (копировать инфицированные файлы в указанный каталог; д.б. права на запись) 
  • --remove (удалять файлы с вирусами; не советую)

Использование hosts.deny и hosts.allow

Бывают ситуации, когда надо заблокировать доступ злоумышленникам на наш компьютер. Если разбираться с правилами iptables не нужно, то самое простое решение - добавить ip злоумышленника в hosts.deny. А hosts.allow служит как раз для противоположной цели

Синтаксис этих файлов очень прост:

<служба или ALL>: <IP-адрес или имя хоста или подсеть>

Так, например, если мы хотим блокировать все smtp-пакеты, идущие к нашему серверу от mail.test.ru, нам необходимо ввести в файл hosts.deny следующую строчку:

smtp: mail.test.ru

Для ssh:

sshd: 210.123.134.56

А если мы хотим запретить подключение по ssh всем, кроме локальной сети, то:

/etc/hosts.deny
sshd: ALL

/etc/hosts.allow
sshd: 192.168.1.

В этом примере 192.168.1. значит 192.168.1.0..255
Всем удачи :)