Система Orphus

вторник, 19 мая 2009 г.

Учебник по сетевым технологиям [юмор]

Искал щас кое-что у себя в базе NoteCase и наткнулся на эту заметку, но не помню уже откуда она. Хоть и баян, но все же смешно. К тому же сравнения приводятся очень удачно. Например, если так чайнику объяснить что да зачем, то, уверен, он поймет это дело лучше, чем если ему нормальным языком расталковывать, да и весело будет.
В общем читайте и смейтесь :)

DHCP
Вы проснулись после дикой пьянки. Первые ваши слова «кто я?» и «где я?». Сосед, который не запивал водку пивом, вам сообщает все ваши параметры: кто вы и где. Этот сосед выступает в роли DHCP-сервера. Учтите, что в сети могут быть так называемые «ложные DHCP-сервера», например жена – на ваш вопрос «кто я?» она выдаст неверную информацию: «алкоголик ты проклятый». Так что не всегда динамическая выдача параметров безопасна, рекомендуется записывать свои параметры (как зовут, ваш адрес и т.д.) на бумажке.

Маршрут по умолчанию
Подойтите к прохожему и спросите «не подскажите ли вы как пройти к моргу имени Невмировича-Данченко?». С большой долей вероятности вас пошлют нахуй. Так вот это и есть маршрут по умолчанию, другими словами если адрес назначения не известен, то пакеты посылаются на маршрут по умолчанию (синонимы: шлюз по умолчанию, dafault gateway).

Понятие TTL
Представьте себе, что вам 5 лет и вы хотите кушать. Вы идете к папе и говорите: «Папа, я хочу кушать». Ваш папа смотрит телевизор, согласно таблице маршрутизации о посылает вас к маме. Вы идете к ней и просите «Мамааа, я хочу кушать». Мама болтает с подругой по телефону и согласно своей таблице маршрутизации посылает вас к папе. И так вы ходите как дурак от папы к маме и обратно, туда-сюда, туда-сюда, а все потому что криворукие админы (родители папы и мамы) неправильно настроили таблицу маршрутизации. Чтобы защититься от таких ситуаций придумали понятие TTL (Time To Live), что применительно к нашей ситуации означает количество терпения у мальчика, пока он не скажет «заебало» и не упадет перед ногами мамы или папы в беспомощном состоянии. Последний, по правилам (стандарты – это «так заведено в семье»), обязан послать короткий нелестный отзыв адрес того, кто послал мальчика кушать. Это так называемый icmp-пакет «мальчик издох»

Ping
Вы конечно бывали в ситуации «сам дурак». Вы кричите «Петя ты, еблан», а в ответ слышите «Вася, сам еблан». Это простеший пинг. Вы только что пропинговали Васю. Не все отвечают на пинги, особо культурные, например Microsoft.com не утруждают себя реагированием на ваши запросы. С такими переругиваться бесполезно, мы знаем, что они слышат и злятся, но реакции добиться не можем. Тем не менее, пинг – неплохой способ узнать жив ли хост, ведь пиная труп ногами не добьешься реакции «сам дурак»

Traceroute
Представь себе, что ты живешь на 9м этаже и хочешь узнать всех жильцов которые живут от тебя до Клавки с 3го. Ты берешь взрывпакет и, исходя из формулы свободного падения, рассчитываешь время взрыва пакета над 8м этажом. Это TTL=1. После того как пакет ибанет - выглянет озверевшая рожа соседа с 8го этажа. Время реакции зависит от загруженности сервера, т.е. от занятости соседа и от шейпов, т.е. в воздухе ли ваша система или ты живешь на планете, где атмосфера жидкий азот. Так вот, если вообще не дождешься ответа - твой сосед глухой - у него запрещены icmp ответы, либо он запретил их только для тебя если его уже подзаебали твои финты и он научился тебя игнорировать. Дальше выставляешь TTL=2 и т.д. Не забывай, что если Клавка живет выше тебя – это No route to host.

