И снова о безопасности. VPN vs OpenVPN, и как все это настроить.

Вот здесь я обещал, что расскажу поподробнее о настройке OpenVPN. Пришло время выполнить это обещание.

VPN и OpenVPN – это такая замечательная штука, которая позволяет объединить несколько компьютеров в одну общую сеть через открытые каналы; и при этом обеспечивается высокая безопасность соединения – за счет шифрования передаваемых данных.

Основное преимущество VPN соединения – это простота настройки у клиентов. Оно настраивается буквальной в 3-4 клика мыши под Windows XP; поэтому в компаниях, которые могут предоставлять доступ в свою корпоративную сеть, предпочитают давать своим сотрудникам именно VPN соединения.

Минусов у VPN соединения тоже достаточно. Например, оно не всегда работает при соединении через GPRS (проверено на МТС, без услуги Реальный IP Адрес VPN не работает).

Для себя я предпочел настроить OpenVPN соединение. На мой взгляд, оно удобнее – во-первых, оно позволяет не только шифровать трафик, но и неплохо его сжимать. Во вторых, я сам могу решать, по какому соединению будет работать OpenVPN (TCP или UDP), и могу выбрать тот порт, который мне нужен. В третьих, длину ключа шифрования и периодичность смены ключа я тоже определяю сам. Такая гибкость настройки мне очень нравится.

Недостатки у OpenVPN тоже есть. Наппример, если установлен антивирус Касперского, то OpenVPN может не работать. Меня это не расстраивает, поскольку я в основном использую Linux.

И все-таки мне удалось настроить VPN соединение поверх GPRS от МТС без услуги Реальный IP адрес.
Все оказалось просто, надо сначала установить OpenVPN соединение поверх GPRS, и уже поверх OpenVPN установить соединение VPN. Звучит страшно, выглядит тоже не очень… Но работает.
В этом случае вышестощий провайдер не сможет помешать установке VPN-соединения, поскольку он не будет знать о используемых портах и передаваемых данных.

Дополнено 12.09.2008
Пример конфигурационных файлов OpenVPN:

### Конфигурация клиента
remote xxx.yyy.zzz.aaa 1194
dev tap
ifconfig 192.168.20.11 255.255.255.0
route-gateway 192.168.20.13
redirect-gateway
push “dhcp-option DNS 192.168.20.13″
secret key.txt
comp-lzo

### Конфигурация сервера
dev tap
ifconfig 192.168.20.13 255.255.255.0
push “redirect-gateway def1″
push “dhcp-option DNS xxx.yyy.zzz.aaa”
secret key.txt
comp-lzo

Ключ key.txt надо сгенерировать самостоятельно, например, на сервере, и передать по безопасному каналу клиенту (через sftp или scp). После этого надо перезапустить OpenVPN на сервере и на клиенте, все будет работать.

Надеюсь, мой опыт окажется полезным и для Вас.

Настройка домашней сети и проблемы несовместимости оборудования.

Я уже писал, что же выбрать для дома – ноутбук или компьютер. В конце концов остановился на том, что лучше иметь и то, и другое.
Решил я их объединить в локальную сеть, чтобы можно было пользоваться интернетом с любого компьютера, и при этом не прокладывать провода, так как мой ноутбук Dell Latitude L110 имеет встроенный адаптер WiFi.

Конфигурация сети у меня получилась вот такая.
Компьютер с сетевым интегрированным Marvell Yukon 88E8053 PCI-E Gigabit Ethernet Controller подключался к 8-портовому свичу Genius GS4080Mini. Свич соединяется с ADSL-модемом D-Link DSL 500T и с точкой доступа D-Link DWL 2100 AP.

Все замечательно работало, за исключением WiFi. При попытке скачать по сети через сеть WiFi что-нибудь серьезное, периодически происходил разрыв связи, и сетевые интерфейсы на компьютере и ноутбуке впадали в глубокий ступор. Помогал только перезапуск сети:

/etc/init.d/network restart

