пятница, 31 декабря 2010 г.

Proftpd+ClamAV - установка и настройка в Debian/Ubuntu

Установка и настройка ftp сервера ProFTPd с антивирусной проверкой (ClamAV). Используемые дистрибутивы: Debian Lenny/Squeeze и Ubuntu 10.04. Для авторизации используется пара логин и пароль.
Начнем с установки ftp сервера
  1. aptitude install proftpd-basic
на вопрос отвечаем как standalone (при запуске proftpd через inetd вы получаете экономию памяти (выбираем его, если сервером будет пользоваться малое количество людей), при запуске как standalone мы получаем большую гибкость (к примеру виртуальные хосты))
Редактируем файл /etc/shells
  1. nano /etc/shells
добавляем (если ее нет, конечно) строчку /bin/false
Создаем каталоги для хранения и закачки файлов
  1. mkdir /home/ftp/public
  2. mkdir /home/ftp/upload

И выставляем им нужные права (папка /home/ftp была создана автоматически при установке proftpd, public — только чтение, upload — чтение и запись)
  1. chmod 755 /home/ftp
  2. chmod 755 /home/public
  3. chmod 777 /home/upload

Создаём группу (ftp2) и присваиваем данной группе конкретного пользователя (userftp)
  1. ftpasswd --group --name=ftp2 --gid=50 --member=userftp --file /etc/proftpd/ftpd.group

Создаем самого пользователя
  1. ftpasswd --passwd --name=userftp --home=/home/ftp --shell=/bin/false --uid=1003 --file /etc/proftpd/ftpd.passwd
придумываем ему пароль
Собственно мы можем создавать столько пользователей, сколько нужно, но если нам нужна гибкость работы, с большим количеством пользователей — смотрим в сторону ldap.

Приступим к установке ClamAV
  1. aptitude install clamav clamav-daemon

Запускаем dpkg-reconfigure и отвечаем на вопросы
  1. dpkg-reconfigure clamav-base
не стоит запускать ClamAV на TCP порту
если нет нужды проверять на вирусы удаленные машины

Для обновления антивирусной базы данных у нас автоматически (при установке clamav) установлена утилита clamav-freshclam
Для перезапуска ClamAV выполняем
  1. /etc/init.d/clamav-daemon restart
для диагностики смотрим логи /var/log/clamav
Настраиваем ftp сервер
  1. nano /etc/proftpd/proftpd.conf

AllowOverwrite on

RequireValidShell off
AuthUserFile /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group

# Don't use IPv6 support by default.
UseIPv6 off

ServerName «ftp-server»
ServerType standalone
DeferWelcome on

# При возникновении у пользователей жалоб на длительную авторизацию
UseReverseDNS off
IdentLookups off

MultilineRFC2228 on
DefaultServer on
ShowSymlinks off

TimeoutNoTransfer 600
TimeoutStalled 100
TimeoutIdle 2200

DisplayChdir .message
ListOptions "-l"

TimeoutLogin 20

# Для усиления безопасности запрещаем подключаться на сервер как root

RootLogin off

# Создаём журналы
ExtendedLog /var/log/ftp.log
TransferLog /var/log/xferlog
SystemLog /var/log/syslog.log

#Еще одна, нужная для усиления безопасности, опция — запрещает заливать на сервер файлы начинающиеся с точки
DenyFilter \*.*/

#Используем файл /etc/ftpusers, в нём перечислены те пользователи, которым запрещено входить на сервер
UseFtpUsers on

#Разрешаем докачивать файлы
AllowStoreRestart on

# Задаём порт, на котором будет работать сервер, в большинстве случаев подойдет стандартный 21-ый порт
Port 21

# Против DDOS атаки
MaxInstances 8

# Сервер запускается и работает под этим пользователем и группой
User nobody
Group nogroup

Umask 022 022

MaxClients 8
MaxClientsPerHost 8
MaxClientsPerUser 8
MaxHostsPerUser 8

# Сообщение после успешного захода на сервер
AccessGrantMsg «Welcome to Server»

#Идентификатор сервера, показывается всем при заходе на сервер
ServerIdent on «Hello»

#Домашний каталог
DefaultRoot /home/ftp

#Запираем всех в домашнем каталоге, чтобы не могли просмотреть каталоги выше
DefaultRoot ~

