Выделенный сервер своими руками | Помощь владельцам выделенных серверов
Наш хостинг

Серия заметок по ISPConfig. 

Filed under: ISPConfig on Monday, August 27th, 2007 by admin | 1 Comment

Вот раздумываю на тему написания серии заметок по установке, настройке и использованию такой замечательной и незаслуженно обделенной вниманием в рунете панели управления хостингом как ISPConfig. Для владельцев выделенных серверов а также виртуальных выделенных серверов думаю эта панель подойдем оптимально. Да, для шаред хостинга думаю она не подойдет. Но для нужд размещения своих собственных сайтов, а также сайтов своих друзей и хороших знакомых на своих серверах, эта панель подойдет без особых проблем. А главное ее преимущество по сравнению с другими панелями - бесплатность и легкость в установке. Читал на тему ISPConfig несколько отрицательных отзывов. Таким могу только ответить фразой из рекламы: “Вы просто не умеете их готовить!” :-)
Так что скоро приступлю с серии заметок по ISPConfig, в общем то эта - первая из них.

Еще пару слов об openVPN. 

Filed under: OpenVPN, Заметки on Sunday, August 19th, 2007 by admin | 1 Comment

В одной из предыдущих заметок я описал простую установку OpenVPV. Судя по количеству комментариев - заметка реально оказалась востребована. Вот решил дописать еще нсколько дополнений по OpenVPN.
1. Для того чтобы клиент openvpn заработал в windows vista необходимо добавить в конфиг файл клиентской части следующие строки:
route-method exe
route-delay 2

Затем нужно создать bat файл следующего содержания:
“C:\Program Files\OpenVPN\bin\openvpn.exe” полный_путь_до_конфига
Для запуска VPN правой кнопкой мыши жмем на полученном bat файле и выбираем “Запустить как администратор”
Оригинал решения можно найти тут

2. По умолчанию openvpn шифрует трафик с помощью blowfish криптования.
чтобы посмотреть список доступных методов нужно на сервере набрать следующую строку:

openvpn --show-ciphers

Результатом работы этой команды будет список поддерживаемых методов шифрования.
Для того чтобы использовать другой метод шифрования нужно в конфигах как серверной так и клиентской частей прописать выбранный метод. Например:
cipher DES-EDE3-CBC
Сохранить изменения и незабыть перегрузить openvpn командой
service openvpn restart

Для VDS команда для маскарадинга выглядит так:

/sbin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source xxx.xxx.xxx.xxx

где xxx.xxx.xxx.xxx - ip адрес интерфейса venet0:0

Вот такие дополнения.

Меняем имя Linux сервера. 

Filed under: Советы on Thursday, August 16th, 2007 by admin | 5 Comments

Когда выделенный сервер приходит к его владельцу (а обычно это выражается в виде письма с реквизитами доступа к новому серверу), в ряде случаев сервер имеет имя, которое может не устраивать владельца. Поэтому, иногда, у владельцев выделенных серверов возникает необходимость смены имени выделенного сервера. Вот и возникает вопрос: “Как сменить hostname”? В этой маленькой заметке, я напишу как это сделать.

Проверить имя сервера можно простой командой:
hostname
А вот чтобы сменить имя необходимо сделать несколько изменений в конфигурационных файлах.
1. Открываем в нашем любимом редакторе файл /etc/hosts
vi /etc/hosts
И меняем там строки на примерно следующие:
127.0.0.1 localhost.localdomain localhost
xxx.xxx.xxx.xxx myhost.mydomain.com myhost
Где xxx.xxx.xxx.xxx - это основной ip адрес сервера (тот который имеет интерфейс eth0, узнать его можно с помощью команды ifconfig), myhost.mydomain.com это полное имя сервера и myhost - это “краткое имя” сервера (имя до первой точки).
2. Открываем файл /etc/sysconfig/network:
vi /etc/sysconfig/network
и изменяем либо добавляем строку
HOSTNAME=myhost.mydomain.com
После этих нехитрых действий необходимо перегрузить сервер. Например командой reboot. После рестарта у выделенного сервера будет необходимое имя myhost.mydomain.com. Конечно же вместо myhost.mydomain.com необходимо указывать конкретное доменное имя конкретного сервера. :-)
Ну вот в общем и все. Если есть дополнения, всегда рад их услышать.

Сброс пароля пользователя root в mysql. 

Filed under: Заметки on Thursday, July 19th, 2007 by admin | 8 Comments

Наша память, к сожалению, нас иногда подводит. И мы никак не можем вспомнить железно, как нам кажется, отпечатанный в памяти пароль. Вы можете сказать, что нужно иметь записную книжку а лучше две, и конечно будете правы. Но… Тем не менее иногда все-таки возникает необходимость восстановления забытого, либо утраченного пароля. Сегодня я опишу простой метод восстановления пароля суперпользователя root для базы данных mysql.