Я очень долго искал, в чем же была проблема. В конце концов выяснилось, что гигабитная сетевая карта Marvell Yukon 88E8053 аппаратно не совместима с 100-мегабитным портом точки доступа D-Link DWL 2100 AP. У меня валялась без надобности простенькая 100-мегабитная сетевая карта Realtek 8139, которую я воткнул в компьютер и связал сетевым кабелем с точкой доступа. После этого стал тестировать свою домашнюю сеть WiFi, и был очень обрадован результатом – внезапные разрывы связи прекратились.

Стоит отметить, что моя гигабитная сетевая карта не конфликтовала с ADSL-модемом, связь не рвалась ни разу на моей памяти; проблемы были только с точкой доступа.
Если у Вас наблюдается аналогичная проблема, просто замените сетевую карту.

Анонимность в Сети, или Шифруемся и прячемся…

В последнее время западный мир лихорадит на тему авторских прав. Например, во Франции будут блокировать доступ к Сети тем интернет-пользователям, которые незаконно скачивают музыку и кинофильмы; и “сдавать” веб-серфера компетентным органам будет его провайдер.
Как же доблестным “любителям халявы” качать все это из Интернета и не бояться за свою шкуру?

1. Можно воспользоваться анонимными бесплатными прокси..
В Сети есть довольно много сайтов, который совершенно бесплатно предоставляют информацию о беслпатных прокси; например, здесь есть неплохой списочек. Достаточно в браузере задать подключение через SOCKS-прокси, и тогда ваш провайдер будет знать только о том, что у Вас было соединение с прокси-сервером. Куда Вы заходили на самом деле, ему будет неизвестно.
У бесплатных прокси есть как минимум 2 недостатка – их используют все кому не лень, в результате чего они становятся довольно тормозными. Второй недостаток – их могут очень быстро закрыть для использования, и Вам придется искать что-то новое.

2. Можно купить доступ к платным прокси. Это довольно дорого, и не всегда хочется оставлять свои данные у непонятных сервисов.

3. Можно поднять собственный прокси-сервис. Звучит пугающе, но на самом деле все очень просто, по финансовым затратам можно уложиться в 150 рублей в месяц. Для начала выбираем, какой же IP адрес нас интересует – российский или американский. Регистрируемся здесь, если надо прикинуться россиянином, или здесь, если хочется почувствовать себя американцем. Любая из этих хостинговых компаний даст Вам рутовый пароль и IP-адрес Вашего виртуального выделенного сервера (VDS).
Далее, если Вы (как и я) в основном пользуетесь Linux’ом, выполните следующую команду на Вашем компьютере:
ssh -C -D 5678 -l root [ip-адрес сервера]
При этом у Вас будет установлен зашифрованный канал между Вами и Вашим VDS, который к тому же будет неплохо сжимать трафик. Далее у себя в настройка браузера указываем, что используется прокси-сервер SOCKS5 с IP-адресом 127.0.0.1 и портом 5678 – и все, провайдер не будет знать о том, куда Вы ходите.
Для пользователей Windows есть бесплатная программа putty, используя которую можно установить соединение со своим VDS. В настройках программы также следует указать порт туннеля (например 5678), и установить опцию сжатия данных (необязательно, но полезно при платном трафике).
После установления соединения с VDS у получается прокси-сервер SOCKS5 с открытым портом, который мы можем использовать для анонимного серфинга.

4. Если Вам требуется нечто большее, чем просто серфинг и скачивание контента, то возможностей прокси Вам может и не хватить. Не все сетевые программы поддерживают работу через прокси, некоторые должны соединяться напрямую – и тогда Ваш провайдер сможет увидеть по своим логам, чем Вы в Сети занимаетесь.
Для шифрования всего Вашего трафика можно использовать VPN или OpenVPN соединения. В основном эти сервисы платные; но если как следует поискать, то можно найти и бесплатный, с определенными ограничениями.

5. Для владельцев своих серверов есть еще возможность поднять свои VPN или OpenVPN туннели, когда весь трафик будет идти через зашифрованный канал между Вашим компьютером и удаленным сервером. Но об этом я расскажу в следующий раз.

JPEG + RAR = атомная бомба или как прятать файлы в картинках

В связи с тем, что сейчас на работе часто не позволяют слушать всякую музыку, периодически возникает необходимость ее прятать. Сейчас на простом примере я расскажу, как это делается.
Итак, шаг номер 1: рисуем простейшую картинку в MS Paint:
Никакого секрета здесь нет

