The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Открыт код Douane, динамического межсетевого экрана для Linux, opennews (?), 28-Апр-14, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


45. "Открыт код Douane, динамического межсетевого экрана для Linu..."  +3 +/
Сообщение от pavlinux (ok), 28-Апр-14, 13:16 
Мож чего просмотрел, но
тут
https://github.com/Douane/douane-dkms/blob/master/douane.c#L849
и тут
https://github.com/Douane/douane-dkms/blob/master/douane.c#L867

утечка памяти, размером sizeof(struct network_activity)
---

И если присылать коннекты с битыми хередарами  


switch(ip_header->protocol)
    if (udp_header == NULL)
       ...
    if (tcp_header == NULL)
        ...

А структура-то жирная ... более  16 кило на один коннект  


struct network_activity {
  int   kind;  // 4
  char  process_path[PATH_MAX * 4]; // 4 раза по 4096 (нахера?!!!)  
  int   allowed; // 4
  char  devise_name[16]; // 16
  int   protocol; // 4
  char  ip_source[16]; // 16
  int   port_source; // 4
  char  ip_destination[16]; //16
  int   port_destination; // 4
  int   size; //4
};


То заДоСить можно быстро ...

Ответить | Правка | Наверх | Cообщить модератору

66. "Открыт код Douane, динамического межсетевого экрана для..."  +1 +/
Сообщение от arisu (ok), 28-Апр-14, 14:23 
ну так вантузоиды же, руки из жопы.
Ответить | Правка | Наверх | Cообщить модератору

108. "Открыт код Douane, динамического межсетевого экрана для Linu..."  +/
Сообщение от Аноним (-), 28-Апр-14, 16:49 
> (нахeра?!!!)

И правда. Не проще было хранить PID и ресольвить оный в путь только если юзеру надо  показать и/или 1 раз при применении логики можно/нельзя, если уж им хочется ее по "путь к процессу" считать?

Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

132. "Открыт код Douane, динамического межсетевого экрана для Linu..."  +/
Сообщение от pavel_simple (ok), 28-Апр-14, 18:35 
>[оверквотинг удален]
>   char  devise_name[16]; // 16
>   int   protocol; // 4
>   char  ip_source[16]; // 16
>   int   port_source; // 4
>   char  ip_destination[16]; //16
>   int   port_destination; // 4
>   int   size; //4
> };
>
> То заДоСить можно быстро ...

да через жопу написано, во первых ipv4 , во вторых только tcp и udp -- т.е. остальные пропускает.

изпользуется не netfilter, как фреймворк -- а прямой хук.

Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру