Как стать автором
Обновить
43
0.1

Пользователь

Отправить сообщение

Функциональное программирование для всех

Время на прочтение33 мин
Количество просмотров352K

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

Мнение переводчика может иногда не совпадать с мнением автора, но переводить статью было крайне занимательно.

UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Читать дальше →
Всего голосов 188: ↑181 и ↓7+174
Комментарии151

Упражнения по взлому Linux-систем

Время на прочтение2 мин
Количество просмотров16K
Для тех, кто интересуется вопросами безопасности и уязвимостями Linux, создан обучающий проект exploit-exercises.com с подборкой виртуальных Linux-машин, описаниями уязвимостей, документацией и практическими заданиями.

1. Виртуальная машина Nebula
торрент-файл
прямая ссылка

Самые общие уязвимости, связанные с эскалацией привилегий в Linux: это SUID-файлы, разрешения, состояние гонки (race conditions), метапеременные оболочки, уязвимости $PATH, уязвимости скриптовых языков, ошибки компиляции бинарных файлов.
Читать дальше →
Всего голосов 107: ↑102 и ↓5+97
Комментарии19

Пентест на стероидах. Автоматизируем процесс

Время на прочтение6 мин
Количество просмотров45K
С данной темой доклада я выступал на CodeFest. А здесь я перескажу словами, что, как и зачем.


Доклад довольно поверхностный и не требует практически никакой квалификации в области ИБ. Был рассчитан на целевую аудиторию (веб-разработчики, тестировщики (не на проникновение), сисадмины и т.д.). Все довольно просто: несколько утилит, запустили, подождали, разбираем отчет.

Видеоприглашение на конференцию:

Читать дальше →
Всего голосов 82: ↑75 и ↓7+68
Комментарии18

Создание msi-пакетов и установка любого ПО средствами групповых политик Windows

Время на прочтение4 мин
Количество просмотров278K
Доброго времени суток, Хабр! Хочу представить интересный, по моему мнению, способ создания msi-инсталляторов для любого программного обеспечения и, как следствие, развертывание его средствами GPO. Подчеркну, что описанный метод не подразумевает создание «слепков» системы, а использует нативные инсталляторы софта, при чем для создания msi применяются только бесплатные для коммерческого использования продукты.
Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии26

Водяное охлаждение своими руками: теория и практика

Время на прочтение5 мин
Количество просмотров325K
В этой статье я постараюсь рассказать о своей попытке изготовить систему водяного охлаждения для процессора в домашних условиях. При этом опишу основные моменты и технические тонкости на примере собственного опыта. Если вам интересно подробное иллюстрированное руководство по изготовлению, сборке и установке такой системы, то добро пожаловать под кат.

Трафик, много картинок! Видео процесса изготовления в самом низу.

Читать дальше →
Всего голосов 72: ↑57 и ↓15+42
Комментарии70

Обнаружение местоположения хоста в неуправляемой сети

Время на прочтение4 мин
Количество просмотров16K
Я хочу продемонстрировать решение задачи, которое большинством «сетевиков» считается невозможной в принципе. Речь идет о вычислении физического местоположения хоста в неуправляемой сети. Под неуправляемой сетью подразумевается сеть на неуправляемых коммутаторах, а под определением местоположения — ответ:

«такой-то хост подключен к свичу, который находится здесь»

Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии29

Emacs для начинающих: введение

Время на прочтение4 мин
Количество просмотров23K

Ist das Emacs? Sehr gut!



Начну с небольшой истории. Лет так 15 назад ездил я на подработку сисадмином программистом в славный городе Mannheim, West Germany. Когда я приехал на работу и развернул своё рабочее окружение, большинство дойчей вообще не сильно поняли в чём я работаю, а вот директор конторы сразу мне сказал: «Ist das Emacs? Sehr gut!», добавив также что никто кто из текущих программистов не смог его освоить. А по честному, не такой уж я особенный — мне просто повезло: готовый конфиг мне дал один добрый человек, и помог мне разобраться с редактором на первых шагах. Я, в свою очередь хочу поделиться своим опытом с остальными, и решил сделать серию статей для начинающих и не очень, с рассмотрением разных полезных фич emacs.

