20.01.2015 Views

ИюНь - Xakep Online

ИюНь - Xakep Online

ИюНь - Xakep Online

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ХАКЕР.PRO<br />

% Только незаблокированные пользователи<br />

могут соединяться с<br />

севером<br />

{access, c2s, [{deny, blocked},<br />

{allow, all}]}.<br />

% Администраторы сервера являются<br />

и администраторами MUC (Multi<br />

User Chat)<br />

{access, muc_admin, [{allow,<br />

admin}]}.<br />

% Разрешаем всем пользователям<br />

подключаться к MUC<br />

{access, muc, [{allow, all}]}.<br />

% Используем встроенную базу<br />

данных<br />

{auth_method, internal}.<br />

% Порты, на которых будут работать<br />

сервисы ejabberd<br />

{listen,<br />

% Обычный сервис client-2‐server<br />

[{5222, ejabberd_c2s, [{access,<br />

c2s},<br />

starttls, {certfile, "/etc/<br />

ssl/certs/ejabberd.pem"},<br />

{shaper, c2s_shaper}]},<br />

% Сервис client-2‐server с использованием<br />

SSL<br />

{5223, ejabberd_c2s, [{access,<br />

c2s},<br />

tls, {certfile, "/etc/ssl/<br />

certs/ejabberd.pem"},<br />

{shaper, c2s_shaper}]},<br />

% Порт для работы server-2‐server<br />

{5269, ejabberd_s2s_in,<br />

[{shaper, s2s_shaper}]},<br />

{outgoing_s2s_port, 5269}.<br />

% Транспорт Jabber ICQ<br />

{5347, ejabberd_service, [{ip,<br />

{127, 0, 0, 1}}, {access, local},<br />

{host, ["icq.grinder.com»,<br />

"sms.localhost"], [{password,<br />

"secret"}]}]},<br />

% Веб-интерфейс<br />

{5280, ejabberd_http, [http_<br />

poll, web_admin]}]}.<br />

% Используемые модули и параметры<br />

{modules,<br />

[<br />

/ 136<br />

xàêåð<br />

{mod_announce, [{access,<br />

announce}]},<br />

...<br />

]}.<br />

В принципе, конфигурационный файл<br />

понятен, но при его заполнении следует быть<br />

внимательным.<br />

Настраиваем DNS, заводим<br />

администраторов<br />

В этом же каталоге находится еще один важный<br />

файл — inetrc, отвечающий за работу со службой<br />

DNS. Если сервер ejabberd применяется в<br />

локальной сети, где нет смысла настраивать<br />

DNS-сервер, необходимо указать на использование<br />

/etc/hosts:<br />

{file, hosts, "/etc/hosts"}.<br />

{file, resolv, "/etc/resolv.<br />

conf"}.<br />

% сначала ищем записи в hosts, а<br />

затем обращаемся к DNS<br />

{lookup, [file, dns]}.<br />

В файле /etc/hosts должна быть запись, указывающая<br />

на соответствие IP-адреса и имени<br />

компьютера:<br />

127.0.0.1 localhost<br />

192.168.1.158 grinder.com<br />

Теперь запускаем/перезапускаем сервер. Это<br />

можно сделать двумя способами.<br />

Стандартным:<br />

$ sudo /etc/init.d/ejabberd<br />

restart<br />

Или с использованием утилиты ejabberdctl:<br />

$ sudo ejabberdctl restart<br />

Проверяем статус работы сервера:<br />

$ sudo ejabberdctl status<br />

Node ejabberd@grinder is started.<br />

Status: started<br />

Если в ответ мы получаем другое сообщение, то<br />

просматриваем вывод netstat -na. Если в выводе<br />

нет открытых портов, указанных в конфигурационном<br />

файле, значит, сервис не запустился (или<br />

запустился частично). Останавливаем его работу<br />

и проверяем ejabberd.cfg. Если же порты в списке<br />

есть, то начинать следует с разрешения имен.<br />

Теперь необходимо завести пользователей,<br />

имеющих права администратора. В нашем<br />

случае это grinder и sergej:<br />

$ sudo ejabberdctl register<br />

sergej grinder.com super_<br />

password<br />

Проверяем, что пользователь успешно создан:<br />

$ sudo ejabberdctl registeredusers<br />

sergej@grinder.com<br />

Все нормально, аналогично заводим и второго<br />

админа. Теперь, если был разрешен веб-интерфейс,<br />

вызываем веб-браузер и заходим на<br />

страницу http://grinder.com:5280/admin. На<br />

запрос имени пользователя и пароля вводим<br />

параметры учетной записи администратора.<br />

Только к имени добавляем и домен, то есть<br />

вместо «sergej» вводим «sergej@grinder.com».<br />

Веб-интерфейс позволяет в удобной форме<br />

настраивать списки управления доступом,<br />

заводить и удалять пользователей, просматривать<br />

статистику. Следует помнить, что все настройки,<br />

произведенные через веб-интерфейс,<br />

в конфигурационном файле не сохраняются.<br />

При наличии записей override_* они будут действительны<br />

до первой перезагрузки. Все, сервер<br />

к работе готов, можно зазывать пользователей.<br />

Транспорт ICQ Jabber<br />

Некоторые пользователи, вероятно, не захотят<br />

отказываться от ICQ. Для них можно настроить<br />

транспорт ICQ Jabber. Организуется он с<br />

помощью PyICQt (pyicq-t.blathersource.org), для<br />

работы которого дополнительно потребуются<br />

библиотеки Twisted, PyCrypto и PyOpenSSL<br />

(www.twistedmatrix.com). В Ubuntu/Debian их<br />

очень просто установить одной командой:<br />

$ sudo apt-get install pythontwisted<br />

python-crypto pythonpyopenssl<br />

Так мы установим Python и прочие недостающие<br />

программы и библиотеки. Теперь<br />

скачиваем и распаковываем PyICQt. Переименовываем<br />

шаблон конфигурационного файла<br />

config_example.xml в config.xml и редактируем:<br />

# vi config.xml<br />

<br />

icq.grinder.com<br />

<br />

06 /102/ 07

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!