<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>root@fox:~# &#187; Linux</title>
	<atom:link href="http://rootfox.com/blog/archives/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://rootfox.com/blog</link>
	<description>Администрирование, IT Security, Безопасность, Услуги</description>
	<lastBuildDate>Wed, 07 Apr 2010 10:09:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Настройка авторизации на веб-сервере Apache по сертификату пользователя.</title>
		<link>http://rootfox.com/blog/archives/242</link>
		<comments>http://rootfox.com/blog/archives/242#comments</comments>
		<pubDate>Thu, 10 Dec 2009 15:44:02 +0000</pubDate>
		<dc:creator>netf0x</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Безопасность вебсайтов]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=242</guid>
		<description><![CDATA[Исходные данные:
OC &#8211; FreeBSD или Linux, в наличии должен быть openssl
Веб-сервер &#8211; Apache 2.2 + mod_ssl (http://test.lan)
Необходимо:
Настроить SSL &#8211; издать сертификаты, настроить веб-сервер
При доступе к определенной директории веб-сервер должен запрашивать авторизацию по сертификату клиента.
Исходим из того что веб-сервер корректно установлен, у хоста есть полное FQDN и он корректно резолвится и доступен извне по портам 80/tcp [...]]]></description>
			<content:encoded><![CDATA[<p>Исходные данные:<br />
OC &#8211; FreeBSD или Linux, в наличии должен быть openssl<br />
Веб-сервер &#8211; Apache 2.2 + mod_ssl (http://test.lan)</p>
<p>Необходимо:<br />
Настроить SSL &#8211; издать сертификаты, настроить веб-сервер<br />
При доступе к определенной директории веб-сервер должен запрашивать авторизацию по сертификату клиента.</p>
<p>Исходим из того что веб-сервер корректно установлен, у хоста есть полное FQDN и он корректно резолвится и доступен извне по портам 80/tcp и 443/tcp.</p>
<p>В первую очередь необходимо будет:<br />
1) Настроить свой CA (Certificate Authority) для издания сертификатов веб-сервера и клиентов.<br />
2) Сгенерировать ключ и сертификат веб-сервера<br />
3) Сгенерировать и импортировать ключи и сертификаты веб-клиентов.</p>
<p>Приступим:<br />
<span id="more-242"></span><br />
Создадим директорию доступную только суперпользователю:</p>
<pre><code>
mkdir /CA
chmod 700 /CA
cd /CA
</code></pre>
<p>Сгенерируем закрытый ключ CA:</p>
<pre><code>
openssl genrsa -des3 -out ca.key 2048
Сгенерируем сертификат CA:
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
openssl x509 -in ca.crt -text -noout
</code></pre>
<p>Сгенерируем закрытый ключ вебсервера:</p>
<pre><code>
openssl genrsa -des3 -out webserver.key 1024
</code></pre>
<p>Сгенерируем запрос на сертификат вебсервера:</p>
<pre><code>
openssl req -new -key webserver.key -out webserver.csr
</code></pre>
<p>Сгенерируем сертификат вебсервера:</p>
<pre><code>
openssl x509 -req -in webserver.csr -out webserver.crt -sha1 -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650
openssl x509 -in webserver.crt -text -noout
</code></pre>
<p>Защитим ключи от прочтения посторонними:</p>
<pre><code>
chmod 0400 *.key
</code></pre>
<p>Конфигурацию ssl я вынес из файла httpd.conf в файл httpd-ssl.conf,<br />
и указал в конфигурации httpd.conf:</p>
<pre><code>
Include etc/apache22/extra/httpd-ssl.conf
</code></pre>
<p>В файле httpd-ssl.conf внес следующие изменения:</p>
<pre><code>
#httpd-ssl.conf
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl
SSLPassPhraseDialog builtin
SSLSessionCache        "shmcb:/var/run/ssl_scache(512000)"
SSLSessionCacheTimeout  300
SSLMutex  "file:/var/run/ssl_mutex"
&lt;VirtualHost _default_:443&gt;
DocumentRoot "/usr/local/www/apache22/data"
ServerName test.lan:443 #имя указаное в Common Name сертификата веб-сервера
ServerAdmin you@example.com
ErrorLog "/var/log/httpd-error-ssl.log"
TransferLog "/var/log/httpd-access-ssl.log"
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/CA/webserver.crt"
SSLCertificateKeyFile "/CA/webserver.key"
SSLCertificateChainFile "/CA/ca.crt"
SSLCACertificateFile "/CA/ca.crt"

&lt;FilesMatch "\.(cgi|shtml|phtml|php)$"&gt;
 SSLOptions +StdEnvVars
&lt;/FilesMatch&gt;
&lt;Directory "/usr/local/www/apache22/cgi-bin"&gt;
 SSLOptions +StdEnvVars
&lt;/Directory&gt;

BrowserMatch ".*MSIE.*" \
 nokeepalive ssl-unclean-shutdown \
 downgrade-1.0 force-response-1.0