Для этого необходимо выполнить всего несколько шагов.
1. Останавливаем mysql.
service mysqld stop
2. Запускаем mysql следующей командой:

/usr/bin/mysqld_safe --skip-grant-tables --user=root &

3. Запускаем клиента mysql
mysql -u root
4. Выполняем sql запрос
UPDATE mysql.user SET Password=PASSWORD(’newpwd’) WHERE User=’root’;
где newpwd - новый пароль.
5. Применяем изменения
FLUSH PRIVILEGES;
6. Выходим из mysql клиента выполнив в нем команду exit
7. Перегружаем mysql сервер.
service mysqld restart

Ну и все на этом. Пароль суперпользователя root для базы данных mysql изменен. Добавлю, что конечно же этот метод описан в официальном руководстве по mysql, но может кому пригодится. :-)

Установка и настройка socks сервера dante. 

Filed under: Заметки on Thursday, June 14th, 2007 by admin | 10 Comments

Vpn - это хорошо. Но частенько пользователям не хочется заморачиваться с настройками клиентской части, им необходимо просто посерфить по сети или, к примеру, подключить свою аську скрыв свой реальный ip. Для анонимной работы в сети и предназначен socks сервер. В своем браузере, в настройках подключения, Вы указываете адрес socks сервера, его порт, и все. Весь трафик от Вашего браузера проходит через socks сервер, посещение страниц таким образом идет от ip адреса сервера. Таким образом можно скрывать свой ip адрес от других, а также посещать ресурсы, которые закрыты к посещению для русских, белорусов, украинцев и так далее. Например участвовать в американских опросах общественного мнения. :-) Что-то вступление затянулось, приступим к установке socks сервера dante.

Для начала заходим в нашу любимую консоль и пишем:
cd /usr/local/src
wget ftp://ftp.inet.no/pub/socks/dante-1.1.19.tar.gz
tar zxvf dante-1.1.19.tar.gz
cd dante-1.1.19
То есть скачиваем исходник dante, распаковываем его и переходим в его каталог. Далее конфигурируем, компилируем и устанавливаем:
./configure
make
make install

На этом процесс установки закончен. Теперь перейдем к конфигурированию.
Конфигурационный файл сервера dante называется sockd.conf и должен находиться в /etc/sockd.conf . В нашей директории инсталляции (/usr/local/src/dante-1.1.19) есть папка examples. Там находятся примеры настроек socks сервера.
Итак создаем файл
vi /etc/sockd.conf
и пишем в него:
————————————————————
logoutput: /var/log/socks.log
internal: eth0 port = 1080
external: eth0

method: username none #rfc931

logoutput: /var/log/socks.log
internal: eth0 port = 1080
external: eth0

method: username none #rfc931

client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect disconnect iooperation
}

pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: connect udpassociate
log: connect disconnect iooperation
}
————————————————————
Сохраняем конфиг и выходим.
Для того чтобы запустить сервер dante необходимо выполнить следующую команду:
sockd -D
Опция -D отвязывает dante от текущего терминала и запускает его в режиме демона.

Для того чтобы dante стартовал при загрузке машины можно прописать в файл /etc/rc.d/rc.local строку:
/usr/local/sbin/sockd -D

При такой настройке socks сервера все клиенты, которые пришли с любого ip адреса могут использовать socks сервер. Это не очень здорово с точки зрения безопасности. Поэтому секцию конфига client pass можно поменять на:

client pass {
from: x.x.x.x/x to: 0.0.0.0/0
log: connect disconnect iooperation
}
где x.x.x.x/x это ip адрес/маска Вашего компьютера либо Вашей подсети, откуда разрешено подключаться к socks серверу.

Ну вот в общем и все. Пользуйтесь на здоровье, и не забывайте читать мануалы. Потому как я описал только малую, самую необходимую часть настройки socks сервера dante.

Установка и настройка modsecurity 2 

Filed under: Заметки on Sunday, June 3rd, 2007 by admin | 4 Comments

Про безопасность в интернет сказано уже пожалуй все. :-) И про методы защиты сервера, и про детекторы вторжений и про фаерволы, и про необходимость постоянного мониторинга уязвимостей в программном обеспечении и так далее. Все это верно, и все это правильно. Но в данной заметке я хочу описать один из наиболее эффективных инструментов для предотвращения атак на HTTP. Так называемый HTTP firewall. Это модуль для apache: modsecurity версии 2. Насчет установки и настройки предыдущей версии modsecurity есть очень хорошая статья Защита Web приложений с помощью Apache и mod_security. Но с тех пор вышла новая, полностью переписанная версия, которая имеет значительное количество усовершенствований. Одним из самых важных усовершенствований можно назвать пять фаз обработки пакетов. Это заголовок запроса, тело запроса, заголовок ответа, тело ответа, а также регистрация.

