Linux для всех → GrSecurity/PaX: предустановленные security level
(Статья для тех, кто уже в теме. Остальным будет интереснее сначала почитать мои предыдущие статьи про Hardened Gentoo: описание, установка, настройка, впечатления.)
Речь пойдёт про настройку GrSecurity/PaX (я дал русскоязычные ссылки, но англоязычные намного информативнее) в ядре линуха. Всё описанное актуально для Hardened Gentoo (ядро 3.1.5), но применимо в любом дистрибутиве (там не будет предустановленных Gentoo-шных security level workstation/server/virtualization, но по моему описанию в этой статье их легко будет реализовать вручную).
Кроме того я провёл небольшое тестирование производительности с целью определить насколько использование GrSecurity/PaX тормозит работу системы. Тесты проводились на Core2Duo в 32-битной OS в single user mode на компиляции ядра с -j3, бралось среднее значение user+sys по трём прогонам (скорость сборки ядра сравнивалась с эталонной: при отключенных GrSecurity и PaX в ядре и использовании обычного, не hardened, gcc).
Речь пойдёт про настройку GrSecurity/PaX (я дал русскоязычные ссылки, но англоязычные намного информативнее) в ядре линуха. Всё описанное актуально для Hardened Gentoo (ядро 3.1.5), но применимо в любом дистрибутиве (там не будет предустановленных Gentoo-шных security level workstation/server/virtualization, но по моему описанию в этой статье их легко будет реализовать вручную).
Кроме того я провёл небольшое тестирование производительности с целью определить насколько использование GrSecurity/PaX тормозит работу системы. Тесты проводились на Core2Duo в 32-битной OS в single user mode на компиляции ядра с -j3, бралось среднее значение user+sys по трём прогонам (скорость сборки ядра сравнивалась с эталонной: при отключенных GrSecurity и PaX в ядре и использовании обычного, не hardened, gcc).
JAVA → Высокопроизводительный NIO-сервер на Netty из песочницы
Преамбула
Здравствуйте. Я являюсь главным разработчиком крупнейшего в СНГ сервера Minecraft (не буду рекламировать, кому надо, те знают). Уже почти год мы пишем свою реализацию сервера, рассчитанную на больше чем 40 человек (мы хотим видеть цифру в 500 хотя бы). Пока всё было удачно, но последнее время система начала упираться в то, что из-за не самой удачной реализации сети (1 поток на ввод, 1 на вывод + 1 на обработку), при 300 игроках онлайн работает более 980 потоков (+ системные), что в сочетании с производительностью дефолтного io Явы даёт огромное падение производительности, и уже при 100 игроках сервер в основном занимается тем, что пишет/читает в/из сети.
Поэтому я решила переходить на NIO. В руки совершенно случайно попала библиотека Netty, структура которой показалась просто идеально подходящей для того, чтобы встроить её в уже готовое работающее решение. К сожалению, мануалов по Netty мало не только на русском, но и на английском языках, поэтому приходилось много экспериментировать и лазить в код библиотеки, чтобы найти лучший способ.
Здесь я постараюсь расписать серверную часть работы с сетью через Netty, может быть это кому-то будет полезно.
Информационная безопасность → Нифига себе сходил за хлебушком, или история одного взлома
Всё началось с того, что ко мне (как к фрилансеру) обратились за помощью и попросили настроить exim4 так, чтобы почтовая рассылка не попадала в спам. Даже заботливо ссылку прислали на замечательную статью.
Работы на пару часиков включая обновление DNS, но не тут то было. Залогинившись под рутом я включил свой любимый screen по привычке командой screen -x и лицезрел прелюбопытнейшее действо в любимой многими папке /dev/shm. Злоумышленник не удосужился прикрыть сессию screen, либо всё еще работал в ней. И тут начинается квест:
Первое, что я сделал — просмотрел, чем же занимался злоумышленник:
Работы на пару часиков включая обновление DNS, но не тут то было. Залогинившись под рутом я включил свой любимый screen по привычке командой screen -x и лицезрел прелюбопытнейшее действо в любимой многими папке /dev/shm. Злоумышленник не удосужился прикрыть сессию screen, либо всё еще работал в ней. И тут начинается квест:
Первое, что я сделал — просмотрел, чем же занимался злоумышленник:
Блог компании Runa Capital → $3M инвестиций в NGINX

