The OpenNET Project / Index page

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



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

Оглавление

Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..., opennews (??), 06-Дек-19, (0) [смотреть все]

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


47. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  –4 +/
Сообщение от Ilya Indigo (ok), 06-Дек-19, 15:24 
Даже ничего изменять не пришлось.

net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.tcp_max_orphans = 65536
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_mem = 50576   64768   98152
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_orphan_retries = 0
net.ipv4.tcp_syncookies = 0
net.ipv4.netfilter.ip_conntrack_max = 16777216
net.netfilter.nf_conntrack_max = 16777216
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_congestion_control = htcp
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.route.flush = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rfc1337 = 1
net.ipv4.ip_forward = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 1000
net.core.rmem_default = 65536
net.core.wmem_default = 65536
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
fs.inotify.max_user_watches = 16777216

P.S. Да, держу в курсе, а также может кто-то посоветует чего-то добавить/убрать/изменить.

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

55. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +3 +/
Сообщение от Аноним (55), 06-Дек-19, 15:59 
Надеюсь ты сам понимаешь что тут столько настроек чтобы сам ты тут ничего поменять не смог. И то что ты просишь некоего Анонимуса помочь показательно.
Ответить | Правка | Наверх | Cообщить модератору

57. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +/
Сообщение от пох. (?), 06-Дек-19, 16:06 
> Надеюсь ты сам понимаешь что тут столько настроек чтобы сам ты тут
> ничего поменять не смог. И то что ты просишь некоего Анонимуса

он похоже не понимает, что эти настройки означают и как работают - судя по мешанине с .default .all и per-interface.

> помочь показательно.

Б-г поможет!


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

62. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +/
Сообщение от Аноним (55), 06-Дек-19, 16:18 
На дефолтные из убунты не похоже видимо он их сам правил.
Ответить | Правка | Наверх | Cообщить модератору

116. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +1 +/
Сообщение от пох. (?), 06-Дек-19, 22:45 
на копипасту из вопросов со stackoverflow похоже - до ответов, видимо, опять недочитано.
Ответить | Правка | Наверх | Cообщить модератору

58. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +/
Сообщение от Ilya Indigo (ok), 06-Дек-19, 16:11 
> Надеюсь ты сам понимаешь что тут столько настроек чтобы сам ты тут
> ничего поменять не смог. И то что ты просишь некоего Анонимуса
> помочь показательно.

Я понимаю для чего они изменяются, но не понимаю до конца все последствия и накладные расходы связанные с ними.

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

59. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +/
Сообщение от Аноним (55), 06-Дек-19, 16:13 
Хорошо что ты сам смог это более четко сформулировать.
Ответить | Правка | Наверх | Cообщить модератору

63. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +2 +/
Сообщение от Ilya Indigo (ok), 06-Дек-19, 16:25 
Да я это и не говорил никогда что разбираюсь в параметрах настройки ядра и в фильтрации пакетов.
От того что Вы притворяетесь всезнающим, умнее Вы не становитесь.
Ответить | Правка | Наверх | Cообщить модератору

68. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +/
Сообщение от Fyjy (?), 06-Дек-19, 16:49 
Ох, мать-перемать, вот это простыня. Это ты на своем десктопе/лэптопе такое фигачишь? А зачем? Про просьбу пояснить каждое значение я уж вообще молчу.
Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

82. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +/
Сообщение от Ilya Indigo (ok), 06-Дек-19, 17:43 
> Ох, мать-перемать, вот это простыня. Это ты на своем десктопе/лэптопе такое фигачишь?
> А зачем? Про просьбу пояснить каждое значение я уж вообще молчу.

Вообще-то это веб-сервер (nginx/php/redis), настроенный на высокую нагрузку.
На десктопе я тоже это использую, у меня мой десктоп дев-сервер и я хочу чтобы у него конфиг был максимально приближённый к проду, и в крайнем случае мог подстраховать его.

Настраивалось для защиты от DDOS-а и способность обрабатывать много соединений.

ЕМНИП
sysctl net.ipv4.conf.all.rp_filter = 1
net.core.somaxconn = 65535
И отключение больших прозрачных страниц в параметрах загрузки требовал redis.

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

118. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +/
Сообщение от пох. (?), 06-Дек-19, 22:59 
> И отключение больших прозрачных страниц в параметрах загрузки требовал redis.