В этой статье я также хочу пошатнуть сложившийся миф — что Emacs — сложный в работе/настройке редактор. Я считаю, что правильно начав, процесс изучения не будет сложным, и надеюсь, доставит Вам массу удовольствия от использования удобного, мощного и быстрого инструмента как в работе так в жизни.
Читать дальше →
Всего голосов 60: ↑56 и ↓4+52
Комментарии134

SSH-туннели — пробрасываем порт

Время на прочтение2 мин
Количество просмотров430K
Не всегда есть возможность, да и не всегда надо, строить полноценный туннель с интерфейсной парой адресов. Иногда нам нужно лишь «прокинуть» вполне определённые порты.

Тут важно понимать, что туннель можно организовать как изнутри сети, к ресурсам которой вы хотите получить доступ, на внешний ssh-сервер. Также можно организовать туннель с хоста в Интернете на пограничный ssh-сервер сети, чтобы получить доступ к внутренним ресурсам.
Читать дальше →
Всего голосов 93: ↑68 и ↓25+43
Комментарии80

Атака на беспроводные сети. Чуть меньше теории и чуть больше практики

Время на прочтение6 мин
Количество просмотров313K
image
В общих чертах теорию и процесс атаки хорошо описал юзер n3m0 в своих статьях «Атаки на беспроводные сети», поэтому я не буду заострять внимание на многих теоретических моментах.
Я же хочу описать самые простейшие способы обхода защиты, но более подробно.
Читать дальше →
Всего голосов 199: ↑189 и ↓10+179
Комментарии103

Хакинг и модинг ASUS WL500G Premium

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

image
Читать дальше →
Всего голосов 170: ↑166 и ↓4+162
Комментарии177

Windows Installer: то, что вендор прописал

Время на прочтение6 мин
Количество просмотров32K
Продолжая тему работы с Windows Installer, сегодня предлагаю поговорить о готовых инсталляторах, предоставляемых производителями ПО – для их обозначения широко применяется термин «vendor MSI».

Как вы помните из прошлой статьи, Windows Installer является промышленным стандартом установочных файлов и используется в большинстве систем развертывания приложений. Vendor MSI очень удобны для системных администраторов, занимающихся развертыванием ПО в корпоративных сетях. Казалось бы, достаточно взять из документации установочные параметры, использовать их в командной строке или трансформе – и дело сделано. Всё ли так просто?

Предлагаю заглянуть внутрь нескольких vendor MSI и разобраться с их устройством.
Читать дальше →
Всего голосов 29: ↑24 и ↓5+19
Комментарии8

Приручаем Windows Server Core

Время на прочтение3 мин
Количество просмотров140K
Сегодня я хотел бы познакомить читателя с Windows Server Core 2008 R2.

Как показывают мои личные наблюдения, многие администраторы его боятся. Причина проста: в головах прочно засело Windows=GUI, а вот GUI-то в нем как раз и нет. Как следствие все воспринимают Server Core как «не такой» Windows. Он действительно не такой, но ничего страшного в нем нет. Более того, в нем есть свои плюсы и прелести. Из очевидных — экономия ресурсов. Из не очевидных — отсутствие возможности тыкать во все места дисциплинирует и заставляет разбираться в том что хочешь сделать.

Меньшая требовательность к ресурсам позволяет эффективнее распределять оные при виртуализации серверов.
Поясню:
Есть, положим, сервер (не важно физический или виртуальный). На нем Windows Server 2008R2, AD (не основной контроллер), WSUS. Чтобы это хоть как-то ворочалось минимум нужно 2GB памяти. Вместо него можно сделать две виртуалки с Server Core, на одной AD, на второй WSUS. При этом обе эти виртуалки будут жить с полугигом памяти и прекрасно себя чувствовать. При этом лишаемся мы только GUI, которым я, например, и так не пользуюсь практически, по крайней мере с консоли сервера.
Читать дальше →
Всего голосов 48: ↑40 и ↓8+32
Комментарии72

Потерянная группа. Выясняем назначение «странных» групп в AD

Время на прочтение5 мин
Количество просмотров12K
Доброе время суток, хабраграждане!