Итак, приступим!
Читаем дальше »

Очистка очередей в postfix. 

Filed under: Советы on Friday, May 18th, 2007 by admin | No Comments

Иногда у системных администраторов, а также владельцев выделенных серверов возникает необходимость очистить все очереди сообщений. Например, когда в результате взлома какого-либо уязвимого скрипта, спамеры пытаются разослать спам с выделенного сервера.
К вам приходит куча Абузов, и вы не знаете что делать. Приведу несколько команд применительно к postfix.

Ну первым делом посоветую набрать команду:
mailq
Если в результате вы выдите что-то типа Mail queue is empty либо в очереди лежит несколько сообщений, то значит с вашей почтой все в порядке. Если же в результате выводится порядка нескольких сотен, тысяч, миллионов почтовых сообщений, значит срочно нужно бить тревогу.
Первым делом в такой ситуации необходимо отключить почтовый сервер:
service postfix stop
чтобы больше не рассылать спам.
Затем, конечно, необходимо разобраться в самом взломе, выявить уязвимый скрипт, либо нечистоплотного клиента вашего сервера, либо провести ряд мероприятий по улучшению безопасности вашего сервера. Тут тема очень широка и в формат простой заметки она никак не войдет :-) . Ну и затем необходимо очистить все очереди почтовых сообщений командой:
postsuper -d ALL

После чего вновь запустить почтовый сервер:
service postfix start

Пару слов о бекапах в mysql 

Filed under: Заметки on Friday, April 20th, 2007 by admin | 2 Comments

Многим владельцам выделенных серверов, а также их клиентам частенько приходится иметь дело с базой данных mysql.
Приведу несколько команд для сохранения и восстановления баз в mysql.

Полный дамп всеx баз в mysql.

/usr/bin/mysqldump --all-databases -u root -p > alldatabases.sql

Восстановление всех баз:

/usr/bin/mysql -u root -p < databasebackup.sql

А если, к примеру, нам необходимо сохранить одну базу которая называется mybase и для которой имя пользователя myuser:

/usr/bin/mysqldump -u myuser -p mybase > mybase.sql

А восстановить:

/usr/bin/mysql -u myuser -p mybase < mybase.sql

Конечно же все эти команды нужно выполнять из командной строки :-).

Настраиваем виртуальный почтовый хостинг с ипользованием Postfix и dovecot. Продолжение. 

Filed under: Заметки on Sunday, April 1st, 2007 by admin | 17 Comments

Насчет dovecot дело обстоит немного сложнее. Все дело в том, что в дистрибутивах CentOS версия dovecot старовата (0.99.11-4.EL4) а разработчики настоятельно советуют переходить на более новые версии. Кроме того, при переходе с 0.99.x на версию > 1.0 сменился синтаксис конфигурационного файла dovecot, в связи с чем возникла масса проблем у администраторов при переходе на более новую версию. С другой стороны в версиях с 1.0test53 по 1.0.rc14 была обнаружена уязвимость ссылка. Поэтому мы не будем пользоваться этими версиями. Идем на сайт dovecot и выбираем пакет под наш дистрибутив. Так как мы инсталлируем все под CentOS, то нам нужен rpm пакет для RHEL 4. Значит будем переходить по следующей ссылке:
ссылке:
Читаем дальше »

Настраиваем виртуальный почтовый хостинг с ипользованием Postfix и dovecot. 

Filed under: Заметки on Tuesday, January 2nd, 2007 by admin | 15 Comments

В данной заметке мы расмотрим случай, когда необходимо создать почтовую систему для нескольких доменов в пределах одного выделенного сервера. Для настройки этой системы будем использовать связку postfix и dovecot. И больше пока ничего. Никаких сложных механизмов авторизации, никакого хранения аккаунтов пользователей в mysql или LDAP. Ничего этого нам не нужно. Потому как использовать почтовую систему мы будем для создания максимум нескольких десятков почтовых ящиков для нескольких доменов, а не создаем корпоративную супер-пупер-мега почтовую систему, где все это безусловно нужно. :-)
Читаем дальше »

php 5.2.0 не поддерживает последнюю версию Zend 

Filed under: Заметки on Friday, November 24th, 2006 by admin | 5 Comments

Latest Zend Optimizer (3.0.2) is not compatible with PHP 5.2.x
ссылка

