Углубленное руководство по настройке сетевого стека Linux

Давно искал что-то подобное, и вот оно случилось!

Статья на хабре: https://habrahabr.ru/company/mailru/blog/314168/

Статья на англицком, но с картинками! http://blog.packagecloud.io/eng/2016/10/11/monitoring-tuning-linux-networking-stack-receiving-data-illustrated/

 

VNC server проблема с поддержкой шифрования.

Сегодня срочно потребовалось зайти удаленно на десктоп с убунтой 14.04. Такое бывает крайне редко, последний раз пару лет назад, но на всякий случай стандартный vnc сервер у меня всегда включен.

С первой попытки зайти не удалось, vnc-viewer жаловался на какие то проблемы с протоколом 3.3. Другим клиентом зайти тоже не удалось. Вторая Ultravnc сказала «Error no security type suitable for rfb 3.3 supported».

 

Решить эту фигню можно только с помощью заклинания в консоли:

gsettings set org.gnome.Vino require-encryption false

которое отключить нафиг шифрование.

P.S.

Если попытаться выполнить эту команду удаленно (например по ssh с другого хоста), то в ответ получишь:

(process:12024): dconf-WARNING **: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY

решается эта беда с помощью такого скрипта (спер отседа: http://askubuntu.com/questions/457016/how-to-change-gsettings-via-remote-shell):


#!/bin/bash

# Remember to run this script using the command «source ./filename.sh»

# Search these processes for the session variable
# (they are run as the current user and have the DBUS session variable set)
compatiblePrograms=( nautilus kdeinit kded4 pulseaudio trackerd )

# Attempt to get a program pid
for index in ${compatiblePrograms[@]}; do
PID=$(pidof -s ${index})
if [[ «${PID}» != «» ]]; then
break
fi
done
if [[ «${PID}» == «» ]]; then
echo «Could not detect active login session»
return 1
fi

QUERY_ENVIRON=»$(tr ‘\0’ ‘\n’ < /proc/${PID}/environ | grep «DBUS_SESSION_BUS_ADDRESS» | cut -d «=» -f 2-)»
if [[ «${QUERY_ENVIRON}» != «» ]]; then
export DBUS_SESSION_BUS_ADDRESS=»${QUERY_ENVIRON}»
echo «Connected to session:»
echo «DBUS_SESSION_BUS_ADDRESS=${DBUS_SESSION_BUS_ADDRESS}»
else
echo «Could not find dbus session ID in user environment.»
return 1
fi

return 0

в моем случае, я сохранил его в файл discover.sh (естесстевнно нужно ему chmod +x сделать), и запустил командой:


. ./discover.sh unity

именно точка, потом пробел, и затем путь к скрипту.
При этом на удаленном хосте должна быть запущена сессия unity, иначе фокус не получится.

В ответ он должен выплюнуть что-то вроде:

Connected to session:
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-rJBfi5qWpb

Как все это работает, читай по ссылке, в оригинале.

Java: распределенные вычисления

Просмотрел сейчас запись выступления Алексея Рагозина на встрече jug.ru от 12.12.13, интересные вещи рассказывает, не вольно поймал себя на мысли, что ищу варианты, чего бы распределенно посчитать. Кроме перебора забытого пароля на rar архив, ничего не придумалось.

В общем рекомендую к просмотру.

 

Неожиданное поведение tcpdump при перехвате пакетов из бриджа

Случайно обнаружил такое свойство tcpdump: если у вас есть бридж, в котором бегают пакеты не адресованные вам (грубо говоря на бридж зеркалируеться траффик адресованный не вам), то при попытке сделать

tcpdump -ne vlan 9

программа не видит пакетов.

Если же записать дамп в файл (без указания vlan), а потом просмотреть его

tcpdump -r dump.file vlan 9

то все работает, и исправно показывает.

Проверялось на Ubuntu 12.04.

Кстати еще убил немало времени разбираясь почему tcpdump не пишет дамп файлы в папку /opt (на самом деле в любую отличную от /home, /var и т.д.), оказалось, что для tcpdump по умолчанию включен apparmor в enforce.

А еще в Ubuntu 12.04 по умолчанию включен apparmor, и tcpdump не хочет писать файлы например в /opt.

Что бы снять ограничение нужно перевести профиль для tcpdump в режим complain, как это сделать я писал здесь: http://pustovoi.ru/2009/778

Тест Тьюринга и мальчик из одессы

Тут новость проскочила (http://habrahabr.ru/post/225599/), что чей то бот успешно прошел тест Тьюринга на Turing Test 2014 в Лондоне. 33% судей поверили что разговаривают с 13ти летним мальчиком из Одессы.

Самое интересное как водится — в комментариях. Например:

ААА> Как думаете, будут ли использовать подобных персонажей в чатах для отлова педофилов? Насколько знаю, сейчас этот процесс довольно ресурсоёмок, т.к. напрямую зависит от людей: специально обученный человек общается, а за фото-видео подтверждение отвечает генерируемое в реальном времени изображение ребёнка.

BBB> Отловил робот-ребёнок в сети педофила, а тот — тоже робот!

CCC> Отловил робот-ребёнок в сети педофила, а тот — IBM Watson.

или вот:

Ой, я вас умоляю! Сразу видно, что эти судьи никогда не были в Одессе!

Потому что каждый, кто был в Одессе, прекрасно знает, что тринадцатилетний сын гинеколога по фамилии Гусман никогда бы не стал с ними разговаривать.

Потому что, во-первых, мама его учила не разговаривать с незнакомыми, во-вторых, он в этом возрасте должен не в интернете сидеть, а играть на скрипке и, в-третьих, что он с этого таки будет иметь?

Так что тоже мне тест Тьюринга, можно подумать!

Наши победили

В ежегодном соревновании хакеров iCTF 2013.

Подробности тут: http://safe.cnews.ru/news/top/index.shtml?2013/12/10/552880

 

Интересен формат проведения соревнования:

Международные соревнования iCTF проводятся по модели Capture The Flag («Захват флага»). Каждая команда получает свою виртуальную сеть, в которой работают 10 одинаковых сервисов с неизвестными для команд уязвимостями. Участникам необходимо найти уязвимости в сервисах, создать атакующие программы (эксплойты) для найденных уязвимостей и атаковать противников с их помощью. Таким образом, командам приходится одновременно работать над защитой собственной сети и атакой конкурентов.Подробнее: http://safe.cnews.ru/news/top/index.shtml?2013/12/10/552880

Побольше бы таких новостей.

Терминология Cisco NAT

Нашел отличный ответ на вопрос: «в чем разница команд ip nat inside и ip nat outside?»

 

Маршрутизатор делит всю сеть на две части: INSIDE и OUTSIDE.
Это разделение задаётся командами на интерфейсах маршрутизатора:

(config-if)#ip nat inside
(config-if)#ip nat outside

Адреса всех устройств в сети, подключённой к первому интерфейсу будут с точки зрения маршрутизатора INSIDE, ко второму — OUTSIDE.

INSIDE LOCAL — это реальный IP-адрес сетевого устройства в сети INSIDE.
OUTSIDE GLOBAL — это реальный IP-адрес сетевого усвтройства в сети OUTSIDE. Читать

Как разрешить traceroute c помощью iptables

Недавно, выяснил, что для работы таких утилит как traceroute и tracepath, недостаточно разрешенного ipmp.

Т.е. в ситуации когда вы сидите за линуксовым шлюзом, на котором все «ненужные» адреса, порты и протоколы закрыты, разрешения натить icmp от пользователя в инет не достаточно, что бы работали трассировщики.

Оказывается, что для трассировки используется не только icmp, но и UDP. Т.е. что бы разрешить пользователям трассировать маршрут, нужно сделать что-то вроде

iptables -A FORWARD -i eth0 -p udp -m udp --dport 33434:33523 -j ACCEPT

Т.е. для трассировки требуется пропускать UDP пакеты на порты с 33434 по 33523.

 

 

История создания электронной почты

Электронная почта как средство коммуникации возникла не в 1971 г., как об этом нередко можно прочитать в популярных изданиях, а несколько раньше. По одной из версий, это произошло летом 1965 г., когда Ноэль Моррис и Том ван Влек написали в Массачусетском технологическом институте (MIT) программу MAIL для операционной системы Compatible Time-Sharing System (CTSS), установленной на компьютере IBM 7090/7094. Идея включения MAIL в CTSS была закреплена в документе Programming Staff Note 49 (декабрь 1964 — январь 1965 г.). Сама команда MAIL, встроенная в операционную систему, позволяла пользователям CTSS передавать друг другу текстовые сообщения в рамках одного компьютера. Она имела формат:

MAIL <код проблемы> <код программиста>

(пример: MAIL M1416 2962), Читать

Срок за кражу паролей от MMORPG

В Московской области осужден геймер-хакер, похищавший пароли для доступа к платным играм с помощью вирусной рассылки шпионских программ. Установлено, что молодой человек рассылал другим пользователям Интернета через различные сервисы файлы с вредоносными программами. Если получатель открывал присланный файл, на его компьютере автоматически устанавливался вирус-шпион. С ее помощью хакер получал пароли доступа к платным интернет-играм. Раменский городской суд признал 28-летнего местного жителя Дмитрия Шашкина виновным в совершении преступлений по части второй статьи 272 Уголовного кодекса (неправомерный доступ к компьютерной информации) и по второй части статьи 273 (использование вредоносных компьютерных программ). Подсудимый полностью признал свою вину, раскаялся и ходатайствовал о рассмотрении уголовного дела в особом порядке. Суд приговорил его к 8 месяцам ограничения свободы.

отсюда: http://uinc.ru/news/sn20485.html