Спешу с Вами поделиться одной из своих вещиц, которые были призваны облегчить работу мне, как системного администратора, который разбирается в, доставшимся ему по наследству, хламе в Active Directory.
Самые проблемные из доставшегося добра, по моему мнению, это группы. О них и пойдет речь в данной статье.
А именно: заходим в Active Directory, бороздим просторы подразделений и видим группы, совершенно с безликими названиями (например Ugin, Vassa, Opel, www etc) и без описания. Внимание вопрос: определите для чего нужны эти группы.
Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Комментарии5

Архитектура Router-on-a-Stick в сети передачи данных

Время на прочтение4 мин
Количество просмотров58K
Если вы испытываете нехватку физических портов на оборудовании сети передачи данных, в то время как перед вами встала острая необходимость завести второго интернет-провайдера или вывести часть серверов в ДМЗ используя оборудование Cisco Systems, тогда эта статья должна помочь с решением многим начинающим системным администраторам, а также тем, кто недавно приступил к работе с сетями передачи данных и с оборудованием Cisco в частности. Речь пойдет об архитекторе под названием Router-on-a-Stick.

Подобному тому, как коммутатор может разделить локальную сеть на множество VLAN, так и маршрутизатор может использовать один физический интерфейс для создания подмножества логических виртуальных интерфейсов и обеспечить маршрутизацию данных, видео или голоса между ними.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии12

Некоторые умозаключения об IP-телефонии — основной цифровой сигнал, кодеки, полоса пропускания

Время на прочтение6 мин
Количество просмотров43K
Приветствую вас, друзья!

В ходе изучения материалов к экзамену CCNA Voice родилась идея оформить некоторую полученную информацию в виде отдельной статьи. Преследуя при этом две цели: одна корыстная — получше самому разобраться в изучаемом материале и разложить всё по полочкам в своём сознании; вторая альтруистическая — поделиться полученными знаниями с теми, кому это мало мальски интересно.

В статье поведаю о процессах кодирования голоса, кодеках как таковых и расчётах полосы пропускания, необходимой для передачи голоса в IP-сетях
Дальше - суть
Всего голосов 26: ↑25 и ↓1+24
Комментарии26

DNS сервер BIND (теория)

Время на прочтение21 мин
Количество просмотров493K
Основная цель DNS — это отображение доменных имен в IP адреса и наоборот — IP в DNS. В статье я рассмотрю работу DNS сервера BIND (Berkeley Internet Name Domain, ранее: Berkeley Internet Name Daemon), как сАмого (не побоюсь этого слова) распространенного. BIND входит в состав любого дистрибутива UNIX. Основу BIND составляет демон named, который для своей работы использует порт UDP/53 и для некоторых запросов TCP/53.

Основные понятия Domain Name System


Исторически, до появления доменной системы имен роль инструмента разрешения символьных имен в IP выполнял файл /etc/hosts, который и в настоящее время играет далеко не последнюю роль в данном деле. Но с ростом количества хостов в глобальной сети, отслеживать и обслуживать базу имен на всех хостах стало нереально затруднительно. В результате придумали DNS, представляющую собой иерархическую, распределенную систему доменных зон. Давайте рассмотрим структуру Системы Доменных Имён на иллюстрации:
Читать дальше →
Всего голосов 110: ↑102 и ↓8+94
Комментарии24

Резервное копирование данных в MySQL

Время на прочтение5 мин
Количество просмотров151K
Резервное копирование базы данных — это такая штука, которую вечно приходится настраивать для уже работающих проектов прямо на «живых» production-серверах.
Подобная ситуация легко объяснима. В самом начале любой проект еще пуст и там просто нечего копировать. В фазе бурного развития головы немногочисленных разработчиков заняты исключительно прикручиванием фишек и рюшек, а также фиксом критических багов с дедлайном «позавчера». И только когда проект «взлетит», приходит осознание, что главная ценность системы — это накопленная база данных, и её сбой станет катастрофой.
Эта обзорная статья — для тех, чьи проекты уже достигли этой точки, но жареный петух ещё не клюнул.
Читать дальше →
Всего голосов 88: ↑84 и ↓4+80
Комментарии52