CustomLog "/var/log/httpd-ssl_request.log" \
 "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

&lt;/VirtualHost&gt;</code></pre>
<p>Запускаем вебсервер, проверяем работает ли, заходим по https, смотрим. Если все работает идем далее:<br />
Издадим сертификат пользователя, настроим доступ к определенной веб-папке по сертификату.</p>
<p>Внесем изменения в httpd-ssl.conf, добавим строки:</p>
<pre><code>
&lt;Directory /usr/local/www/apache22/data/ssl&gt; #путь к веб-корню у меня /usr/local/www/apache22/data/
 SSLVerifyClient require
 SSLVerifyDepth 1
&lt;/Directory&gt;</code></pre>
<p>Издадим сертификат пользователя:</p>
<pre><code>
cd /CA
openssl genrsa -des3 -out fox.key 1024
openssl req -new -key fox.key -out fox.csr
openssl x509 -req -in fox.csr -out fox.crt -sha1 -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650
openssl pkcs12 -export -in fox.crt -inkey fox.key -name "fox cert" -out fox.p12
</code></pre>
<p>В процессе создания и импорта закрытого ключа, запрашивается пароль &#8211; необходимо внести. Затем переносим файл.p12 на ту систему где планируется его использование, переносим его либо в личное хранилище сертификатов, если ОС клиента &#8211; Windows, либо импортируем в хранилище Firefox`a, либо заливаем в аппаратный ключ или смарткарту.<br />
Проверям. Пользуемся.</p>
<p>P.S. Немного сумбурно описал, но это в первую очередь для себя =)</p>
<p>P.P.S: Есть такой момент &#8211; при перезапуске вебсервера будет требоваться ввести пароль закрытого ключа вебсервера в консоли. Это определяется параметром</p>
<pre><code>SSLPassPhraseDialog builtin
</code></pre>
<p>Решается следующим образом: в каталоге доступном только пользователю root создаем скрипт.</p>
<p>У меня, например, /root/webpass.sh</p>
<pre><code>
#!/bin/sh
echo "somepassword"
</code></pre>
<p>И в конфиге прописал:</p>
<pre><code>SSLPassPhraseDialog exec:/root/webpass.sh
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/242/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Маленький тюнинг dhcpcd</title>
		<link>http://rootfox.com/blog/archives/239</link>
		<comments>http://rootfox.com/blog/archives/239#comments</comments>
		<pubDate>Thu, 10 Dec 2009 08:21:40 +0000</pubDate>
		<dc:creator>netf0x</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=239</guid>
		<description><![CDATA[Часто приходится работать в разных сетях, потому использую периодически демон dhcpcd, запуская его руками. Иногда необходимо вручную указать настройки, например DNS.
Файл /etc/resolv.conf как бы подсказывает:

# /etc/resolv.conf.head can replace this line
nameserver 192.168.1.1
# /etc/resolv.conf.tail can replace this line

То есть создав эти файлы (/etc/resolv.conf.head, /etc/resolv.conf.tail) и прописав в них необходимые значения мы получим их в сформированном демоном файле [...]]]></description>
			<content:encoded><![CDATA[<p>Часто приходится работать в разных сетях, потому использую периодически демон dhcpcd, запуская его руками. Иногда необходимо вручную указать настройки, например DNS.</p>
<p>Файл /etc/resolv.conf как бы подсказывает:</p>
<pre><code>
# /etc/resolv.conf.head can replace this line
nameserver 192.168.1.1
# /etc/resolv.conf.tail can replace this line
</code></pre>
<p>То есть создав эти файлы (/etc/resolv.conf.head, /etc/resolv.conf.tail) и прописав в них необходимые значения мы получим их в сформированном демоном файле /etc/resolv.conf</p>
<p>Но есть еще метод &#8211; /etc/dhcpcd.conf<br />
Добавляем туда, например эти строки:</p>
<pre><code>
interface eth0
static ip_address=192.168.1.237/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1 8.8.8.8 8.8.4.4
</code></pre>
<p>И получаем автонастройку интерфейса на необходииые нам значения.</p>
<p>Уважаемый All, может еще есть интересные методы поставить свои значения в /etc/resolv.conf в дополнение к полученым  dhcp-сервера?</p>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/239/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Искали slackware с удобным пакетным менеджментом? =)</title>
		<link>http://rootfox.com/blog/archives/232</link>
		<comments>http://rootfox.com/blog/archives/232#comments</comments>
		<pubDate>Sat, 14 Nov 2009 22:11:44 +0000</pubDate>
		<dc:creator>netf0x</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=232</guid>
		<description><![CDATA[
Этот пост целиком и полностью посвящается Archlinux (archlinux.org), просто потому что на днях попробовал и поставил. Поделюсь первыми впечатлениями. Они были весьма приятными.

Что понравилось:

Управление службами в FreeBSD-like стиле. Да, там есть /etc/rc.conf =)
Пакетный менеджмент &#8211; богатством опций, разделением пользовательских (AUR) и официальных репозитариев, простотой сборки собственных пакетов, например, для использования на другой машине.
Низкие требования к [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left"><img class="aligncenter" src="http://wiki.archlinux.org/skins/archlinux/logo-en.png" alt="" /><br />
Этот пост целиком и полностью посвящается Archlinux (archlinux.org), просто потому что на днях попробовал и поставил. Поделюсь первыми впечатлениями. Они были весьма приятными.</p>
<p style="text-align: left">
Что понравилось:</p>
<ul>
<li style="text-align: left">Управление службами в FreeBSD-like стиле. Да, там есть /etc/rc.conf =)</li>
<li>Пакетный менеджмент &#8211; богатством опций, разделением пользовательских (AUR) и официальных репозитариев, простотой сборки собственных пакетов, например, для использования на другой машине.</li>
<li>Низкие требования к ресурсам. Вероятно из-за оптимизации под i686, ну и из-за того что не тянется куча хлама, если он тебе не нужен.</li>
<li>Возможность собрать только то что тебе нужно не заморачиваясь на ключах компилирования, зависимостях и т.д.</li>
<li>Документацией &#8211; отличная документация на Вики-разделе официального сайта: wiki.archlinux.org.</li>
</ul>
<p style="text-align: left">P.S.: я пробовал много дистрибутивов и у всех есть свои плюсы и минусы, вполне возможно, я настолько привык к общим минусам что теперь их не замечаю, и пока все нравится. Было бы интересно услышать-увидеть ваше мнение о данном дистрибутиве.</p>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/232/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Почему после обновления Debian или другого дистрибутива может падать софт</title>
		<link>http://rootfox.com/blog/archives/228</link>
		<comments>http://rootfox.com/blog/archives/228#comments</comments>
		<pubDate>Sat, 14 Nov 2009 10:53:47 +0000</pubDate>
		<dc:creator>468</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Нестандартности]]></category>
		<category><![CDATA[Разное]]></category>
		<category><![CDATA[libgtk-x11-2.0.so.0 libglib nautilus undefined symbol: g_mapped_file_unref g_mount_is_shadowed]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/archives/228</guid>
		<description><![CDATA[Обратил внимание, что у меня часто падает мой любимый дебиан (тестинг) после апдейтов. Например после монтирования cd вручную (автомат перестал работать) пропадают иконки рабочего стола и все картинка начинает мигать и дергаться&#8230;
С трудом понял что дело в nautilus, запуская который (когда примонтирован cd) я через пару секунд получал ошибку undefined symbol g_mount_is_shadowed.
Ранее подобное наблюдалось когда [...]]]></description>
			<content:encoded><![CDATA[<p>Обратил внимание, что у меня часто падает мой любимый дебиан (тестинг) после апдейтов. Например после монтирования cd вручную (автомат перестал работать) пропадают иконки рабочего стола и все картинка начинает мигать и дергаться&#8230;</p>
<p>С трудом понял что дело в nautilus, запуская который (когда примонтирован cd) я через пару секунд получал ошибку undefined symbol g_mount_is_shadowed.</p>
<p>Ранее подобное наблюдалось когда после очередного апдейта &#8220;вешался&#8221; gdm и было невозможно зайти. Наконец решил разобраться.</p>
<p>Секрет оказался прост, я в свое время ставил некоторый софт отдельно от репозитариев (в т.ч. nessus из исходников, скайп из внешнего пакета). Коварные создатели тех пакетов прописали некоторые файлы в /usr/local/lib &#8211; в том числе так называемый glib</p>
<p>Соответственно в /lib у меня была новая версия glib, но некоторые приложения при старте сначала проверяли папку /usr/local/lib в которой оставались ошметки старых либов, о которых пакетный менеджер естесственно не знал. Поэтому с новыми приложениями использовались старые либы и соответственно приложения не работали.</p>
<p>А находится такое достаточно просто;<br />
which nautilus<br />
ldd /usr/bin/nautilus | grep /usr/local</p>
<p>после этого я перенес все либы из /usr/local в другое место (а можно было и грохнуть) и nautilus завелся, диски сами примонтировались и все заработало.</p>
<p>Кстати интересно, по идее это наверное типовой сценарий проблем, при установке софта из внешних источников. По идее маинтернеры дистрибутивов могли бы после установки софта, проверять что либы для нового софта используются из репозитариев а не локальные версии.. Хотя наверное это не юникс-вей, когда лишних действий не производится.. Потому что определенный смысл в том чтобы при апдейте продолжать использовать локальные либы тоже есть&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/228/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Анализ произвольных логов самописными скриптами</title>
		<link>http://rootfox.com/blog/archives/195</link>
		<comments>http://rootfox.com/blog/archives/195#comments</comments>
		<pubDate>Mon, 02 Nov 2009 14:31:14 +0000</pubDate>
		<dc:creator>468</dc:creator>
				<category><![CDATA[Checkpoint]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=195</guid>
		<description><![CDATA[Стоит у нас на работе оранжевая такая Safe@Office 500 &#8220;дура&#8221; от CheckPoint. Потипу роутер + антивирус, МЭ, VPN и все-что-нужно-для-маленького офиса.
Собственно брали потестить, но прижилась. Одна проблема &#8211; отчеты, она их не умеет, точнее показывает лог за небольшой период (ну или я не нашел   ).  Они с одной стороны не нужны никому, а [...]]]></description>
			<content:encoded><![CDATA[<p>Стоит у нас на работе оранжевая такая Safe@Office 500 &#8220;дура&#8221; от CheckPoint. Потипу роутер + антивирус, МЭ, VPN и все-что-нужно-для-маленького офиса.</p>
<p>Собственно брали потестить, но прижилась. Одна проблема &#8211; отчеты, она их не умеет, точнее показывает лог за небольшой период (ну или я не нашел <img src='http://rootfox.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).  Они с одной стороны не нужны никому, а с другой  стороны всетаки обидно &#8211; может кто то к нам ломится, а я и не знаю. По идее я и не должен знать,  должность другая,  но мне же интересно!<br />
<span id="more-195"></span><br />
В итоге давно, когда читал про syslog, завернул какие-то логи с этой &#8220;дуры&#8221; на другую машину, и там они долго-долго копились. А тут мы взяли сотрудника на испытательный срок, он его успешно провалил и стало интересно, чем же он вместо работы занимался&#8230;</p>
<p>Итак &#8211; общий смысл такой, сначала делаем из общего лога (логов) интересующую выборку (например все пакеты от &#8220;Васи&#8221;, или все &#8220;прибитые пакеты&#8221;), и анализируем ее, например, по следующим критериям:</p>
<p><strong>&#8220;Анализ пользователя&#8221;</strong><br />
1. Список хостов, которые посещал Вася, (с сортировкой по популярности + первые 20 отдельно резолвятся в имена)<br />
2. Список портов, на который ломился Вася (с сортировкой по популярности)</p>
<p><strong>Все &#8220;прибитые пакеты&#8221;</strong><br />
1. Список таргет-хостов &#8211; &#8220;куда хотели прорваться пакеты&#8221; с сортировкой по популярности<br />
2. Отдельный список из 20 таргет хостов, с именами (отрезолвлеными).<br />
3. Список популярных заблокированных портов (с сортировкой по популярности)<br />
4. Список сорс-хостов &#8211; &#8220;потенциальных нарушителей&#8221;.</p>
<p>В моем случае стало видно что:<br />
1. В инет рвутся восновном внутренние виртуалки, которым настройки прописаны но доступ не дан.<br />
2. Нарушители рвутся восновном на корневые днс сервера, и на сервера апдейтов касперского. см п.1.<br />
3. По портам нарушители DNS, SAMBA и DHCP. Что впрочем правильно (DNS наружу разрешен только нашему DNS)<br />
4. С наружи к нам особо никто не ломится.</p>
<p><strong>Выводы</strong>..  Скрипты в общем то жуть какие простые, но в этом и в общем соль, все оказалось просто. Но с точки зрения статистики неудобно анализировать пользователей &#8211; мало что говорят цифры 20 000 посещений сервера крупного хостера, например cp333.agava.net&#8230; но &#8211; каков лог, таков и приход. <img src='http://rootfox.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Скрипты вложил, основные скрипты<br />
analyse [Ip.addr.e.s] (анализ пользователя)<br />
secreport (отчет по заблокированным пакетам)</p>
<p>При этом &#8220;внутре&#8221; этих скриптов нужно прописать путь к логам и куда класть статистику.</p>
<p><strong>Кусок изначального лога:</strong></p>
<pre><code>Nov  1 00:00:00 webserver newsyslog[19521]: logfile turned over
Nov  1 00:00:01 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:08 00:08:da:56:1c:90 &lt;50000&gt; Accepted Outbound packet (Custom rule) Src:192.168.0.161 SPort:1073 Dst:94.100.177.6 DPort:110 IPP:6 Rule:8 Interface:LAN
Nov  1 00:02:34 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:17 00:08:da:56:1c:90 &lt;50000&gt; Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:128.8.10.90 DPort:53 IPP:17 Rule:39 Interface:LAN
Nov  1 00:02:44 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:36 00:08:da:56:1c:90 &lt;50000&gt; Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:198.41.0.4 DPort:53 IPP:17 Rule:39 Interface:LAN
Nov  1 00:02:46 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:38 00:08:da:56:1c:90 &lt;50000&gt; Accepted Outbound packet (Custom rule) Src:192.168.0.161 SPort:1074 Dst:74.125.79.111 DPort:995 IPP:6 Rule:8 Interface:LAN
Nov  1 00:02:47 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:40 00:08:da:56:1c:90 &lt;50000&gt; Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:198.32.64.12 DPort:53 IPP:17 Rule:39 Interface:LAN
Nov  1 00:02:47 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:40 00:08:da:56:1c:90 &lt;50000&gt; Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:193.0.14.129 DPort:53 IPP:17 Rule:39 Interface:LAN
Nov  1 00:02:49 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:44 00:08:da:56:1c:90 &lt;50000&gt; Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:192.36.148.17 DPort:53 IPP:17 Rule:39 Interface:LAN</code>
</pre>
<p><strong>Пример отчета (заблокированные порты):</strong></p>
<pre><code>37757 53
3650 137
1368 67
288 80
179 123
63 138
22 5222
18 8080
8 6881
6 2002</code></pre>
<p><strong>Порты пользователя:</strong></p>
<pre><code>10820 80
240 443
68 53
10 5222
8 6881
6 5190
6 123</code></pre>
<p><strong>Заблокированные таргет-хосты:</strong></p>
<pre><code>4338 193.0.14.129 129.14.0.193.in-addr.arpa domain name pointer k.root-servers.net.
4330 198.41.0.4 4.0.41.198.in-addr.arpa domain name pointer a.root-servers.net.
4330 198.32.64.12 12.64.32.198.in-addr.arpa domain name pointer as-20144-has-not-registered-the-use-of-this-prefix.
4329 192.36.148.17 17.148.36.192.in-addr.arpa domain name pointer i.root-servers.net.
4311 192.58.128.30 30.128.58.192.in-addr.arpa domain name pointer j.root-servers.net.
3722 202.12.27.33 33.27.12.202.in-addr.arpa domain name pointer m.root-servers.net.</code></pre>
<p><strong>Статистика по хостам пользователя:</strong></p>
<pre><code>242 88.212.196.101 101.196.212.88.in-addr.arpa is an alias for 101.64/26.196.212.88.in-addr.arpa. 101.64/26.196.212.88.in-addr.arpa domain name pointer host01.rax.ru.
233 91.212.60.162 162.60.212.91.in-addr.arpa domain name pointer h0001.friendit.net.
233 78.140.142.125 Host 125.142.140.78.in-addr.arpa. not found: 3(NXDOMAIN)
223 88.212.196.102 102.196.212.88.in-addr.arpa is an alias for 102.64/26.196.212.88.in-addr.arpa. 102.64/26.196.212.88.in-addr.arpa domain name pointer host02.rax.ru.
219 94.100.178.219 219.178.100.94.in-addr.arpa domain name pointer top9.mail.ru.
191 83.222.4.246 Host 246.4.222.83.in-addr.arpa. not found: 3(NXDOMAIN)
191 217.73.200.222 222.200.73.217.in-addr.arpa domain name pointer tns-counter.ru.
190 93.186.225.1 1.225.186.93.in-addr.arpa domain name pointer cs11.vkontakte.ru.
175 174.37.230.144 144.230.37.174.in-addr.arpa domain name pointer 174.37.230.144-static.reverse.softlayer.com.
160 93.186.224.23 23.224.186.93.in-addr.arpa domain name pointer cs23.vkontakte.ru.</code></pre>
<p><strong>Пример работы:</strong></p>
<pre><code>[dimka@webserver ~]$ analyze 192.168.0.131
rm: /hdd2/stat/192.168.0.131.dat: No such file or directory
rm: /hdd2/stat/192.168.0.131.hosts: No such file or directory
rm: /hdd2/stat/192.168.0.131.stat: No such file or directory
analysing /var/log/checkpoint.0.bz2...
analysing /var/log/checkpoint...
get dest ports...
counting port stats...
get unique destinations...
counting destination stats...
sorting...
resolving...
[dimka@webserver ~]$</code></pre>
<p>PS врятли кому то интересно, но файл со скриптом я счас попробую залить. Хотябы для себя )  <a href="http://rootfox.com/blog/uploads/2009/11/loganalyse.zip">Архив</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/195/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Xorg, evdev, fluxbox, keyboard.. и немного об удобствах..</title>
		<link>http://rootfox.com/blog/archives/185</link>
		<comments>http://rootfox.com/blog/archives/185#comments</comments>
		<pubDate>Sat, 17 Oct 2009 21:54:33 +0000</pubDate>
		<dc:creator>netf0x</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[slackware]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=185</guid>
		<description><![CDATA[Третьего дня переехал полностью на fluxbox &#8211; вывернуло всего..
В чем суть: теперь у нас Xorg умный сцуко и некоторые параметры знать не знает из файла конфигурации. Для клавиатуры использует evdev и правила прописаные в hal. В KDE  я клавиатуру настроил стандартными средствами, коих в fluxbox нет. Поигрался с xorg.conf &#8211; эффект нулевой, пустая трата [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Третьего дня переехал полностью на fluxbox &#8211; вывернуло всего..<br />
В чем суть: теперь у нас Xorg умный сцуко и некоторые параметры знать не знает из файла конфигурации. Для клавиатуры использует evdev и правила прописаные в hal. В KDE  я клавиатуру настроил стандартными средствами, коих в fluxbox нет. Поигрался с xorg.conf &#8211; эффект нулевой, пустая трата времени.</p>
<p style="text-align: left;">В итоге, <strong>для переключения раскладки </strong>сделал следующее:</p>
<pre><code>
root@darkstar:~# cat /etc/hal/fdi/policy/10-keymap.fdi
&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt; &lt;!-- -*- SGML -*- --&gt;
&lt;deviceinfo version="0.2"&gt;
&lt;device&gt;
&lt;match key="info.capabilities" contains="input.keymap"&gt;
&lt;append key="info.callouts.add" type="strlist"&gt;hal-setup-keymap&lt;/append&gt;
&lt;/match&gt;
&lt;match key="info.capabilities" contains="input.keyboard"&gt;
&lt;merge key="input.xkb.rules" type="string"&gt;base&lt;/merge&gt;
&lt;merge key="input.xkb.layout" type="string"&gt;us,ru(winkeys)&lt;/merge&gt;
&lt;merge key="input.xkb.options" type="string"&gt;grp:ctrl_shift_toggle,grp_led:scroll&lt;/merge&gt;
&lt;/match&gt;
&lt;/device&gt;
&lt;/deviceinfo&gt;
</code></pre>
<p>Переключение раскладки заработало, индикация по лампочке Scroll Lock.</p>
<p style="text-align: left;"><strong>Удобства.</strong><br />
Не нравятся мне коробочные курсоры, сделал симлинк:</p>
<pre><code>ln -s /usr/share/icons/redglass ~/.icons/default</code></pre>
<p>теперь redglass мои основные курсоры.</p>
<p style="text-align: left;">Ненормальный размер букв в меню приложений и т.д., лечил так:</p>
<pre><code>
root@darkstar:/home/netf0x# cat ~/.Xresources
Xft.dpi: 96
</code></pre>
<p>Затем в .xinitrc добавил строчку:</p>
<pre><code>
xrdb -merge ~/.Xresources
</code></pre>
<p style="text-align: left;">Настраивать с нуля меню ужасно обламывало, а старое брать за основу не хотелось &#8211; слишком много правок. Проблему решил найдя на просторах интернета программу menumaker &#8211; http://sourceforge.net/projects/menumaker/. Очень помогло.</p>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/185/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Производительность ядра.</title>
		<link>http://rootfox.com/blog/archives/181</link>
		<comments>http://rootfox.com/blog/archives/181#comments</comments>
		<pubDate>Wed, 07 Oct 2009 05:23:09 +0000</pubDate>
		<dc:creator>netf0x</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=181</guid>
		<description><![CDATA[Заявленое повышение производительности Linux-ядра существует. Любопытства ради сравнил посредством geekbench. Ядра собирались с одним и тем-же &#8220;конфигом&#8221;.
Итог:
Linux 2.6.29.6 &#8211; 2094 баллов
Linux 2.6.31.2 &#8211; 2365 баллов
Выходит больше 10 процентов. Раньше за такое боролись посредством аппаратного разгона))
Посмотреть можно здесь:
http://browse.geekbench.ca/geekbench2/view?id=173765
http://browse.geekbench.ca/geekbench2/view?id=173766 
]]></description>
			<content:encoded><![CDATA[<p>Заявленое повышение производительности Linux-ядра существует. Любопытства ради сравнил посредством geekbench. Ядра собирались с одним и тем-же &#8220;конфигом&#8221;.<br />
Итог:<br />
Linux 2.6.29.6 &#8211; 2094 баллов<br />
Linux 2.6.31.2 &#8211; 2365 баллов<br />
Выходит больше 10 процентов. Раньше за такое боролись посредством аппаратного разгона))</p>
<p>Посмотреть можно здесь:<br />
http://browse.geekbench.ca/geekbench2/view?id=173765<br />
http://browse.geekbench.ca/geekbench2/view?id=173766 </p>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/181/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Slackware, Запись iso на dvd-r, что-то не так в тридевятом царстве..</title>
		<link>http://rootfox.com/blog/archives/178</link>
		<comments>http://rootfox.com/blog/archives/178#comments</comments>
		<pubDate>Tue, 22 Sep 2009 21:49:17 +0000</pubDate>
		<dc:creator>netf0x</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Мобильности]]></category>
		<category><![CDATA[Разное]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=178</guid>
		<description><![CDATA[Как давно не знаю, но перестал работать Brasero в Debian.. Gnome порядком поднадоел, поднадоела напичканость скриптами Debian.. все стало раздражать, останавливало только одно &#8211; лень..
После пары ночей хорошего отсыпа в организме почувствовалась некоторая легкость и желание двигаться. Начал с ноутбука &#8211; полетел к чертям Debian, настало время Slackware которую я забросил еще на 11-м релизе.
Домашний [...]]]></description>
			<content:encoded><![CDATA[<p>Как давно не знаю, но перестал работать Brasero в Debian.. Gnome порядком поднадоел, поднадоела напичканость скриптами Debian.. все стало раздражать, останавливало только одно &#8211; лень..<br />
После пары ночей хорошего отсыпа в организме почувствовалась некоторая легкость и желание двигаться. Начал с ноутбука &#8211; полетел к чертям Debian, настало время Slackware которую я забросил еще на 11-м релизе.<br />
Домашний каталог у меня закриптован, но подключить его не стало проблемой)) Что сделал:</p>
<pre><code>cryptsetup luksDump /dev/sda2</code></pre>
<p> &#8211; проверил, не снес)))</p>
<pre><code>cryptsetup luksOpen /dev/sda2 luks</code></pre>
<p> &#8211; подключил<br />
Создал /etc/crypttab:</p>
<pre><code>luks /dev/disk/by-uuid/776317fc-a9b9-454e-8d8f-f9e168e0ad9a none luks</code></pre>
<p>Поправил /etc/fstab:</p>
<pre><code>/dev/mapper/luks /home ext3 defaults 0 0</code></pre>
<p>В /etc/rc.d/rc.local добавил пару строчек :</p>
<pre><code>cryptsetup luksOpen /dev/sda2 luks
mount /dev/mapper/luks
</code></pre>
<p>Хорошо таки чувствовать себя хозяином своей системы)) Затем за софт принялся &#8211; qutim поставил для аськи ну и по мелочам. Про qutim сказать хочу отдельно &#8211; лучше устанавливать его из исходников, например так:</p>
<pre><code>cd /tmp
svn co http://qutim.org/svn/qutim
cd qutim/
cd trunk/
cmake -DCMAKE_BUILD_TYPE=debug ../
make
cp qutim /home/netf0x/qutim/
cd ..</code></pre>
<p>Ставить можно в любую папку, только не забыть папку plugins там создать..<br />
Ну и плагин для аськи &#8211; так как такая архитектура приложения.</p>
<pre><code>cd plugins/
svn co http://qutim.org/svn/icq
cd icq/
mkdir build
qmake
qmake -config debug
make</code></pre>
<p>И в папку plugins где сам бинарник скопировать..<br />
Запустилось на ура, работает. Конфигурацию и архив сообщений стоит искать в ~/.config/</p>
<p>Одно только сейчас в системе напрягает &#8211; KDE4, но уже перехожу на fluxbox, меню там создаю, радуюсь вообщем.<br />
И мысль &#8211; плохо в современном Open Source то, что мнение пользователя некоторые крупные проекты ставят выше мнения разработчиков которые этот проект на собственном энтузиазме держат &#8211; в итоге получается унылое г..но вроде KDE4.. Почему это плохо? Потому что пользователь современный, не сильно искушенный в интерфесах хочет что бы было так, как привык, или так, как видел на работе, у друга и т.д. (привет microsoft-у).. Пока все..</p>
<p>P.S. &#8211; k3b на свежей системе тоже диски не видит, симптомы как у Brasero.. Смена всего-всего не помогла. Но команда: </p>
<pre><code>growisofs -Z /dev/dvdrw=/home/netf0x/Downloads/Porno_DVD.iso</code></pre>
<p>отработала на ура как и раньше.. Теперь все.</p>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/178/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XenServer без XenCenter</title>
		<link>http://rootfox.com/blog/archives/168</link>
		<comments>http://rootfox.com/blog/archives/168#comments</comments>
		<pubDate>Sat, 19 Sep 2009 22:43:14 +0000</pubDate>
		<dc:creator>netf0x</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Виртуальные машины]]></category>
		<category><![CDATA[Нестандартности]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=168</guid>
		<description><![CDATA[Случилось так что не было под рукой виндовой машины с установленым на борту XenCenter, который как известно запускается только на поделии ребят из Редмонда.
А у меня на одном таком сервере виртуализируется один хост, который по сети ни как не должен быть доступен, кроме как через консоль &#8211; для пущей секьюрности. Надо было срочно данных с [...]]]></description>
			<content:encoded><![CDATA[<p>Случилось так что не было под рукой виндовой машины с установленым на борту XenCenter, который как известно запускается только на поделии ребят из Редмонда.</p>
<p>А у меня на одном таком сервере виртуализируется один хост, который по сети ни как не должен быть доступен, кроме как через консоль &#8211; для пущей секьюрности. Надо было срочно данных с него выгрузить, а никак не достучаться.<br />
Погоревал я немного, затем зашел на XenServer по ssh, посмотрел список юзаемых портов и узрел:</p>
<pre><code>
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 127.0.0.1:5900              0.0.0.0:*                   LISTEN      5394/vncterm
tcp        0      0 127.0.0.1:5901              0.0.0.0:*                   LISTEN      21607/qemu.4
tcp        0      0 127.0.0.1:5902              0.0.0.0:*                   LISTEN      30538/qemu.14
</code></pre>
<p>Осталось только подключиться к этому серверу VNC который на localhost живет, и видимо он же и занимается подачей картинки в XenCenter.</p>
<p>Подключался используя ssh-туннель:</p>
<pre><code>ssh -f -L 127.0.0.1:9999:127.0.0.1:5902 user@192.168.0.1</code></pre>
<p>(не работает в последних версиях ssh, тогда можно без -f и пока вы залогинены туннель будет)<br />
Где:<br />
127.0.0.1:9999 &#8211; биндю локальный порт<br />
127.0.0.1:5902 &#8211; говорю куда пробрасываем локальный порт 9999<br />
user@192.168.0.1 &#8211; XenServer</p>
<p>А затем подключаюсь стандартным линуксовым vncviewer:</p>
<pre><code>vncviewer 127.0.0.1:9999</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/168/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>И снова Linux. Говорящий будильник.</title>
		<link>http://rootfox.com/blog/archives/135</link>
		<comments>http://rootfox.com/blog/archives/135#comments</comments>
		<pubDate>Wed, 22 Jul 2009 19:56:58 +0000</pubDate>
		<dc:creator>netf0x</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=135</guid>
		<description><![CDATA[Так как основная проблема новичков под Linux состоит в том, что они спрашивают, как копать, а им отвечают, куда копать, я в качестве небольшого примера привожу практическую задачу пробуждения нас любимых после полуночных бдений за консолью =) Будить нас будет наш собственный лаптоп под управлением OS GNU/Linux.
С чего начать? Наверное с того, с чего начинался [...]]]></description>
			<content:encoded><![CDATA[<p>Так как основная проблема новичков под Linux состоит в том, что они спрашивают, как копать, а им отвечают, куда копать, я в качестве небольшого примера привожу практическую задачу пробуждения нас любимых после полуночных бдений за консолью =) Будить нас будет наш собственный лаптоп под управлением OS GNU/Linux.</p>
<p>С чего начать? Наверное с того, с чего начинался любой будильник &#8211; с срабатывания в точно назначеное время =) </p>
<p>Самый простой путь:</p>
<pre><code>
at -f /home/netf0x/ring.sh 7:07</code></pre>
<p>Где:</p>
<pre><code>cat /home/netf0x/ring.sh
mplayer /home/netf0x/ring.mp3</code></pre>
<p>Как видим, все просто. Лишь бы демон atd работал и мы точно проснемся. Проверяется просто:</p>
<pre><code>sudo root@fox:~# /etc/init.d/atd status
 * atd is running </code></pre>
<p>Но пойдем дальше:</p>
<pre><code>
root@fox:/tmp/ring# cat alarm
#!/bin/sh
amixer sset PCM 95% &gt; /dev/null
VOL=0
START_VOL=50
STEP_VOL=10
SLEEP_VOL=120
ALARM_ACTION=/home/dimka/bin/alarm_action #Поменять на свой путь к файлу alarm_action
setvolume() { amixer sset Master $1% &gt; /dev/null}
VOL=$START_VOL
setvolume $START_VOL
while [ 1 == 1 ]; do
$ALARM_ACTION
let VOL=VOL+STEP_VOL
setvolume $VOL
sleep $SLEEP_VOL
</code></pre>
<p>Этот скрипт делает следующее: Плавно прибавляет громкость и через скрипт (будет ниже) alarm_action выдает звук.</p>
<p>alarm_action:</p>
<pre><code>
root@fox:/tmp/ring# cat alarm_action
#!/bin/sh
play -q /home/dimka/snd/untie.wav &gt; /dev/null &amp; 2&gt;1
DATE=`date | awk '{print($4)}' | sed s/:/" часов "/ | sed s/:/" минут "/ | awk '{print($1" "$2" "$3" "$4)}' `
/home/dimka/bin/fest "доброе утро, уже $DATE" #/home/dimka/bin/ - поменять на свой путь к файлу скрипта fest
</code></pre>
<p>Этот скрипт, посредством festival читает про доброе утро. Festival вызывается скриптом со звучным названием fest</p>
<pre><code>
#cat fest
#!/bin/sh
echo "(voice_msu_ru_nsh_clunits)(SayText \"$1\")(quit)" &gt; /tmp/test
festival_client /tmp/test
</code></pre>
<p>Ну и теперь давайте все же заставим работать этот скрипт в назначеное время =)<br />
В файл /etc/crontab добавляются следующие строки (а если у вас нет прав root просто наберите crontab -e и правьте правила только для себя)</p>
<pre><code>
45 7	* * 3	dimka	alarm
45 8	* * 1-2,4-5	dimka	alarm
</code></pre>
<p>Естественно user dimka надо поменять на имя вашего юзера ну а строки 45(минуты), 7(часы), 3(среда), 1-2(понедельник-вторник), 4-5(четверг-пятница)</p>
<p>Архив со скриптами прикладываю. Успехов в пробуждении!</p>
<p><a href="http://rootfox.com/downloads/alarm.tar.gz">Скрипты</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/135/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