MaxLoginAttempts 5
#VALID LOGINS
AllowUser user
DenyALL


Umask 022 022
AllowOverwrite on

# Включаем проверку антивирусом

ClamAV on

#Против DDOS атаки
MaxInstances 8

#Сервер запускается и работает под этим пользователем и группой
User nobody
Group nogroup

Umask 022 022

MaxClients 8
MaxClientsPerHost 8
MaxClientsPerUser 8
MaxHostsPerUser 8

# Сообщение после успешного захода на сервер
AccessGrantMsg «Welcome to Server»
#Идентификатор сервера, показывается всем при заходе на сервер
ServerIdent on «Hello»

Перезапускаем сервер
  1. /etc/init.d/proftpd start

Вот собственно и все.

понедельник, 27 декабря 2010 г.

Как хакер издевался над преступником, своровавшим его ПК

Хакер под ником Zoz выступил на конференции Defcon 18 с 20-минутным рассказом, как ему удалось обнаружить десктоп, украденный год назад. История действительно необычная (слайды презентации, видео (см. с 3:15)).
Zoz месяцами выслеживал, когда где-нибудь на аукционах появятся комплектующие с его серийными номерами, но безуспешно. Аккаунт в сервисе DynDNS (привязка домена к динамическому IP-адресу) тоже не подавал признаков жизни. Через 30 дней они прислали письмо, что если желаете сохранить аккаунт в режиме отсутствия активности, то нужно купить апгрейд до версии Pro. В октябре 2009 года Zoz сделал это — и удача повернулась у нему лицом.

7 мая 2010 года в аккаунте DynDNS появилась странная запись.



Zoz сделал запрос к DNS…



… после чего успешно залогинился на свой собственный компьютер по SSH.



Дальше началось самое интересное. На своём родном рабочем столе в Mac OS X он сразу обнаружил несколько новых файлов и папок. Это была игра Realm of Warfare, файлы заявление на пособие по безработице, а также кучка личных фотографий. Но этого было мало, так что пришлось поставить на машину кейлоггер.



Вскоре были получены пароли от всех сайтов, которые посещает жертва. Как оказалось, его зовут Мелвин Гузман. Интересно, что на всех сайтах у него был одинаковый пароль guzman85.





Zoz узнал много интересного о новом владельце своего компьютера, включая полное содержимое почтового ящика, фотографии его обнажённой девушки, платежи через PayPal, пароль к системе интернет-банкинга, доступ к профилю на Facebook и, самое главное, домашний адрес.



Дальнейшее было делом техники (вызов полиции всё решил).

суббота, 25 декабря 2010 г.

Skype возвращается к нормальной работе

лава Skype, Тони Бейтс, заявил о том, что большинство пользователей сети вновь
может использовать программу для общения. В час пик количество пользователей
Skype достигает 25 млн и по оценкам Бейтса 16,5 млн уже могут вернуться к
привычной деятельности. Skype удалось восстановить возможности голосовой,
текстовой и видеосвязи. С чем пока могут быть проблемы, так это с текстовыми и
видеоконференциями.

Глава компании также сообщил о том, что тем пользователям, которые зависят от
возможности общения по Skype, будет сделана некая компенсация за временные
неудобства, однако пока нет информации как именно Skype планирует это сделать.

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

Сейчас в Skype находится 16,5 млн активных пользователей, хотя еще вчера их
насчитывалось всего около 1 млн.

четверг, 23 декабря 2010 г.

Визуализация эмоций в 3D-играх

image
Компания Rockstar Games, получила всемирную известность благодаря своей серии видео-игр Grand Theft Auto, в которой каждый мог на время очутиться хоть и на виртуальных, но таких близких к реальности, полных насилия улицах. В новом грядущем проекте Rockstar, LA Noire, важную роль будут играть человеческие лица. Австралийские разработчики игры, Team Bondi, использовали передовые технологии захвата изображения лиц и мимики, которые позволили перенести в виртуальное пространство широчайший диапазон тонких эмоций, сыгранных реальными актерами. В большинстве игр до этого момента, такие крупные высокодетализированные планы персонажей использовались лишь в межуровневых видеороликах, специально срежиссированных и демонстрировались для большего погружения в сюжет игры, связывая интерактивные ее части.