сохраняем ее как secret1.jpg.
Шаг номер 2, берем любой файл и сжимаем его с помощью WinRAR. Я в качестве эксперимента взял файл License.txt от FAR Manager; получаем файл license.rar – сохранить надо в той же директории, что и файл secret1.jpg.
Последний шаг, переходим в директорию с файлами secret1.jpg и license.rar, и набираем команду:
copy /b secret1.jpg + license.rar secret2.jpg
В результате мы получаем вот такую картинку, которая казалось бы, ничем не отличается от предыдущей:
А ЗДЕСЬ есть секретные данные

Любой графический редактор эту картинку открывает именно как картинку; а если же ее попробовать открыть WinRAR’ом, то этот JPEG файл открывается как обычный архив:
Храните данные в JPEGах

Итак, срочно прячем все что надо за фотографией любимой кошки на рабочем столе; вероятность, что эти данные все-таки найдут, резко снижается.
Не забудьте, архивы лучше создавать с паролями.
Удачи.

Четыре совета о том, как правильно искать работу.

Решил поделиться личным опытом, как следует искать работу доблестным труженикам мыши и клавиатуры.

1. Изучите рынок труда для Вашей специальности.
Зная средний уровень зарплаты для работника Вашей квалификации, Вы будете знать, на какой уровень зарплаты рассчитывать. Искать можно по “потолку” зарплаты, но тогда поиск будет долгим и не факт, что он будет успешным. Предложения ниже среднего уровня зарплаты рассматривать не стоит, т.к. это просто невыгодно.

2. Все начинается с резюме.
Грамотно составленное резюме заставляет обратить на Вас внимание потенциального работодателя. Читабельное и красиво оформленное резюме бросается в глаза, и его скорее всего, прочитают. И если желаемый уровень зарплаты из п.1 устроит потенциального работодателя, шансы попасть на собеседование вырастают.
Как написать хорошее резюме? На самом деле это очень просто, надо зайти, например, на headhunter.ru, и посмотреть несколько резюме реальных соискателей в качестве образца своего резюме. Выберите то, что понравится лично Вам, и обработайте по своему вкусу. Очень полезно это резюме показать кому-нибудь из своих знакомых, которые непредвзято смогут его прочитать, и оценить качество изложения. Прочитав резюме, попробуйте поставить себя на место работодателя – будет ли ему интересно такое описание.
Обязательно укажите уровень желаемой зарплаты. Многие работодатели при поиске соискателей устанавливают фильтр по уровню желаемой зарплаты, без указания зарплаты Ваше резюме просто никто не увидит.

3. Вам наконец-то позвонили / прислали email от будущего работодателя.
Рано радуетесь, это еще ничего не значит. Выясните, с кем имеете дело – кадровое агентство или прямой работодатель. Если это кадровое агентство и у Вас масса свободного времени, можете поразвлекаться и сходить к ним на собеседование. Эффективность поиска работы через агентства очень не высокая, потому что пока Вы пройдете собеседование в агентстве, пока они свяжутся с работодателем; он рассмотрит Вашу кандидатуру, даст или не даст добро агентству – проходит много времени; и если вакансия действительно “горящая” – скорее всего, ее уже займут те, кто общается с работодателем напрямую. Не исключаю, что агентство все-таки сможет найти Вам приличную работу – но вероятность такого события невысока.
Если с Вами связался потенциальный работодатель – опять таки, не спешите.
Выясните название компании, адреса, телефоны – и возмите таймаут. Поищите в интернете отзывы о этой компании; не пресс-релизы и интервью руководства (там Вам много лапши на уши навешают); а именно отзывы тех, кто там работал и по каким-то причинам оттуда ушел. Если пишут только негатив, то скорее всего лучше Вам туда на собеседование не ходить – потом пожалеете.
Если с Вами связались, и сообщают, что якобы работодатель – весьма серьезная и крупная компания (название которой не сообщают) – считаю, что от таких предложений тоже стоит отказываться. У нормальной компании нет причин скрываться; работать в НЕ нормальной компании – себе дороже.