Microsoft сообщает об уязвимости в IIS 6

Технический персонал Microsoft в рамках рассылки бюллетеня по безопасности для пользователей сегодня предупредил клиентов компании о наличии серьезной и пока не закрытой уязвимости в веб-сервере Microsoft Internet Information Services. В рассылке корпорации говорится, что известно об уязвимости стало от нескольких пользователей, сообщивших о взломе их веб-проектов.

Точных данных Microsoft не раскрывает до момента выпуска соответствующего исправления.

Тем не менее, техперсонал указывает на то, что эксплуатация уязвимости позволяет злоумышленнику поднять привилегии без соответствующих на то санкций. Сбойный компонент находится в расширении WebDAV, управляющем запросами HTTP. "Атакующий может сформировать специальный HTTP-запрос, который предоставит ему доступ к директории, обычно доступные только по паролю", - говорят в Microsoft.

В корпорации отмечают, что пока атака имеет очень ограниченную популярность. Если всплеска активности подобных атак не будет, то патч для IIS выйдет в рамках традиционного ежемесячного выпуска (первый вторник нового месяца), если же будет отмечен всплеск атак, то патч выйдет вне очереди.


Источник: http://www.cybersecurity.ru/

[]

пятница, 15 мая 2009 г.

Автоматизируем telnet и ftp сессии [expect]

Типичная ситуация: в офисе есть сетевой принтер, который расположен на другом этаже, мне звонят и говорят, что он "начал плеваться бумагой", ясное дело, что очередь забилась, чтобы не идти на другой этаж можно подключиться к принтеру по telnet и очистить очередь печати, но каждый раз вводить логин, пароль и команды уж очень не хочется, хочется максимально сократить телодвижения. Вот об этом и пойдет речь в этом посте на примере ftp и telnet сессий.

Для таких целей есть замечательная утилитка, имя которой expect. Работает она просто: ждет приглашения ввода и, когда дожидается, посылает заданную команду.

Ниже приведу два примера для telnet и ftp сессий, с подробными комментариями, так чтож сможет разобраться даже новичек.

telnet сессия:
#!/usr/bin/expect -f

# $remote_server - сервер, к которому осуществляется доступ
# $my_user_id - имя пользователя на сервере
# $my_password - пароль пользователя на сервере
# $my_command - команда, которая будет запущена на сервере

# Отключаем вывод, чтобы не мешался
log_user 0
# Открываем telnet сессию на удаленном сервере
spawn telnet $remote_server
# Дожидаемся запроса имени пользователя и посылаем имя пользователя
expect "Username :" {send "$my_user_id\r"}
# Дожидаемся запроса пароля и посылаем его
expect "Password :" {send "$my_password\r"}
# Дожидаемся приглашения ввода командного интерпретатора и посылаем нашу команду
expect "{Administrator}=>" {send "$my_command\r"}
# Включаем вывод, нам же нужен результат работы нашей команды :)
log_user 1
# Завершаем сессию telnet
send "exit\r"
# Ждем символа конца строки (eof)
expect eof


ftp сессия:
#!/usr/bin/expect -f

# remote_server - сервер, к которому осуществляется доступ
# my_user_id - имя пользователя на сервере
# my_password - пароль пользователя на сервере
# my_command - команда, которая будет запущена на сервере

# Отключаем вывод, чтобы не мешался
log_user 0
# Открываем ftp сессию на удаленном сервере
spawn ftp $remote_server
# Дожидаемся запроса имени пользователя и посылаем имя пользователя
expect "username:" {send "$my_user_id\r"}
# Дожидаемся запроса пароля и посылаем его
expect "password:" {send "$my_password\r"}
# Ждем приглашения ввода ftp и переключаемся в бинарный режим
expect "ftp>" {send "bin\r"}
# Дожидаемся следующего приглашения ввода ftp и посылаем нашу команду
expect "ftp>" {send "$my_command\r"}
# Включаем вывод, нам же нужен результат работы нашей команды :)
log_user 1
# Завершаем сессию ftp
send "bye\r"
# Ждем символа конца строки (eof)
expect eof