Help, my database is corrupt. Now what?

Время на прочтение12 мин
Количество просмотров39K
Поврежденная база данных — это, наверное, один из худших ночных кошмаров большинства администраторов баз данных. Результатом повреждения являются простои, вопли менеджеров и всякие другие неприятные штуки.
В этой статье я объясню что нельзя делать с поврежденной базой данных и опишу кое-что из того, что должно быть сделано, некоторые виды повреждений и как их можно исправить.

Как обнаружить, что база данных повреждена


Обычно повреждения превосходно обнаруживаются при попытке доступа к поврежденной странице. Запросы, бэкапы или процедуры реиндексации завершаются ошибками с высокими уровнями серьезности.
Вот пара примеров системных сообщений при обнаружении повреждения БД:
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xfdff74c9; actual: 0xfdff74cb). It occurred during a read of page (1:69965) in database ID 13 at offset 0x0000002229a000 in file 'D:\Develop\Databases\Broken1.mdf'.
Attempt to fetch logical page 1:69965 in database 13 failed. It belongs to allocation unit 72057594049069056 not to 281474980642816.
Основная проблема заключается в том, что если проверки целостности базы данных не производятся на постоянной основе, то повреждение может быть обнаружено спустя часы, дни и даже месяцы, после того, как оно образовалось, в тот момент, когда уже сложно будет что-то исправить.
Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии15

Еще несколько слов о Path MTU Discovery Black Hole

Время на прочтение14 мин
Количество просмотров147K

Еще несколько слов о Path MTU Discovery Black Hole



Вместо вступления


Однажды для каждого настоящего системного администратора (или исполняющего обязанности такового) наступает момент истины. Ему выпадает судьба настроить маршрутизатор на компьютере с установленной ОС GNU/Linux. Те, кто это уже прошел, знают, что ничего сложного в этом нет и можно уложиться в пару команд. И вот наш админ находит эти команды, вбивает их в консоль и гордо идет к пользователям сказать, что уже все работает. Но не тут-то было – пользователи говорят что их любимые сайты не открываются. После траты некоторой части своей жизни на выяснение подробностей обнаруживается, что большая часть сайтов ведет себя следующим образом:
1. При открытии страницы загружается заголовок и больше ничего;
2. В таком состоянии страница висит неопределенно долгое время;
3. Строка статуса браузера все это время показывает что загружает страницу;
4. Пинги и трассировка до данного сайта проходят нормально;
5. Соединение по telnet на 80 порт тоже проходит нормально.
Обескураженный админ звонит в техподдержку провайдера, но там от него быстро избавляются, советуя попробовать настроить маршрутизатор на OC Windows, а если уж и там не работает тогда… купить аппаратный маршрутизатор.
Я думаю, эта ситуация знакома многим. Некоторые в нее попадали сами, у кого-то с ней сталкивались знакомые, а кто-то встречал таких админов на форумах и прочих конференциях. Итак: если у Вас Такая Ситуация, то — Поздравляю! Вы столкнулись с Path MTU Discovering Black Hole. Данная статья посвящается тому, отчего это бывает, и как решить эту проблему.

Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии22

Сделаем TCP быстрее

Время на прочтение2 мин
Количество просмотров24K
Компания Google опубликовала ряд рекомендаций, как уменьшить задержку (latency) для TCP-соединений между веб-сервером и браузером. В этих рекомендациях обобщаются исследования, которые компания вела в течение нескольких лет.

1. Увеличьте первоначальный размер congestion window до 10 (IW10). Сейчас в начале TCP-соединения отправляется три пакета данных в три раунда (RTT) для передачи небольшой информации (15 КБ). Наши эксперименты показывают, что IW10 уменьшает сетевую задержку для веб-соединений более чем на 10%.

2. Уменьшите первоначальный таймаут с 3 секунд до 1 секунды. RTT в 3 секунды был приемлем пару десятилетий назад, но в современном интернете нужен гораздо меньший таймаут. Наше обоснование для этого хорошо задокументировано здесь.
Читать дальше →
Всего голосов 107: ↑97 и ↓10+87
Комментарии32

Информация

В рейтинге
3 220-й
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность