Ответы пользователя по тегу Linux
  • Реально ли имплементировать ospfv2 на linux?

    @throughtheether
    human after all
    Так вот вопрос - насколько это реально сделать?
    Думаю, вполне реально. Особенно учитывая, что есть такие проекты, как Zebra или Quagga.
    Ответ написан
    Комментировать
  • Как в wireshark выделить определенные пакеты и сохранить их в файл?

    @throughtheether
    human after all
    Если имеет смысл фильтровать трафик на этапе захвата, следует, простите за капитанство, воспользоваться фильтрами захвата (berkeley packet filter), ссылку вам предоставил Автандил Тридварасoв .

    Если уже есть снятый дамп, который необходимо отфильтровать, то вам нужны фильтры отображения (display filters). В случае DNS вводите строку "dns" без кавычек в поле Filter, затем File -> Export specified packets..., в появившемся окне Packet range: радиокнопка Displayed.
    Ответ написан
    Комментировать
  • Как выявить почему не выделяется IP-адрес для Raspberry Pi, подключенного к LAN-порту роутера?

    @throughtheether
    human after all
    UPD:
    Прошу прощения, при написании первоначального ответа невнимательно прочитал текст вопроса.

    Как проверить что происходит без подключения к монитору?
    Вы можете подсоединить ноутбук к маршрутизатору (в один из коммутируемых портов) и при помощи анализатора трафика (wireshark, tcpdump) посмотреть, отсылает ли Raspberry PI сообщения DHCPDISCOVER (они рассылаются широковещательно). Если нет - то проблема где-то на самом устройстве. Если да - надо будет далее анализировать DHCP-трафик и настройки DHCP-сервера (и, вероятно, клиента).
    Ответ написан
  • Как настроить UDP в Linux?

    @throughtheether
    human after all
    делает трассировку через UDP и посылает каждую секунду 10 ICMP запросов
    Не понял, если трассировка при помощи UDP, при чем тут ICMP запросы (не ответы Time Exceeded)?

    По теме, см. мое мнение по подобному вопросу:
    Проверьте параметры ядра:
    /proc/sys/net/ipv4/icmp_ratelimit
    /proc/sys/net/ipv4/icmp_ratemask
    /proc/sys/net/ipv4/icmp_msgs_per_sec
    /proc/sys/net/ipv4/icmp_msgs_burst
    Ответ написан
  • Какие методы противодействия Ddos атакам существуют, что вообще есть по теме полезного?

    @throughtheether
    human after all
    В нижеследующих параграфах под DDoS-атакой я буду подразумевать высокоинтенсивный флуд, если не указано иного. В общем смысле это неверно, но по определенным причинам такой подход довольно популярен.

    Конечно, скачать какую-нибудь программу с хакир.ру и нажать на кнопку особого ума не надо, но где они берут ботнет? Для меня это загадка. Это первый пунктик, который я не могу понять. Сами собирают? Это не быстро, не безопасно и не просто.
    Иногда бывает, что многие люди одновременно сами осознанно запускают "вредоносную" программу (см. hacktivism, loic и прочая), т.е. ботнет не нужен. Иногда бывает (amplification attacks), что достаточно десятков скомпроментированных серверов (у них пропускная способность выше), чтобы сгенерировать несколько гигабит/c трафика, которые затем многократно умножатся и придут к жертве.

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

    Вторая философская загадка кроится в том, что вроде как защита есть, можно запросы фильтровать, перенаправлять и вообще нагрузки на разные сервера распределять, но в то же время канал не резиновый все равно и при желании большими объемами трафика можно положить что угодно, даже фэйсбук, и куда после этого постить фотографии кота? Т.е. под большими объемами уязвимы все.
    Скажем так, чтобы к жертве пришло N гигабит/с трафика,их должен кто-то сгенерировать. Поэтому чем более сконцентрирована цель и чем более "распределен" атакующий, тем больше вероятность успешной атаки. И наоборот.

    1. Как понять что тебя ддосят, если твой сервер лежит и не отвечает? мало ли что там может быть такого убаюкивающего для него. Как понять, что идет именно ддос?
    При помощи внятного заранее настроенного мониторинга. Необходимо заранее рассмотреть возможные варианты атаки, спрогнозировать (смоделировать) их влияние на оперативно отслеживаемые метрики (утилизация каналов в bps/pps, утилизация CPU, поведение веб-сервера или сервера приложений), иметь отдельную консоль (в смысле dashboard) со всему релевантными метриками, уметь их правильно истолковать.

    2. Что можно сделать самому на сервере, чтобы максимально быть готовым к ддосу? Кроме правил iptables есть ли еще какие-то фичи?
    Разрешить только рабочий трафик, запретить весь остальной. Организовать out-of-band доступ к серверам/инфраструктуре. С моей точки зрения, стоит стремиться к тому, чтобы рабочий сервер мог в штатном режиме обработать трафик, утилизирующий всю его канальную емкость.

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

    4. если я купил много прокси серверов и провожу ддос атаки на свой с целью проверить нагрузки и отказоустойчивость, это я тоже закон нарушил? Ботнет же, атаки во все поля....
    Опять же ничего не могу сказать касательно законности подобных действий. Намекну, если неизвестный аноним, соблюдая минимальные предосторожности, заказал двум-трем популярным DDoS-сервисам [тестовую] атаку на вашу инфраструктуру, то вы-то тут при чём?

    5. Отслеживается ли вообще активность таких атак как-то по сети? Не зря же китайцы фаервол себе захерачили, наверное отслеживается? Почему тогда школьников не попересажали еще, вероятно, отслеживается плохо?
    Подобная активность, насколько мне известно, в основном отслеживается профильными организациями (например, Arbor networks). Касательно второго и третьего вопросов ничего не могу сказать.

    6. Как ведут себя провайдеры? им проще клиента отключить, как я понимаю, верно? Но если ДНС прописаны на сервера хостинг провайдера, как его не выброси, атаки пойдут именно туда. Все равно придется фильтровать как-то... Как вообще борятся с атаками хостинги и провайдеры? Не сидят же они сложа руки?
    Если трафик до клиента представляет угрозу работоспособности хостинга в целом (например, вследствие чрезмерной утилизации аплинков), то трафик до него, как правило, блокируется (вручную при помощи ACL на оборудовании вышестоящего провайдера, при помощи BGP blackhole и т.д.). При наличии, может использоваться специализированное оборудование.

    Ну и любые советы, книги, статьи по данному направлению приветствуются.
    Особенно интересны методы защиты.

    Статьи:
    www.incapsula.com/blog
    https://blog.cloudflare.com/
    www.arbornetworks.com/asert
    www.arbornetworks.com/resources/media-library/ente...
    nsfocusblog.com/tag/anti-ddos
    www.team-cymru.org/articles.html
    Некоторые технологии, полезные для защиты: BGP Anycast, BGP RTBH, BGP flowspec, BPF. В области L7-анализа и фильтрации различных технологий и подходов больше.

    А то сплю плохо.
    Высыпайтесь.
    Ответ написан
    Комментировать
  • MAC 00:00:00:00:00?

    @throughtheether
    human after all
    он глюканул теперь у него на сетевухе мак 00:00:00:00:00, Cisco пакеты с таким маком дропает
    Вы проверяли (анализатором трафика или по записям в таблице MAC-адресов коммутатора, в который подключен ip-kvm), в Ethernet-фреймах от устройства Dlink именно этот адрес в качестве MAC-адреса источника?
    Ответ написан
    Комментировать
  • Как настроить Policy-based Routing на cisco, что бы была переадресация на заглушку?

    @throughtheether
    human after all
    Как настроить Policy-based Routing на cisco
    Модель устройства и версию прошивки (операционной системы) будьте добры уточнить.

    Как настроить Policy-based Routing на cisco что бы клиент имеющий ip из сети 172.17.0.0/16 при обращении на любой сайт попадал на страничку заглушку?
    Не уверен, что PBR здесь поможет. Как один из вариантов - закрыть трафик наружу при помощи ACL и отдавать на все DNS(A)-запросы какой-либо внутренний IPv4-адрес. Первое применяется на граничных маршрутизаторах, второе - на DNS-сервере.
    Если есть хост, отдающий заглушку, то можно перенаправить запросы на него при помощи Destination NAT (если оборудование это поддерживает).

    UPD:
    Не поможете примером? Облазил всё что можно. На днсах можно как то через view. Но так же примеров нет.
    Вот ссылки на примеры использование view: 1, 2. Вот ссылки на примеры реализации разрешения всех имен хостов в заданный IPv4-адрес: 1, 2.

    Настройки будут выглядеть примерно так (проверить пока нет возможности):
    Файл named.conf, добавить:
    view internal {
       match-clients { 172.17.0.0/16; };
       zone "." IN {
        type master;
        file "db.fakeroot";
       };
    };

    Содержимое файла db.fakeroot:

    $ORIGIN .
    $TTL 1D
    @    IN     SOA  @ none. ( 0 1D 1H 1W 3H );
         IN     NS   @
    *    IN     A    a.b.c.d

    где a.b.c.d - IPv4-адрес хоста с заглушкой. Может понадобиться добавить view для обработки запросов от других клиентов.
    Ответ написан
    Комментировать
  • Отправка команд через веб интерфейс?

    @throughtheether
    human after all
    Тикните носом что ковирять ?
    Например, bottle.py в качестве веб-сервера, subprocess для исполнения команд. Если хочется обойтись стандартной библиотекой, то SimpleHTTPServer/BaseHTTPServer в случае python2, http.server в случае python3.
    Ответ написан
    Комментировать
  • Почему ping не проходит?

    @throughtheether
    human after all
    Попробовал запрос сайта curlом сделать в резте получаю хтмл сайта провайдера и так при обращении к любому внешнему сайту.

    В чем может быть проблема?
    Доступ в интернет оплачен?
    Ответ написан
  • Как устранить проблему высокого пинга?

    @throughtheether
    human after all
    Что я уже сделал:
    ...
    2. Отключил Ipv6
    Что это значит? Где отключили? На каждой рабочей станции в сети?

    все статистики отличные (top,iostat,ifstat,ifconfig,sar) - нигде нет пределов.
    На портах коммутаторов показатели смотрели? Количество отброшенных пакетов, размеры очередей?

    в чем может быть проблема или как продиагностировать?
    Как вариант, пики широковещательного/многоадресного трафика. Диагностировать при помощи снятия соответствующих данных с портов коммутаторов или при помощи анализа трафика.
    Ответ написан
    Комментировать
  • Широковещательный шторм. Как победить?

    @throughtheether
    human after all
    Есть небольшая сеть (10-15 машин). Один из них, видеосервер, широковещательно очень сильно флудит.
    Что это значит? В чем это проявляется? Мигают светодиоды на коммутаторах? Нарушается работоспособность сети? Почему вы считаете, что речь идет о широковещательном "шторме"?
    В чём может быть проблема
    Какая проблема? Опишите конкретнее.
    Вообще говоря, в случае использования неуправляемых (что, как правило, автоматически означает отсутствие "интеллектуальных" нюансов вроде igmp snooping) многоадресный (мультикаст) трафик обрабатывается так же, как и широковещательный (броадкаст). Поэтому стоит задуматься о применении управляемых коммутаторов (хотя точнее можно будет советовать, получив дамп трафика и схему сети). Решить проблему "чрезмерного" многоадресного трафика (исходящего на порты, не нуждающиеся в нем) при помощи управляемых коммутаторов можно при помощи:
    1) igmp snooping + igmp [snooping] querier
    2) статической записи igmp snooping
    3) статической записи мультикастового MAC-адреса, соответствующего мультикастовой группе.
    Наиболее простой, понятный и рекомендуемый вариант - первый.
    и как её быстро обнаружить?
    Подсоединяете ноутбук/компьютер в свободный порт коммутатора. Запускаете wireshark/tshark/tcpdump, сохраняете дамп трафика, анализируете его (например, в wireshark - Statistics -> Endpoints), делаете выводы.
    Ответ написан
    1 комментарий
  • Как сделать чтоб при команде cp file file показывался прогрусбар?

    @throughtheether
    human after all
    Попробуйте pv.
    Ответ написан
    Комментировать
  • Как организовать маршрутизацию или 2 маршрута для одной сети?

    @throughtheether
    human after all
    Падение линка не падение интерфейса. Подскажите как можно выкрутиться не прибегая к протоколам BGP.
    Или самому организовывать добавление/удаление маршрутов в зависимости от "доступности" (ping и прочая) противоположного конца тоннеля, или использовать динамическую маршрутизацию через туннельные интерфейсы (реализации RIPv2, если не ошибаюсь, есть почти под каждую из популярных ОС).

    Точнее можно будет ответить после того, как вы предоставите схему организации сети.
    UPD:
    Очень краткая схема в первом комментарии выше.
    Если я правильно понял, то можно (нужно?) изменять маршрут по умолчанию (т.е. маршрутизировать трафик на OPENVPNSERVER1 или OPENVPNSERVER2) на 3750 в зависимости от работоспособности тоннеля?
    Когда трава была зеленее я видел использованиe route map в зависимости от пинга, но не запомнил и информации сейчас нет.
    На мой взгляд, вам подойдет решение в виде статической маршрутизации вкупе с ip sla tracking. См. раздел Резервирование.
    UPD2:
    К сожалению со второй стороны также нужно отправлять пакеты, в свою очередь выбирая интерфейс. А там у нас чисто линуксовое решение.
    Я полагал, что хотя бы с одной стороны маршруты исчезают при нарушении работоспособности туннеля. Если нет, то остается RIPv2 (на 3 серверах с openvpn и на устройстве cisco).
    Ответ написан
  • SYN Flood DOS Attack. Как разобраться, что к чему и почему не работает?

    @throughtheether
    human after all
    Пытаюсь организовать SYN Flood на сервер сугубо в научных целях ( курсач у меня такой)
    Что я делаю не так? Как добиться желаемого SYN Flood Attack?
    Если вам надо ехать, то используйте hping. Если и шашечки нужны, то посмотрите в исходники этой утилиты.
    Ответ написан
    Комментировать
  • Быстрый способ проверки доступности машины?

    @throughtheether
    human after all
    Есть какие-нибудь идеи?
    Посмотреть, есть ли утилита fping в Redhat. Если нет, то использовать snmpget с дробным параметром -t (-t 0.001, например). Последний вариант проверил в Centos 6.0.
    Ответ написан
  • PHP Telnet ошибка авторизации. В чем может быть проблема?

    @throughtheether
    human after all
    Через консоль с linux-машины цепляюсь к windows-серверу с этим логином и паролем без проблем.
    Уверены, что логин и пароль используются те же? Не могут ли латинские буквы быть заменены на кириллические, аналогичные в написании (пример, e и е)?
    Ответ написан
  • Как сформировать Ethernet OAM PDU в Scapy?

    @throughtheether
    human after all
    Возможно ли это вообще в Scapy?
    Вы можете создать фрейм при помощи конструктора e=Ether(src='AA:AA:AA:AA:AA:AA',dst='01:80:c2:00:00:02',type=0x8809), и далее самостоятельно задать значение поля данных (e.payload=data, где data имеет тип Packet или str)
    Пример (размер полей может быть не вполне корректен):
    e=Ether(src='AA:AA:AA:AA:AA:AA',dst='01:80:c2:00:00:02',type=0x8809)
    class EthernetOAM(Packet):
        name='Ethernet OAM'
        fields_desc=[
             ByteField('Subtype',3),
             ByteField('Flags',0),
             ByteField('Code',0),
        ]
    OAM=EtherOAM()
    OAM.payload="data+padding"
    e.payload=OAM
    OAM
    >>> <EthernetOAM  |<Raw  load='data+padding' |>>
    e
    >>> <Ether  dst=01:80:c2:00:00:02 src=AA:AA:AA:AA:AA:AA type=0x8809 |<EthernetOAM  |<Raw  load='data+padding' |>>>


    Если нет, то есть ли инструменты, которые позволяют сформировать и отправить такие PDU?
    Инструментов много (как пример, trafgen или mausezahn в составе пакета netsniff-ng), но формировать поле данных вам придется самому, скорее всего.
    Ответ написан
    Комментировать
  • Возможно ли перепрограммировать флешку на эмулятор клавиатуры?

    @throughtheether
    human after all
    На базе флеш-накопителя, полагаю, создать нечто подобное будет затруднительно. На вашем месте я бы обратил внимание на teensy (пример использования) или USB Rubber ducky.
    Ответ написан
    Комментировать
  • Проблема с агрегацией каналов в Oracle VM Server 3.2.8. В чем может быть проблема дропнутых пакетов на интерфейсах? Как узнать, что это за пакеты?

    @throughtheether
    human after all
    Замечая разницу между общим количеством "дропов" на интерфейсе bond0:
    bond0     Link encap:Ethernet  HWaddr 00:15:17:D6:B0:14
              UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
              RX packets:9381 errors:0 dropped:6123 overruns:0 frame:0

    и количеством "дропов" на интерфейсе, обрабатывающем трафик влана 3:
    bond0.3  Link encap:Ethernet  HWaddr 00:15:17:D6:B0:14
              inet addr:192.168.32.7  Bcast:192.168.32.127  Mask:255.255.255.128
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:1561 errors:0 dropped:146 overruns:0 frame:0

    предполагаю:
    1) как уже отмечено, скорее всего приходит немаркированный трафик (по умолчанию, native vlan на оборудовании cisco имеет номер 1, в нем пересылается служебный трафик вроде CDP и прочая)
    2) также вероятно, на сервер приходит трафик в виде фреймов, маркированных (тегированных) 2 вланом. Со стороны коммутатора он разрешен, а на сервере вы его, как я понял, не обрабатываете
    Как возможное решение - назначение неиспользуемого влана в качестве native vlan на стороне коммутатора, разрешение только нужных вланов на транке со стороны коммутатора (влан 3 вы используете, влан 2, предположительно, не нужен).
    Наличие "дропов" на интерфейсе bond0.3, к сожалению, объяснить не могу. Вероятно, это какие-то отброшенные пакеты вроде ненужного (непрослушиваемого) мультикаста.

    На всякий случай, предоставьте, пожалуйста, вывод
    ethtool eth0
    ethtool eth1

    UPD:
    Я попросил предоставить вывод ethtool, чтобы удостовериться в корректном режиме портов (1000Mbps, full duplex). На самом деле, о корректном режиме работы портов говорит отсутствие коллизий и crc-ошибок, но чем больше данных - тем лучше в подобных случаях.

    Native VLAN не используется, отдаю в PortChanell только 2 вышеупомянутых VLAN'а.
    Предоставьте, пожалуйста, вывод с коммутатора
    show interface Port-channel6 switchport Если все-таки выяснится, что на интерфейсе Po6 native vlan установлен в 1, по посмотрите на коммутаторе
    show cdp
    show cdp interface GigabitEthernet1/3
    show cdp interface GigabitEthernet1/39


    Как думаете, может это как-то связано с ядром?
    К сожалению, я недостаточно владею особенностями работы ядра Linux, чтобы ответить на этот вопрос. Могу лишь предложить использовать tcpdump на интерфейсе bond0.3. Необходимо иметь в виду, что пакет, "дропнутый" ядром, может появиться, а может и не появиться в дампе трафика, в зависимости от причины "дропа". Но вполне может быть, чтоб вы увидите чужой мультикаст, например (OSPF Hello с другого конца L2-домена как вариант). Я хочу сказать, что это может быть связано с ядром, а может - и с обстановкой в сети.

    UPD2:
    Здесь видно, что все-таки native vlan 1 присутствует, упорно гуглил, но так и не понял как убрать эти параметры из конфигурации..
    Создайте новый (ранее неиспользуемый) влан на коммутаторе и назначьте его в качестве native, но только на этот интерфейс. Пример:
    configure terminal
    interface Port-channel6
    switchport trunk native vlan XXXX
    , XXXX-номер влана.

    Еще хотелось бы поделиться наблюдением:
    eth0      Link encap:Ethernet  HWaddr 00:15:17:D6:B0:14
              TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
              
    eth1      Link encap:Ethernet  HWaddr 00:15:17:D6:B0:14
              TX packets:1141 errors:0 dropped:0 overruns:0 carrier:0

    Как следует из этого листинга, объем исходящего трафик с интерфейса eth1 на порядок превосходит объем трафика с интерфейса eth0. Конечно, с такими незначительными показателями торопиться с выводами не стоит, но я вам настоятельно рекомендую проверить схему с объемом трафика более гигабита. У меня есть подозрение, что, в случае, если потребители трафика находятся в другом L2-сегменте (т.е. трафик до них маршрутизируется через default gateway), то производительность может упереться в 1 Гбит/c. Если подобная ситуация будет наблюдаться, обратите внимание на строчку
    # cat ./ifcfg-bond0
    BONDING_OPTS="debug=1 mode=802.3ad miimon=100 xmit_hash_policy=layer2 lacp_rate=1"

    Вероятно, потребуется сменить алгоритм хэширования на более чувствительный к деталям. Но об этом имеет смысл задумываться, имея результаты тестирования с нагрузкой в 1 Гбит/c и выше.
    Ответ написан
    3 комментария