На этом все :)
Надеюсь этот небольшой пост поможет не раз сэкономить тебе время, силы и нервы :)



UPD: Павел, спасибо тебе, за найденный "баг" в оформлении :)
[]

среда, 13 мая 2009 г.

Bash: Добавляем дату и время в историю команд (history)

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

Отредактируйте ~/.bashrc добавив внизу такую строку:
export HISTTIMEFORMAT="%t%d.%m.%y %H:%M:%S%t"
и выполните команду (команда начинается с точки, за которой идет пробел)
. ~/.bashrc

Теперь вместо
$ history | awk '/history/'
1897 history | awk '/aptsearc/'
1898 history | awk '/aptsearch/'
1899 history | awk '/history/'
будет такой вывод
$ history | awk '/history/'
1897 13.05.09 13:20:11 history | awk '/aptsearc/'
1898 13.05.09 13:20:15 history | awk '/aptsearch/'
1899 13.05.09 13:20:34 history | awk '/history/'

Удобно? Для меня ДА :)



ЗЫЖ-1 Подсмотрено на http://guruadmin.ru/.
ЗЫЖ-2 Если кто захочет сделать свой формат даты-времени, то читаем тут.

вторник, 12 мая 2009 г.

Маленький однострочник на баше для получения погоды в консольку. Вариант 2.

Немного упростил и улучшил "Маленький однострочник на баше для получения погоды в консольку", о котором рассказывал в предыдущем посте (спасибо FrBrGeorge за напоминание про lynx :) )

Фарш получился такой:
lynx -nolist -dump http://wap.gismeteo.ru/wap2/towns/26702.wap2 | sed -e '1d' | sed -n '1,32p;32q'
Чтобы выводились нормальные русские буквы надо поставить пакеты lynx-cur и lynx-cur-wrapper.

пятница, 8 мая 2009 г.

Отключить DEP в Windows Vista

Сегодня принесли ноут в Windows Vista на борту. Там не работали hta-файлы, что критично, т.к. человеку они нужны для работы с корпоративной программой.

В этом посте я расскажу как я это поборол и как отключить DEP из командной строки.


Запустил этот hta файлик, открывается окошко и сразу появляется сообщение "Microsoft(R) HTML приложение не работает" и кнопка "Закрыть программу". В трее появляется значек и всплыла подсказка, не читая тыкнул ее, открылась справка, в которой рассказывалось, что такое DEP и т.д. Не долго думая полез в "Свойства системы", чтобы отрубить этот поганый DEP, но тут меня ждал облом. Некоторые апплеты панели управления, такие как Система, Учетные записи пользователей, Родительский контроль не открываются, что очень странно. Просто кликаю дважды и ничего не происходит. Другие открываются нормально. Вирусов на машине нет, прогнал аж четырьмя антивирями, к тому же там стоит антивирь.
Думаю: "Ну и фиг с тобой". И полез в безопасный режим. Тут меня тоже ждал облом, все точно так же как в обычном, нормальном режиме.
Загрузился обратно в номарльный режим. Минут 5 смотрел в монитор, потом думаю: "Какого черта я админю винду мышой? В лине я ведь все в консольке любимой делаю." Да, да, знаю, что в винде командная строка отстой (как и сама винда, имхо). Но почему бы не попробовать? И попробовал :)

А делается это очень просто:
bcdedit.exe /set {current} nx AlwaysOff
После ребута hta-файлы сразу заработали :)

Правда те апплеты панели управления так и не заработали, но и фиг с ними, меньше вероятности, что этот злобный дядька, который ноут принес, убьет свою висту :)


четверг, 7 мая 2009 г.

Маленький однострочник на баше для получения погоды в консольку (на 3 дня)



wget -q -O - http://wap.gismeteo.ru/26702.wml |\
sed -e '/^<br\/>.*\|<\/\?p>\|<a href.*\|(c).*\|.*wapstart.ru.*\|.*wml.*\|.*?xml.*\|<\/card>/d;s/^.*title="\(.*\)">/\1\n\n/;s/<br\/>//g;s/<img src=.*alt="\(.*\)"\/> <b>\(.*\) .*<\/b>/\1 - \2/g'
Описание:

Чтобы получить погоду на свой город, идем по линку http://wap.gismeteo.ru/, жмем линк "Другие города", дальше находим свой город и смотрим его адрес, для Калининграда это http://wap.gismeteo.ru/wap2/towns/26702.wap2, вот тут нам нужно число, которое стоит перед ".wap2". Запоминаем его и вписываем в скрипт перед ".wml". Все :)


ЗЫЖ-1 Кстати, мой скрипт выводит инфу не на 3 дня, а на 9 кварталов (квартал = 6 часов, т.е. утро, день, вечер, ночь). Ошибся когда писал пост. Просто чтобы получить прогноз на 3 дня, надо еще одну страницу парсить, чего я не стал просто делать.

ЗЫЖ-2 Благодаря блогу Unix way из поста Погода в консоли узнал про хорошую утилитку weatherget написанную на питоне. Погоду она утягивает с http://xoap.weather.com/.
Пример использования:
weatherget -s RSXX0058 -m -e 3
В консольке будет погодка на 3 дня для Калининграда.



UPD: Есть обновочка :)


среда, 6 мая 2009 г.

Подушка для тех, кто даже спит с ноутбуком



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



[]

вторник, 5 мая 2009 г.

GLPI: Подтверждаем закрытие заявки (пример установки плагина)

Оказывается для GLPI есть замечательный плагин имя которому Tickets Validation. А замечателен он тем, что после его установки появляется возможность отправить юзеру запрос удовлетворен ли он выполнением заявки или нет.

В этом посте я расскажу как установить, настроить и руссифицировать плагины на примере сегодняшнего "героя" :)

Для начала надо скачать сам плагин с сайта GLPI (на данный момент самая свежая версия 0.2):
wget http://glpi-project.org/IMG/gz/glpi-validation-0.2.tar.gz
Теперь его нужно извлеч из тарбола:
cd /var/www/plugins/
tar xzf ~/glpi-validation-0.2.tar.gz
Теперь лонинемся в нашем GLPI, если ты уже залогинен, то надо выйти и снова войти, и идем в Установки > Плагины, там находим ссылку "Validation" и переходим по ней. Жмем следующую ссылку "Install Tickets Validation plugin 0.2" (имя ссылки написала по памяти). Следующая ссылка - "Manage profiles", заходим по ней и выбираем профили, из под которых можно будет отправлять юзеру запрос удовлетворен ли он выполнением заявки или нет.

С настройкой готово. Теперь расскажу как использовать его.
В Поддержка > Отслеживание открываем любую заявку. Вверху появилась еще одна маленькая "панелька" "Плагины", между "Заявка ХХХ" и "Добавить ответ". Если навести мышку на "Плагины", то появится "менюшка", в которой будет пункт "Validation", щелкаем по нему. Теперь идем в самый низ страницы и видим там раздел "Send a validation request". В поле "Пользователь" выбираем нужного юзера, а в поле "Примечание" вводим какое-либо примечание :) и жмем кнопку "Send". Юзеру будет отправлено сообщение с ссылкой, по которой ему надо перейти, чтобы подтвердить закрытие заявки. А там уже и так все понятно :)

Все сделали, плагин работает, юзеры довольны, волки, т.е. мы - админы, сыты :) Но(!) плагин не знает, что такое великий и могучий русский язык. Не хорошо, не хорошо... Надо его поучить уму разуму. Чем мы сейчас и займемся :)