В LA Noire, изучение эмоций– это одна из основных особенностей геймплея, и оттого, насколько у вас получится замечать малейшие изменения на лицах виртуальных персонажей, будет зависеть развитие игры. Даже небольшие эмоции игровых персонажей могут дать вам важные ключи к разгадке преступлений, предлагаемых игрой. Вам придется смотреть на актеров и пытаться решить – не врут ли они вам. Звучит чертовски круто, а как выглядит, вы можете посмотреть на трейлере ниже. Технология Motion Capture становится все лучше и лучше, и вероятно через пару лет неестественная анимация персонажей в играх канет в лету.


Для того чтобы получить высококачественные записи лиц актеров, Team Bondi разработали удивительную систему из 32-х камер, названную Motionscan. Эти камеры работают парами, для того чтобы захватывать актера с разных углов в комнате, наполненной интенсивным белым светом, чтобы ни одна морщинка не осталась незамеченной. У австралийского подразделения Gizmodo получилось попасть на студию разработчиков игры и посмотреть как выглядит процесс съемки.

Девять серверов, принимают данные, поступающие со скоростью 300 MБ/с в буфер размером в 45 Терабайт, где происходит цифровая обработка, позволяют выдавать до 50 минут готового материала в день. Хотя актерам приходится работать, находясь внутри системы, часами. Аарон Стейтон, играющий главную роль в LA Noire, известный публике по телесериалу Madmen, провел 80 часов внутри установки Motionscan. На видео ниже вы можете увидеть как проводилась работа по захвату игры Стейтона, Джона Нобла (из «За гранью») и других американских и австралийских актеров, а также их впечатления от работы с Team Bondi и технологией Motionscan.



Джеймс Кэмерон со своим Аватаром высоко поднял планку реалистичной 3D-анимации c использованием реальных актеров и технологии motion capture. Тем не менее, Rockstar и Team Bondi удалось создать прекрасные образы с помощью их технологии Motionscan. Удивительно насколько быстро бюджеты разработки видеоигр приближаются к бюджетам голливудских фильмов! Не стоит забывать, что более дешевая и простая технология 3D motion capture ждет своего часа, и, вероятно, найдет коммерческое приложение в ближайшем будущем.

Технологии стремительно развиваются и в ближайшее время наверняка появятся игры, такие же красивые и реалистичные как кино. И LA Noire, похоже, один из первых шагов в этом направлении. В ближайшее время стоит ожидать не только реальных актеров, но и полностью придуманных и смоделированных персонажей, которые будут настолько реалистичными, что в это трудно будет поверить. И хочется надеяться на то, что к тому моменту мы все еще сможем отличать виртуальное от реального.

via SingularityHub

Call of Duty в реальной жизни

среда, 22 декабря 2010 г.

Так ты, значит, хотел быть программистом…



BY SCOTT C. REYNOLDS

Сколько ты себя помнишь, компьютеры и электроника привлекали тебя. К моменту твоего совершеннолетия ты уже верно стоял на пути профессионального программиста. Первая интернетская золотая лихорадка была в самом разгаре, и вас, нердов, повсюду величали героями Новой Экономики на обложках журналов Fast Company и Wired, и нерды гребли деньги лопатой, делая то же, что любишь делать ты.

Ты отчислился из ПТУ и начал подыскивать работу в стартапе. Потому что бросить школу и создать Что-то Великое – об этом как раз и твердили, как заклинание, великие Стив Джобс и Билл Гейтс. Компании набирали всех, кто хоть как-то понимал булевскую логику и жаждал создавать, и отчисленники из ПТУ были не прочь делать больше, получая меньше, если к зарплате давали опционы [ право получить за символическую сумму часть акций компании-работодателя, когда и если они будут в цене на рынке ].

Так что ты получил работу на сайте электронной коммерции, продающем запчасти, которые закупал у оптовиков и поставлял заказчикам. Ты попал как раз в гущу доткомовского бума, работая на компанию, которая воплощала в себя всё, чем была та эра:

  • Найти квази-легальную нишу, которая, возможно, и не существует
  • Эксплуатировать программеров, которые хотят быть на острие прогресса
  • Доход! однако недолго (необязательный пункт)
  • Продать или как-то еще распустить контору
  • Повторять сколько хочется или пока государство тобой не заинтересуется

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