Сегодня Runa Capital инвестировала в веб-сервер NGINX. В общей сложности NGINX привлек инвестиции на $3 млн, помимо Runa Capital в данном раунде приняли участие крупнейшие мировые фонды BV Capital и MSD Capital, частная инвестиционная компания Майкла Делла, председателя и генерального директора Dell Inc.
Речь идет о крупнейшем российском технологическом проекте. Нет ни одного софтверного продукта, сделанного в России, которым пользуется столь большое количество людей. NGINX поддерживает работу 43 миллионов веб-сайтов по всему миру, популярнее только автомат Калашникова (100 миллионов экземпляров) и Достоевский (80 миллионов книг). Проще говоря, речь о том, что NGINX сегодня и определяет образ России в мире, в той же степени, что США – с продукцией Майкрософт.
NGINX воплощает в себе миссию: помогать талантливым российским командам масштабировать свою технологию на международном уровне. В короткие сроки NGINX стал третьим по популярности веб-сервером, теперь перед нами стоит масштабная, но вполне реалистичная цель – превзойти на этом рынке веб-сервер Microsoft, а в будущем и Apache.
Но это далеко не все причины, по которым мы считаем эту сделку важнейшей в своей истории. Понять перспективы NGINX можно, если заглянуть в ближайшее будущее. Лет этак на десять-пятнадцать.
Но прежде, чем отправиться в будущее, давайте посмотрим, что нам известно об NGINX.

Игорь явно знает, каким будет будущее. (фото от Jekel)
Блог компании Websitepulse → Сетевая диагностика веб-сайта и сервера
Вам когда-либо было необходимо быстро протестировать Ваш веб-сайт, чтобы проверить, как загружается каждый компонент? Или, возможно, у вас была необходимость запустить управляемый traceroute, чтобы увидеть, почему вы получаете жалобы от своих клиентов в Европе (или какой-либо другой части мира)?С Test Tools теперь можно управлять одним или более тестами на веб-сайтах или серверах, в которых вы нуждаетесь, и получить результаты непосредственно от нашей базы данных. Ниже вы найдете типы тестов, которыми можете управлять используя наши инструменты:
Debian → Загрузка и установка Debian по сети для чайников из песочницы
Если вам нужно установить Debian на несколько машин, то, конечно, лучше загружать и устанавливать его по сети. Ну и хотелось бы, чтобы установка проходила в полностью автоматическом режиме. Об этом и будет статья. Основная часть статьи — это вольный пересказ вики дебиана, но так же здесь описано пара нюансов, о которых не сказано в вики, но без них установка не будет полностью автоматической.
.NET → Twitter бот на C# из песочницы
Здравствуйте, уважаемые пользователи Хабрахабра.
В этой статье я хочу рассказать вам об очень простом и полезном боте для Twitter, который поможет контролировать состояние Windows-сервера (Занятое место на дисках, процент загрузки CPU, RAM).
Предисловие
Я работаю системным администратором на одном консервном заводе. Так как фирма не профильная, приходится быть администратором и программистом в одном лице.
Причина создания этого бота — быстро заканчивающееся место на жестком диске сервера из-за ежедневных резервных копий баз 1С.
Я долго размышлял о возможных вариантах подобного контроля и пришёл к выводу, что Твиттер самое удобное решение для этого. Итак, от слова к делу.
Microsoft SQL Server → Обновление баз данных Microsoft SQL Server из песочницы
В данной статье я расскажу о процессе обновления баз данных Microsoft SQL Server и предложить программный продукт, который может использоваться при взаимодействии заказчика и исполнителя.
Системное программирование → Go Language. Небольшое клиент-серверное приложение из песочницы
Этот код написан с целью самообучения. Чтоб закрепить материал я решил немного прокомментировать проделанную работу.
Сразу скажу: на компилируемых языках не писал.
[к] — клиент
[c] — сервер
1. По установленному TCP соединению, [к] передает публичный ключ rsa.
2. При помощи принятого публичного ключа, [c] шифрует и отправляет сообщения [к]
3. [к] расшифровывает и выводит сообщения.
Вот как это выглядит в консоли:

Сразу скажу: на компилируемых языках не писал.
Что делает приложение
[к] — клиент
[c] — сервер
1. По установленному TCP соединению, [к] передает публичный ключ rsa.
2. При помощи принятого публичного ключа, [c] шифрует и отправляет сообщения [к]
3. [к] расшифровывает и выводит сообщения.
Вот как это выглядит в консоли:
