В наше время шифровать нужно все. Перед тем, как залить бэкапы в облако Amazon’а, они должны быть зашифрованы. Ваш домашний каталог в системе должен быть зашифрован на случай кражи ноутбука. Даже базу данных нередко имеет смысл хранить в зашифрованном разделе на случай, если вы не доверяете вашему ДЦ, или допускаете, что кто-то может прийти и забрать из стойки ваш сервер. Сегодня мы рассмотрим одно из возможных решений подобных проблем во FreeBSD.

Вопреки распространенному заблуждению, IRC-сети все еще пользуются большой популярностью. Это своего рода токая секретная социальная сеть, где онлайн постоянно зависают сотни тысяч IT-специалистов со всего мира. И это в одном только FreeNode! Так вот, для людей, недавно открывших для себя IRC, довольно сложной является концепция каких-то там баунсеров. Сегодня мы познакомимся с с одним из таких баунсеров под названием ZNC, и выясним, что пользоваться им очень просто.

Когда-то давно мы настраивали фаервол в Linux с помощью iptables. При этом отмечалось, что утилиту iptables я нахожу исключительно неудобной по сравнению с FreeBSD’шным ipfw. Сегодня мы наконец-то познакомимся с этим ipfw и постараемся ответить на вопрос, действительно ли он удобнее. Отмечу, что на момент написания этих строк FreeBSD предлагает аж три фаервола на выбор — ipfw, pf и ipf. Однако по моим представлениям из них ipfw используется чаще всего.

Данный пост представляет собой небольшую шпаргалку по сканеру портов Nmap, а также утилитам, идущим с ним в комплекте — Ncrack, Ncat, Ndiff и Nping. Уметь пользоваться Nmap полезно не только злобным хакерам, но и системным администраторам, а также devops. Как еще, например, проверить, не осталось ли в системе лишних открытых портов? Или избавиться от сигнатур, по которым можно удаленно определить используемую на сервере ОС? Как обычно, здесь мы рассмотрим самые основные параметры и флаги, а более подробную информацию всегда можно найти в man.

Я несколько раз сталкивался с тем, что даже неглупые в общем-то люди делают совершенно непростительные ошибки. Например, открывают всему интернету порт, на котором крутится база данных. Часто так бывает у начинающих DevOps, которые всю жизнь писали код, а теперь в их обязанности входит еще и настройка серверов. В сети есть хорошие туториалы по базовой настройке фаервола в Linux и других *nix, но часто это простыни на множество экранов. Так что, надеюсь, этот более лаконичный туториал кому-нибудь пригодится.

Как мы совсем недавно уже выясняли, есть целый ряд проблем, которые можно решить запихиванием приложений в Docker-контейнеры, в том числе десктопных приложений. Никакой хакер не поломает вас через браузер. Настроенную систему можно быстро разложить у нового сотрудника или на своем новом ноуте. Всякий мусор, необходимый только одной программе, можно изолировать от остальной системы и снести одной командой. Никаких конфликтов зависимостей. Можно попытаться обновить программу, и если что-то в новой версии сломалось, просто перезапустить контейнер без коммита. Можно даже запускать браузер на одной машине, IDE на другой, а рулить всем этим с ноутбука, пробросив на него X11! Самое интересное, что запускать GUI приложения в Docker оказалось на удивление просто.

Постоянные читатели этого блога, скорее всего, уже пару-тройку раз в своей жизни настраивали OpenVPN. Но думается, что новичкам данная заметка будет интересна и полезна. Из нее вы узнаете, как за пять минут поднять собственный VPN сервер, а также зачем он, собственно, нужен. Ну хорошо, учитывая время на регистрацию в каком-нибудь Amazon’е, DigitalOcean, Vscale.io или FastVDS и оплату VDS, пожалуй, потребуется не пять минут, а «целых» пятнадцать.

На этих выходных я решил, что что-то больно давно не ставил апдейтов. Ну и решил поставить. Помимо прочего apt-get закачал новую версию JVM. Что интересно, непосредственная установка происходит где-то в недрах пакета oracle-java8-installer, в postinst или вроде того. Поэтому apt-get неправильно определяет объем трафика, необходимый для скачивания апдейтов. Однако поведать я хотел не об этом.

Если вдруг вы все пропустили, сообщаю, что в октябрьском конкурсе по ФП была занятная задачка про генерацию криптографических ключей. На сам конкурс я забил, а вот описанный метод шифрования показался мне очень интересным. Почему-то ранее мне не доводилось о нем слышать.

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