А это ничего, что его требования - перпендикулярны "большим нагрузкам" и вообще нормальному серверному применению? И предназначены для выделенного сервера, где кроме редиса вообще ничего нет (ну можешь еще монгу рядом запустить, у нее аналогичные заморочки), никаких пехепе с апачами, а обрабатывает тот редис гигабайты данных и тысячи соединений в секунду, а не хранит унылые пехепешные session id?

Может, прежде чем копипастить неведомые параметры, стоило бы посмотреть в гугле, что они на самом деле меняют и почему умолчания отличаются? Ладно, я готов поверить что древние 128 somaxconn стоит хотя бы удвоить, но у тебя правда бывает 64k соединений в состоянии ДО accept? И что с ними будет, когда таки аксептнутся - твое унылое корыто с пехепеапачом сможет их переварить? Да не смеши мои тапочки, оно лопнет не по памяти так по cpu.
Кстати, о хайлоаде - что-то помнится ank@ говорил, что список там - линейный.

Впрочем, машина железная, а "хайлоад" тебе только снится, поэтому и с такими кривыми параметрами работать будет, а разницу ты даже и не заметишь.

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

125. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +/
Сообщение от Ilya Indigo (ok), 06-Дек-19, 23:52 
>> И отключение больших прозрачных страниц в параметрах загрузки требовал redis.
> А это ничего, что его требования - перпендикулярны "большим нагрузкам" и вообще нормальному серверному применению?

Вы можете обосновать своё заявление?
Я читал про них в то время, уже подзабыл что именно они делают, что-то связанное с оптимизацией выделения памяти, которая не требует никаких действий от этих приложений, что в теории должно дать положительный эффект.
Как это проверить на практике я не знаю до сих пор.
Сначала TokuDB (движок для MariaDB), требовал её отключения для работы.
Я забил на этот движок, тем более потом RocksDB появился который и производительнее и работал с THP.
Но redis мне был нужен и у меня не было выбора.
И при этом если достаточно много серверов требуют отключения THP то это тоже о чём-то говорит.

https://habr.com/ru/company/tinkoff/blog/446342/
Конечно Тинькофф никак не авторитет, его разработчики даже в логи redis-а не удосужились посмотреть и сразу устранить проблему, да и через socket redis сразу подключить, а не использовать стандартный конфиг, но тем не менее у них из-за THP был лишний расход CPU в системном режиме.
И конфиги у нас очень похожи, за исключением что у меня СУБД MariaDB.

> но у тебя правда бывает 64k соединений в состоянии ДО accept

Скорее всего нет и я пока не знаю что это означает.

> Впрочем, машина железная, а "хайлоад" тебе только снится...

Я и не утверждал что работаю с хайлодом и тем более разбираюсь в нём.
Собственно по тому и не разбираюсь, что у меня хватает интересной работы и без него, поработать с настоящим хайлодом мне никак не удаётся, от того в нём и не разбираюсь вообще, так как без реальной практики и возможности пощупать, что-то теоретически заучивать бессмысленно.
Это как учить ЯП без компьютера.

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

128. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +2 +/
Сообщение от пох. (?), 07-Дек-19, 00:39 
> Вы можете обосновать своё заявление?

лень. Можно просто включить обратно huge pages и убедиться, что мир не рухнет, и ничего кроме жалобных вяков в логах (не помню, редис или монга вякает, обнаружив что их ценными рекомендациями пренебрегли) не происходит вообще.

> Как это проверить на практике я не знаю до сих пор.

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

У пенькова проблемы начинались с 1,5k rps - куда тебе столько, у тебя сервер лопнет от понафоркавшихся 1500 апачей в первую же секунду.

Когда и если я отдам под редис целиком сервер - я, безусловно, сделаю как он просит (ему ни своп не нужен и вреден, свопящийся редис - мертвый редис, ни huge pages, он там внутри себя все равно оперирует своими собственными страницами). Правда, so_maxconn больше пресловутых 512 все равно вряд ли зачем нужен - по cpu лопнет. Не 64ядерный же монстр ему достанется.

Но пока мне с нашим весьма специфичным "хайлоадом" нужен больше HA, а это значит - по редису на каждом сервере рядом с вебней. Которая как раз жрать здорова, и huge pages ей пригодятся.
А в редисе один хрен мегабайты а не гигабайты.

> поработать с настоящим хайлодом мне никак не удаётся

ну и радуйся - ничего там хорошего нет. Все течет, все сыплется, костыли подпираются табуретками, а те шваброй, а швабру ты среди ночи держишь,  и даже при наличии знаний и понимания как и что работает (включая пресловутые параметры tcp) - не всегда удается починить, потому что не все ты можешь изменить. Я был безумно рад, оба раза, когда от такого сбежать удалось, и очень надеюсь в третий не вляпаться.

P.S. внезапно, в самом последнем комментарии под тиньковской промо-статьей - кто-то владеющий темой детально разжевал про huge pages, как на самом деле они работают и как устроен tlb. Только это было еще до kpti, учти, с его flush на каждый свитч.

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

130. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +/
Сообщение от Ilya Indigo (ok), 07-Дек-19, 01:21 
> ... у тебя сервер лопнет от понафоркавшихся 1500 апачей

Я месяц назад перешёл на nginx+php-fpm апач со своим htaccess уже в прошлом.
Подумать только, ЧПУ на nginx можно сделать просто...


error_page 403 /en/error/;
error_page 404 /en/error/;
location = /index.php
{
    return 404;
}
location ^~ /.
{
    return 404;
}
location /
{
    try_files $uri @php;
}
location @php
{
    fastcgi_pass unix:/run/php-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root/index.php;
    include fastcgi_params;
}

Всё что не статика и разрешено, nginx отправляет в php $_SERVER['REQUEST_URI'], которое я могу эффективно и просто распарсить на $_GET-параметры вообще без единой регулярки!
И всё это время так можно было... в nginx.

Правда как эффективно в php-пуле выставлять:


pm.max_children
pm.start_servers
pm.min_spare_servers
pm.max_spare_servers
pm.max_requests

Относительно имеющегося железа и нагрузки пока не понял.
Видимо буду мониторить нагрузку экспериментировать и повышать по мере необходимости, если это будет давать ощутимый положительный эффект.

> Когда и если я отдам под редис целиком сервер - я, безусловно, сделаю как он просит

Я не претендую на истинность, но мне кажется redis, PHP и MariaDB должны стоять на одном сервере, чтобы быстро обмениваться данными по сокетам, и не тратится на сетевые задержки.

> P.S. внезапно, в самом последнем комментарии

Благодарю, читаю его сейчас, про включение THP вопреки redis тоже подумаю.

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

174. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +1 +/
Сообщение от пох. (?), 09-Дек-19, 11:59 
> Я не претендую на истинность, но мне кажется redis, PHP и MariaDB
> должны стоять на одном сервере, чтобы быстро обмениваться данными по сокетам,
> и не тратится на сетевые задержки.

у тебя основные задержки - на установление соединения с клиентом и рестарт пхп-инстанса.
На этом фоне твоего редиса в сетке с rtt 0.3ms никто и не увидит и не отличит локальный от сетевого сокеты ни в какой микроскоп - отмеряно микрометром, отмечено мелом, отрублено топором.
И уже тем более - никто не увидит mariadb.

Там где станет видно - уже пора обратно о мемкэше думать. Но таких мест, к счастью, очень мало.

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

71. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  –1 +/
Сообщение от Olololo (?), 06-Дек-19, 16:58 
Добавь вот это


vm.swappiness=0
vm.dirty_ratio=60
vm.dirty_background_ratio=40
vm.dirty_writeback_centisecs=3000
vm.dirty_expire_centisecs=5000

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1


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

73. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +/
Сообщение от Fyjy (?), 06-Дек-19, 17:05 
> net.ipv6.conf.all.disable_ipv6=1
> net.ipv6.conf.default.disable_ipv6=1
> net.ipv6.conf.lo.disable_ipv6=1

Какая прекрасная идея! Фигак и нет у тебя больше IPv6! Вот только что был, но ты добавил фигню по совету анона с опеннета и все отвалилось :-D :-D :-D

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

74. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +2 +/
Сообщение от Olololo (?), 06-Дек-19, 17:11 
Нет IPv6, а значит и нет дырок в IPv6 и дырок эксплуатируемых с помощью IPv6. Это называется мудрость.
Ответить | Правка | Наверх | Cообщить модератору

75. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +/
Сообщение от Fyjy (?), 06-Дек-19, 17:15 
Что такое «дырки в IPv6»?
А так отруби тогда вообще сетевой стек, что уж мучиться
Блинский ёж, у меня ВСЯ работа с серверами идет по IPv6, вот просто вся, а ты тут даешь людям советы его отрубать. Ты откуда сбежал? Из 2000 года?
Ответить | Правка | Наверх | Cообщить модератору

76. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +1 +/
Сообщение от Olololo (?), 06-Дек-19, 17:20 
IPv6 слишком молод, чтобы его использовать. Ещё даже в IPv4 не все дырки отловили, лет через 25 можно будет присматриваться к IPv6, но не раньше.
Живу на IPv4 и горя не знаю.
Ответить | Правка | Наверх | Cообщить модератору

156. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  –3 +/
Сообщение от Michael Shigorinemail (ok), 07-Дек-19, 13:52 
> Блинский ёж, у меня ВСЯ работа с серверами идет по IPv6,
> вот просто вся, а ты тут даешь людям советы его отрубать.

"Сижу на героине весь, просто весь, а ты тут предлагаешь дилеров отстреливать" (логика та же)

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

159. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +5 +/
Сообщение от Fyjy (?), 07-Дек-19, 17:49 
Миша, мы все знаем, что логика не твоя сильная сторона, а мозг у тебя отсутствует. IPv6 — стандарт в индустрии уже, то что в твоем отделе ФСБ об этом не знают ничего не значит, они и о существовании интернета узнали только на 10ый год правления ботоксного карлика.
Ответить | Правка | Наверх | Cообщить модератору

161. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +2 +/
Сообщение от Olololo (?), 07-Дек-19, 19:37 
>узнали только на 10ый год правления ботоксного карлика.

20 год не хочешь? Пу сидит со второй половины 1999 года, сидит уже больше чем Брежнев. Уже выросло поколение которое родилось при Пу и начало делать своих детей. Они ничего кроме Пу не видел.

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

162. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +2 +/
Сообщение от Fyjy (?), 07-Дек-19, 22:45 
А об интернете они узнали 10 лет назад, как раз тогда начали первые законы о цензуре принимать.
Ответить | Правка | Наверх | Cообщить модератору

126. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +/
Сообщение от пох. (?), 07-Дек-19, 00:01 
> Вот только что был, но ты добавил фигню по совету анона с опеннета и все отвалилось

причем одного раза выстрелить самому себе из ружья в задницу показалось мало, сделал контрольный, и еще прикладом добил. Какое нелепое самоубийство!

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

85. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +2 +/
Сообщение от Ilya Indigo (ok), 06-Дек-19, 17:56 
> Добавь вот это
> net.ipv6.conf.all.disable_ipv6=1
> net.ipv6.conf.default.disable_ipv6=1
> net.ipv6.conf.lo.disable_ipv6=1  

ipv6 полноценно отключается только через параметр загрузки ядра.
От этого же у меня, как минимум, почтовые логи будут забиты, предупреждениями о невозможности в ipv6.

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

86. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +1 +/
Сообщение от Olololo (?), 06-Дек-19, 18:01 
Выруби логи, делов-то.
Ответить | Правка | Наверх | Cообщить модератору

90. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +/
Сообщение от gogo (?), 06-Дек-19, 18:37 
Как раз наоборот. Именно это рекомендуемый, например, красношапкой способ отключния.
Ибо есть приложениия, точно postfix, которыйе неистово верят в существование ipv6 всегда. И очень плачут, когда ядро его не поддерживает.
Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

101. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +3 +/
Сообщение от Аноним (101), 06-Дек-19, 19:52 
Про inet_protocols=ipv4 не слышали?
Ответить | Правка | Наверх | Cообщить модератору

119. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +4 +/
Сообщение от пох. (?), 06-Дек-19, 23:01 
тебе же сказали - выключи логи! Они ВСЕ проблемы так решают.


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

148. "Уязвимость, позволяющая вклиниваться в TCP-соединения, осуще..."  +2 +/
Сообщение от Anonymoustus (ok), 07-Дек-19, 08:57 
> тебе же сказали - выключи логи! Они ВСЕ проблемы так решают.

Читая, что пишет этот чувак, держусь за лицо уже двумя руками. А он ведь не только пишет, но и где-то делает.

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

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

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




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

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