Идем в папку /var/www/plugins/validation/locales/, там есть файлик en_GB.php, копируем его в ru_RU.php, конвертируем полученный файл в utf-8 и правим его на русский язык (да, да, а вы что халявы хотели?):
cd /var/www/plugins/validation/locales/
sudo cp -v en_GB.php ru_RU.php
iconv -f cp1251 -t utf-8 ru_RU.php | sudo tee ru_RU.php
sudo vim ru_RU.php



Чего унылый такой? :) Перевод халявный не дали? :) Держи ru_RU.php :)
Вся критика и замечания по переводу с радостью принимаются :)



ЗЫЖ Я что-то проглядел плагин, когда смотрил весь большой список на сайте GLPI, а узнал из этого комментария за что frolin'у огромное спасибо :)

суббота, 2 мая 2009 г.

Zyb.com: Сихронизируем мобилы в on-line

Не так давно я узнал про классный сервис zyb.com, который позволяет синхронизировать данные между мобильниками (и не только). Работает он просто: с мобилы выкачиваются в твой профиль на зыбе данные (контакты, календарь) и там сохраняются, когда ты добавляешь новые контакты/записи в календаре, то снова их синхронизируешь с зыбом. А если что-то удалишь, то можешь это все забрать с зыба. Удобно? Для меня да (параноикам просьба не беспокоить :)).

В этом посте пойдет речь о том, как настроить зыб и мобилку на работу "в одной банде" на примере Sony Ericsson K790i.

Итак. Иди на сайт zyb.com и тыкай кнопку "Sign up". В выпадающем списке выбираешь название своего девайса (либо тыкаешь по соответствующей картинке выше), а ниже появятся модели, находи свою мобилку (либо вбей ее модель в поле "My phone is a") и тыкай по ней. Для меня это SonyEricsson K790i.
Теперь надо заполнить не большую анкетку (можно т.ж. перейти по ссылке "use OpenID", но я этого не делал). Думаю какое поле для чего и так понятно и комментарии тут будут излишни. Я заполнил все поля, а вот последнюю галку ставить не стал, нафиг мне эти новости? :) Заполнил анкету? Тогда жми "Continue".
Как только загрузилась следующая страница мне браузер сказал, что SSL-сертификат корявый и спросил хочу ли я ему доверить, согласился. И тут же мне пришла смс-ка с настройками, точнее сами настройки, я просто нажал на телефоне левую дисплейную клавишу, т.е. ответил "Да". Мобила запросила ввести пароль, посмотрев в монитор я увидел на странице зыба надпись "If asked for a PIN please use:" и ниже "1234" и, естественно, ввел это число в мобилу. После этого в зыбе я нажал "Continue", а в мобилке перешел в Меню -> Параметры -> Связь -> Синхронизация, там уже был создан профиль ZYB.
Давай его сразу заодно и настроим до конца. По умолчанию календарь не сихронизируется (у меня это было именно так), чтобы это исправить иди в Меню -> Параметры -> Связь -> Синхронизация, выбирай там профиль ZYB и жми правую дисплейную клавишу (Функции), а в ее меню выбирай "Измен.". Теперь иди в пункт "Приложения" и ставь в нем галочку в пункте "Календарь". Потом переходи в пункт "Парам. приложения", там выбрай "Календарь" и в параметре "Имя базы данных" пиши "./calendar". Теперь календарь тоже будет синхронизироваться :)
Далее надо указать правильный профиль подключения к инету, я выбрал "Megafon GPRS". Еще будет полезно настроить интервал синхронизации, я указал 7 дней, т.к. у меня это максимум :( А в пункте "Удал. инициализ." я поставил "С запросом", т.к. не хочу чтобы без моего ведома что-то там синхронизировалось само :)))
Все. Теперь жми "Сохранить" и "Пуск". Запускается синхронизация и через несколько секунд все твои данные из адресной книги и календаря будут на зыбе :)


На этом все. Удачи :)
Изучение доп. возможностей зыба оставляю тебе в качестве домашнего задания :)))