Загружаем тестовое ядро linux единожды (once) с помощью GRUB. 

Filed under: Заметки on Monday, October 23rd, 2006 by admin | No Comments

Частенько перед многими системными администраторами и владельцами выделенных серверов (dedicated servers) linux возникает задача одбновления ядра операционной системы. Проблема заключается лишь в том, что 100%-ой уверенности в нормальном рестарте системы с новым ядром дать не может никто :-) Хорошо когда консоль сервера под руками и мы можем просто перезагрузит линукс и в меню GRUB выбрать рабочее ядро. Еще очень хорошо, когда например у админа под руками есть такая чудная вещь как KVM over ip . Тогда никаких проблем с досупом к консоли тоже нет. Но что делать если датацентр далеко, физического доступа туда нет, сервер бюджетный и из доступных фишек есть только удаленный ребут (что тоже есть не у всех). Вот в этом нам и поможет наш загрузчик GRUB.
Читаем дальше »

Хорошая фишка у команды top 

Filed under: Заметки on Friday, October 6th, 2006 by admin | 3 Comments

Я думаю, что каждый из владельцев выделенных серверов знает о команде top. Вкратце скажу, что она в интерактивном виде выводить список текущих процессов, отсортированных по использованию процессора. Она очень полезна и имеет кучу всяческих функций. Но я думаю, что не все знают о том, что она также может работать в так называемом пакетном режиме. Просто иногда возникает необходимость записать вывод команды top в файл, или например посмотреть полный список вывода команды, а не только ту часть, которая помещается на экран.
Вот для этого и выполняется top со следующими параметрами:

/usr/bin/top -b -n1

Конечно эта заметка совсем не предендует на новизну, но многим думаю поможет.

Установка и настройка Nagios 2.5 из исходников. 

Filed under: nagios, Заметки on Monday, October 2nd, 2006 by admin | 16 Comments

Частенько у многих владельцев сайтов, web-мастеров, системных администраторов, и, конечно же, владельцев выделенных серверов возникает вопрос: “Действительно ли мой сайт (сервер) доступен в сети в режиме 24/7/365″, - как это заявляют многие хостеры. Также частенько возникают вопросы доступности других сервисов, например таких как smtp, pop3, sshd, mysql, named. Плюс хотелось бы иметь возможность мониторинга нагрузки на сервер.
Все вышеперечисленные возможности предоставляет такой отличный пакет как Nagios. Попробуем разобраться с его установкой и настройкой.
Устанавливать Nagios будем из исходников. Документация по его установке и настройке можно найти на официальном сайте сайте Nagios. В перечне документации можно увидеть также ссылки на руский перевод. Но с тех пор прошло уже достаточно много времени, установка стала значительно проще, да и версия пакета уже ушла далеко за 1.0. Поэтому кратко опишу сам процесс установки из исходников для версии 2.5.
Итак приступим!
Читаем дальше »

Установка BFD (Brute Force Detection) от R-fx Networks 

Filed under: Заметки on Friday, September 29th, 2006 by admin | 4 Comments

Я думаю любой системный администратор, а также владелец выделенного сервера, рано или поздно при просмотре логов сервера (а это нужно делать периодически) обнаруживает в логе /var/log/secure примерно такие строки:

Jan 20 09:03:33 domain sshd[19713]: Failed password for root from ::ffff:xxx.xxx.xxx.xxx port 45596 ssh2
Jan 20 09:03:33 domain sshd[19714]: Failed password for root from ::ffff:xxx.xxx.xxx.xxx port 45597 ssh2
Jan 20 09:03:35 domain sshd[19698]: Failed password for root from ::ffff:xxx.xxx.xxx.xxx port 45577 ssh2

Что это значит?
А значит это не много не мало а попытку подбора пароля пользователя root с ip адреса xxx.xxx.xxx.xxx методом прямого перебора паролей. Такой тип попытки взлома называется Brute Force. Существует множество методик защиты от такой атаки, да и понятно, что обычно пароль root содержит ну очень много символов в себе (по крайней мере так должно быть), но тем не менее всетаки желательно забанить ip адрес нашего настойчивого хакера :-)

Сначала кратко остановлюсь на нескольких простых методиках защиты от атак типа Brute Force. Ведь, как известно, лучше имень несколько менее сильных линий защиты от хакеров, чем одну супер навороченную.

На первое место думаю можно поставить смену порта по умолчанию для сервиса. Так дефолтный порт у сервиса ssh имеет номер 22, соответственно в основном к нему и пытаются подключиться наши “хакеры”. таким образом если сменить номер порта на какой-нибудь 5118, то вероятность того что кто-то заинтересуется нашим сервером значительно снизится.
Читаем дальше »