4. И наконец, собеседование.
Если Вы – программист, то проверить Вашу квалификацию крайне просто. Вы сколько угодно можете показывать сертификаты Oracle Certified Professional или тому подобный бумажки – это может произвести впечатление на HR-менеджера компании, или директора; может даже быть причиной того, что Вам будут платить немного больше, чем остальным… Но это не решает, возьмут ли Вас на работу. Программисту просто дают несколько задач, и парочка из них будет скорее всего с подвохом. Если соискатель успешно справляется с задачами, то его скорее всего, возьмут на работу. Если он не справился, то никакие сертификаты не помогут.
С админами ситуация иная, там больше верят на слово и внимательнее смотрят во время испытательного срока; там сертификаты имеют большую значимость, чем у программистов.
Еще один маленький совет, если Вас пригласили на собеседование в выходной день, Вы пришли – а там весь офис в полном составе бегает как ужаленные; знайте – Вам там лучше не работать. Там скорее всего не будет понятия “аврал”; у таких контор – это норма. Дважды подумайте, а оно Вам надо?
Очень важный момент, сразу узнавайте, какая зарплата у Вас будет – белая или черный нал. Если зарплата белая – все отлично; под справку о доходе по форме 2-НДФЛ Вам любой банк даст кредит – если деньги понадобятся; под неподтвержденные доходы банки дают кредиты очень неохотно (под более высокий процент) или не дают вообще.
Второй момент, узнавайте, какая зарлата у Вас будет зафиксирована в договоре. Есть не очень честные работодатели, которые фиксируют в договоре зарплату, равную минимальному размеру оплаты труда (МРОТ). Даже если они будут платить белую зарплату в полном объеме – это все равно плохо. В случае, если Вы заболеете, или допустите серьезную (с точки зрения работодателя) ошибку в работе, у Вас будет очень высокий шанс получить на руки МРОТ вместо обещанной раньее зарплаты. По возможности избегайте таких работодателей.

На сегодня – все, удачи в поиске работы.

Палю тему: экономим на пространстве для бэкапа, используя Gmail File System

Многие владельцы серверов/VDS ломают голову, как же бэкапить свои бесценные данные. Большинство хостеров, например, FirstVDS или MiniVDS предлагают место для бэкапа по стоимости порядка 2 доллара США за гигабайт в месяц, что по-моему, довольно много. Одним из вариантов, который бы позволял хранить бэкапы, является использование почтового сервиса Google Mail (gmail), который в настоящее время предлагает около 4 Гб дискового пространства под почту – совершенно бесплатно.
Самый просто вариант хранения бэкапов – это пересылка архивов по почте; но есть как минимум еще один вариант – использование Gmail Filesystem. Судя по описанию, эта файловая система как раз и построена на обмене сообщениями с почтовым сервером gmail.
Все, что нужно для установки файловой системы – Python версии не ниже 2.3; должен быть установлен FUSE не ниже 2-й версии (скачать можно здесь, если еще он не установлен).
Еще понадобится Python FUSE bindings (взять можно отсюда), libgmail и собственно, gmailfs.
После установки всего этого добра, можно поправить файл /etc/fstab для автоматического монтирования этой файловой системы:

/usr/local/bin/gmailfs.py /path/of/mount/point gmailfs noauto,username=gmailuser, password=gmailpass, fsname=zOlRRa

или монтировать ее руками:
mount -t gmailfs /usr/local/bin/gmailfs.py /path/of/mount/point -o username=gmailuser,password=gmailpass,fsname=zOlRRa
Если вы на свой сервер пускаете еще и постороних юзеров, то этот метод будет небезопасен – поскольку этот юзер будет видеть логин и пароль в /etc/fstab.
Но эту проблему можно разрулить прописыванием соответствующих настроек в файле /etc/gmailfs.conf и запретом чтения этого файла остальным юзерам.
Вот несколько хинтов по настройке:
1. При удалении файлов из GmailFS, соответствующие им письма не удаляются физически, а попадают в Gmail Trash. Так что их придется периодически чистить руками (libgmail пока не умеет удалять сообщения).
2. Если не дай Бог залезть в этот акк Gmail почтовым клиентом, то все это добро свалится по почте. Поэтому крайне рекомендуется создать фильтр в акке Gmail, который бы архивировал эти сообщения и убирал из inbox.

06.11 – сегодня день нашей группы. Отчет о встрече :)