Оказалось, что твоя контора на самом деле покупателям товар не отгружала. Она продавала товар на сайте и забирала деньги, но поставщику соответствующий заказ не отправлялся, разве что покупатель пригрозит судом. Для того времени это была приемлемая бизнес-модель, ну, сами понимаете, минус те вещи, которые незаконны.

Когда ты пришел на работу на следующий день, офис был абсолютно пуст, только в комнате с ксероксом был глава компании, его рукава были закатаны, и он кормил промышленный бумагоуничтожитель с лёгкостью человека, знаюшего большой в этом толк.

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

9:00 – 10:30 Собрание рабочей группы на предмет текущих вопросов
11:00 Полуденное собрание SCRUM
12:30 – 14:00 Собрание по поводу демонстрации продукта и его архитектуры
14:00 – 15:30 Турнир по Halo 3
16:00 – 18:00 Видео чат по Skype с индусскими коллегами из Бангалора

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

Три года прошло как один непрерывный день. Праздники и выходные, даже ночи, были искусственными образованиями, имеющими смысл лишь для прочих людей. Ты стал на 12 кг тяжелее и на одну девушку легче, и ни то, ни это никак не повлияло на твою работу. Ты взвалил на себя ответственность за успех компании, твоя кучка опционов подвигала тебя за пределы разумного в самоотдаче. Будущее богатство и признание стоят сегодняших усилий, по крайней мере, так ты говорил себе,.

И вот пришел день, когда продукт официально запущен, но что-то не слышно фанфар. Никакой премии. Нет чувства удовлетворенности. Это был просто тихий запуск с одним бета-пользователем. Ты не знал чем себя занять в этот день, просто сидел и периодически запускал запрос на базу, чтобы посмотреть что они там делают. Ответ: почти ничего. А то что они делают, делают не так. Они нашли глюки! Они нашли пути чтобы обойти все твои тщательно настроенные правила и валидации. Не потому что они были крутые хакеры… они были просто тупые. Они кликали на вещи, на которые не должны были кликать. Они вводили вещи, которые не должны были вводить. Они не читали простых инструкций. Они не слушали на тренинге. Они оскорбляли лично тебя тем, что так ужасно использовали твой софт.

В поле “Введите количество анализов:” они вбили “пять анализов”

В поле “Номер страховки: ” они ввели “у него ее нет, т.к. он нелегал”

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



Затем начались звонки из отдела продаж, с требованием объяснить, почему система такая кривая, и почему так долго писалось то, что явственно не работает.

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

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

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

(оригинал www.mcsweeneys.net/links/dreamjobs/dreamjobs5.html )

Примечание: там у автора серия про разные профессии. Ну, всё везде плохо заканчивается.

Windows Server 2003 включение автоматического входа в систему

  1. меню Пуск выберите команду Выполнить.
  2. В поле Открыть введите команду Regedt32.exe и нажмите клавишу ВВОД.
  3. Найдите в реестре следующий подраздел:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
  4. Дважды щелкните параметр DefaultUserName, введите имя пользователя и нажмите кнопку ОК.
  5. Дважды щелкните параметр DefaultPassword, введите пароль и нажмите кнопку ОК.Примечание. Если параметр DefaultPassword отсутствует, создайте его. Чтобы создать параметр, выполните указанные ниже действия.

    1. В меню Правка выберите последовательно команды Создать и Строковый параметр.
    2. Введите DefaultPassword и нажмите клавишу ВВОД.
    3. Дважды щелкните параметр DefaultPassword.
    4. В окне Изменение строкового параметра введите пароль и нажмите кнопку ОК.
    Примечание. Если значение параметра DefaultPassword не задано, система автоматически изменяет значение параметра AutoAdminLogon с 1 (true) на 0 (false), тем самым отключая автоматический вход.
  6. В меню Правка выберите последовательно команды Создать и Строковый параметр.
  7. Введите AutoAdminLogon и нажмите клавишу ВВОД.
  8. Дважды щелкните параметр AutoAdminLogon.
  9. В окне Изменение строкового параметра введите значение 1 и нажмите кнопку ОК.
  10. Закройте редактор реестра.
  11. Нажмите кнопку Пуск, выберите пункт Завершение работы и введите причину в поле Примечание.
  12. Нажмите кнопку ОК, чтобы выключить компьютер.
  13. Перезагрузите компьютер. Теперь вход в систему выполняется автоматически.