Итак, настал долгожданный день нашей группы – 06.11.2007. 7 лет прошло с момента окончания института, и один из бывших сокурсников – Андрюха – решил-таки нас собрать на ежегодную встречу.
Вызвонив меня и оторвав от заслуженной кружки пива, он пригласил меня принять участие в этом мероприятии. Добрался я до заведения с громким названием (а вот хрен им, пусть за рекламу заплатят – тогда озвучу, как оно называется :) ); и мы там тихо-мирно посидели, пообщались…
Состав участников:
Леха-младший:
Леха - он правильный. Он даже когда трезвый, за словом в карман не полезет

Без Лехи – скучно. Его надо брать на каждую пьянку, ибо он – душа компании. Долгих лет тебе жизни и здравия, наш дорогой человек.
А это Леха-старший:
Леха-старший нифига не бандит, хотя так и выглядит. Он номальный препод в нехилом универе :)

Леха-старший пиво не пьет. Из-за этого у него “характер нордический, скверный” (С) 17 мгновений весны. Но вот он один из немногих малопьющих людей, который потом в состоянии вытащить на себе всех напившихся в зюзю и дотащить до такси. Он нифига не бандюк – внешний вид весьма обманчив; он доброй души человек и наверное достойный преподаватель в нашем учебном заведении… Наверное. Я даже верю в то, что он там еще никого не убил :)
Ну и наконец, Денис:
Мегамозг и мегапрепод. Наверное, но по слухам - именно так
Мегамозг и мегапрепод. Опять же, по слухам… Проверить слухи эти я не могу, ибо других занкомых собутыльников в универе почти не осталось.
Вот ведь жизнь какая штука… В универе забить на пару, и пропустить стаканчик-другой – так мы все блин друзья-товарищи. А вот 7 лет спустя встретиться и бухнуть как встарь – у всех найдутся по тысяче причин не придти на встречу.
Ф топпку все причины, группа наша была очень дружной. Лишь фото тех героев, что пришли на встречу, и любезно согласились сфотографироваться перед камерой моего мобильника, достойны упоминания в этом небольшом фотоотчете. Андрей, как организатор встречи, упомянут отдельно – но я, недостойный алкаш, забыл по пьяни его сфотографировать.
Ну а фото себя, недостойного, после такой опрометчивости, даже и не хочется публиковать на блоге.
Всем спокойной ночи, принятая доза алкоголя призывает меня ко сну.

Яндекс.Бомбинг и операторы сотовой связи

Ой как у нас народ любит сотовую связь… Настолько любит, что даже Яндекс выдает этих операторов по не очень приятным запросам:
Вот как он выражает народную любовь к
мегафону и МТС:

Народная любовь к Мегафону одним словом

Народная любовь к МТС одним словом

Кстати, на первом скриншоте видно, какой поиск народ считал “плохим”. Себя любимых из результата выдачи они убрали, а вот мегафон получил “заслуженное” первое место.
З.Ы. Если кто кинет линку на выдачу Яндекса по билайну по подобным запросам, буду премного благодарен – коллекционирую :)
Похожая тема: что такое флешбомб.

Webmoney и блокировка по IP

Блокировка по IP – весьма полезная вещь в плане безопасности. Даже если Вы подхватили вирус/троян, и злоумышленник захватил ваш файл с паролями или сертификат webmoney, то он не сможет воспользоваться Вашим кипером и увести деньги.
Именно поэтому я и включил себе блокировку по IP, и успешно забыл про нее – все работает, все замечательно.
Но вот совсем недавно я сменил себе интернет-провайдера, и теперь у меня IP адрес оказался динамическим. Как оказалось, большой беды в этом нет. При попытке авторизоваться в WM Keeper Light, система мне выдала предупреждение, что я пытаюсь зайти с заблокированного IP.
Параллельно на почтовый ящик, который я указал для получения кода разблокировки, пришло письмо с этим самым кодом.
Вывод: не бойтесь блокировать свой кипер по IP. Если он у Вас вдруг сменится, или будет зарегистрирована попытка воспользоваться Вашим кипером с неразрешенного IP, Вы об этом узнаете.
Похожая тема: изучаем буржуйские платежные системы Paypal и Moneybookers.