Faʻaeteete i faʻafitauli e aumaia ai galuega. Vaega 1: FragmentSmack/SegmentSmack

Faʻaeteete i faʻafitauli e aumaia ai galuega. Vaega 1: FragmentSmack/SegmentSmack

Talofa uma! O loʻu igoa o Dmitry Samsonov, ou te galue o se taʻitaʻi pulega faʻatonu i Odnoklassniki. E sili atu i le 7 afe a matou 'auʻaunaga faaletino, 11 afe pusa i la matou ao ma 200 talosaga, lea i faʻasalalauga eseese e fausia ai 700 fuifui eseese. O le tele o 'auʻaunaga e faʻatautaia CentOS 7.
I le aso 14 o Aokuso, 2018, na faʻasalalau ai faʻamatalaga e uiga i le faʻafitauli o le FragmentSmack
(CVE-2018-5391) ma le VaegaSmack (CVE-2018-5390). O faʻafitauli nei ma se faʻalavelave osofaʻi fesoʻotaʻiga ma se sikoa maualuga maualuga (7.5), lea e faʻamataʻu ai le teena o le tautua (DoS) ona o le vaivai o punaoa (CPU). E leʻi faʻatulagaina se fatu faʻapipiʻi mo FragmentSmack i lena taimi; e le gata i lea, na oʻo mai i se taimi mulimuli ane nai lo le lolomiina o faʻamatalaga e uiga i le faʻafitauli. Ina ia faʻaumatia SegmentSmack, na fautuaina e faʻafouina le fatu. O le pusa faʻafouina lava ia na tatalaina i le aso lava e tasi, na o le pau lava le mea na totoe o le faʻapipiʻiina.
Leai, matou te le tetee i le faʻafouina o le kernel! Ae ui i lea, e iai nuances ...

E faʻafefea ona matou faʻafouina le kernel i le gaosiga

I se tulaga lautele, e leai se mea faigata:

  1. La'uina afifi;
  2. Faʻapipiʻi i luga o le tele o 'auʻaunaga (e aofia ai 'auʻaunaga o loʻo faʻapipiʻiina la tatou ao);
  3. Ia mautinoa e leai se mea e gau;
  4. Ia mautinoa o loʻo faʻaogaina uma tulaga masani kernel e aunoa ma ni mea sese;
  5. Faatali mo ni nai aso;
  6. Siaki le faatinoga o le server;
  7. Suia le fa'aogaina o 'au'aunaga fou i le fatu fou;
  8. Faʻafou uma 'auʻaunaga e ala i faʻamaumauga faʻamaumauga (tasi faʻamaumauga faʻamaumauga i le taimi e faʻaitiitia ai le aʻafiaga i tagata faʻaoga pe a iai ni faʻafitauli);
  9. Toe fa'afou 'au'aunaga uma.

Toe fai mo lala uma o fatu ua tatou maua. I le taimi nei e faapea:

  • Stock CentOS 7 3.10 - mo le tele o sapalai masani;
  • Vanila 4.19 - mo matou ao ao tasi, aua tatou te manaʻomia le BFQ, BBR, ma isi;
  • Elrepo kernel-ml 5.2 - mo fa'atauva'a maualuga uta, ona o le 4.19 sa masani ona amio le mautonu, ae o foliga tutusa e manaʻomia.

E pei ona e mateina, o le toe faʻafouina o le faitau afe o sapalai e umi se taimi. Talu ai e le o fa'aletonu uma e taua tele mo 'au'aunaga uma, matou te toe fa'afouina i latou e mafai ona maua sa'o mai le Initaneti. I totonu o le ao, ina ia le faʻatapulaaina le fetuutuunai, matou te le nonoa pusa avanoa i fafo i 'auʻaunaga taʻitasi ma se fatu fou, ae toe faʻafou uma 'au e aunoa ma se faʻalavelave. O le mea e lelei ai, o le faʻagasologa o loʻo i ai e sili atu ona faigofie nai lo le faʻaogaina masani. Mo se fa'ata'ita'iga, o koneteina e leai ni setete e mafai ona fa'asolo i se isi 'au'aunaga a'o toe fa'afou.

Ae ui i lea, o loʻo i ai pea le tele o galuega, ma e mafai ona tele vaiaso, ma afai ei ai ni faʻafitauli i le lomiga fou, e oʻo atu i ni nai masina. E malamalama lelei le au osofaʻi i lenei mea, o lea latou te manaʻomia ai se fuafuaga B.

FragmentSmack/SegmentSmack. fofo

O le mea e lelei ai, mo nisi faʻafitauli o loʻo i ai se fuafuaga B, ma e taʻua o le Workaround. Ole tele o taimi, ole suiga lea ile kernel/fa'aoga fa'aoga e mafai ona fa'aitiitia ai le a'afiaga po'o le fa'aumatia atoa o le fa'aogaina o fa'aletonu.

I le tulaga o FragmentSmack/SegmentSmack sa tuuina atu lenei Ta'otoga:

«E mafai ona e suia tulaga fa'aletonu o le 4MB ma le 3MB i le net.ipv4.ipfrag_high_thresh ma le net.ipv4.ipfrag_low_thresh (ma latou fa'atusa mo ipv6 net.ipv6.ipfrag_high_thresh ma net.ipv6.ipfrag_low_thresh) i le 256 kB ma le 192 kB. maualalo. O suʻega e faʻaalia ai le laititi i le taua o le faʻaogaina o le CPU i le taimi o se osofaʻiga e faʻatatau i meafaigaluega, faʻatulagaga, ma tulaga. Ae ui i lea, atonu e i ai se aafiaga o le faatinoga ona o le ipfrag_high_thresh=262144 bytes, talu ai e na o le lua 64K vaega e mafai ona ofi i le laina toe faʻapipiʻi i le taimi. Mo se faʻataʻitaʻiga, o loʻo i ai se tulaga lamatia o le a malepe tusi talosaga e galulue faʻatasi ma pepa UDP tetele".

O tapulaa lava ia i totonu o faʻamaumauga kernel faamatalaina e faapea:

ipfrag_high_thresh - LONG INTEGER
    Maximum memory used to reassemble IP fragments.

ipfrag_low_thresh - LONG INTEGER
    Maximum memory used to reassemble IP fragments before the kernel
    begins to remove incomplete fragment queues to free up resources.
    The kernel still accepts new fragments for defragmentation.

E leai ni a matou UDP tetele i luga o auaunaga gaosiga. E leai se vaeluaga o feoaiga i luga o le LAN; o loʻo i ai le vaeluaga o feoaiga i luga o le WAN, ae le taua. E leai ni fa'ailoga - e mafai ona e fa'asolo i fafo le Ta'amilosaga!

FragmentSmack/SegmentSmack. Muamua toto

O le faʻafitauli muamua na matou feagai o le faʻaogaina e pusa ao i nisi o taimi na faʻaoga ai tulaga fou naʻo se vaega (naʻo ipfrag_low_thresh), ma o nisi taimi e le faʻaaogaina uma - na o le paʻu i le amataga. E leʻi mafai ona toe faʻaleleia le faʻafitauli (o faʻatulagaga uma na faʻaogaina ma le lima e aunoa ma se faʻalavelave). O le malamalama pe aisea ua pa'u ai le koneteina i le amataga e le faigofie foi: leai ni mea sese na maua. E tasi le mea na mautinoa: o le toe fo'i i tua o fa'atulagaga e fo'ia ai le fa'afitauli i fa'alavelave fa'atosina.

Aisea e le lava ai le faʻaogaina o Sysctl i luga o le talimalo? O lo'o nofo le atigipusa i lana lava feso'ota'iga tu'ufa'atasia Igoa Avanoa, o le mea sili vaega ole feso'otaiga Sysctl tapula'a i totonu o le atigipusa atonu e ese mai le talimalo.

E fa'afefea tonu le fa'aogaina o le Sysctl i totonu o le koneteina? Talu ai e le fa'atauaina a matou koneteina, e le mafai ona e suia so'o se fa'atulagaga Sysctl e ala i le alu i totonu o le koneteina lava ia - e le lava au aia tatau. Ina ia taʻavale pusa, o le matou ao i lena taimi na faʻaaogaina Docker (lea podman). O tapulaʻa o le atigipusa fou na tuʻuina atu i Docker e ala i le API, e aofia ai faʻatulagaga Sysctl talafeagai.
A o suʻesuʻeina faʻamatalaga, na faʻaalia e leʻi toe faʻafoʻi e le Docker API mea sese uma (a itiiti ifo ile version 1.10). Ina ua matou taumafai e amata le atigipusa e ala i le "docker run", na iu lava ina matou iloa se mea:

write /proc/sys/net/ipv4/ipfrag_high_thresh: invalid argument docker: Error response from daemon: Cannot start container <...>: [9] System error: could not synchronise with container process.

E le aoga le tau o le parameter. Ae aiseā? Ae aisea e le aoga ai na o nisi taimi? Na aliali mai e le faʻamaonia e Docker le faʻatonuga o loʻo faʻaogaina ai le Sysctl parameters (o le faʻataʻitaʻiga aupito lata mai o le 1.13.1), o nisi taimi na taumafai ai le ipfrag_high_thresh e seti i le 256K pe a oʻo i le 3M ipfrag_low_thresh, o lona uiga, o le pito i luga e maualalo. nai lo le tapulaa pito i lalo, lea na mafua ai le sese.

I lena taimi, ua uma ona matou faʻaogaina a matou lava masini mo le toe faʻaleleia o le atigipusa pe a uma le amataga (faʻaisa le pusa pe a uma pusaaisa vaega ma le fa'atinoina o fa'atonuga ile igoa avanoa ole koneteina e ala ile ip netns), ma matou faʻaopoopoina foʻi le tusiaina o faʻamaufaʻailoga Sysctl i lenei vaega. Ua foia le faafitauli.

FragmentSmack/SegmentSmack. Muamua toto 2

Ae matou te leʻi maua se taimi e malamalama ai i le faʻaogaina o le Workaround i le ao, o faʻasea seasea muamua mai tagata faʻaoga na amata ona taunuu. I lena taimi, ua mavae ni nai vaiaso talu mai le amataga o le faʻaaogaina o Workaround i luga o sapalai muamua. O le su'esu'ega muamua na fa'aalia ai na maua fa'asea fa'asaga i 'au'aunaga ta'itasi, ae le o 'au'aunaga uma o nei 'au'aunaga. O le faafitauli ua toe matua le mautinoa.

Muamua lava, matou, ioe, na matou taumafai e toe faʻafoʻi le Sysctl, ae e leai se aoga. E le'i fesoasoani fo'i le tele o togafiti fa'atasi ma le 'au'aunaga ma fa'atonuga o talosaga. Na fesoasoani le toe fa'afouina. Toe fa'afouina Linux e le masani ai e pei ona masani ai Windows i aso tuai. Ae ui i lea, na fesoasoani, ma na matou togiina i luga o se "kernel glitch" pe a faʻaogaina tulaga fou i Sysctl. Oka se valea...

I le tolu vaiaso mulimuli ane na toe tupu ai le faafitauli. O le faʻatulagaina o nei 'auʻaunaga sa fai si faigofie: Nginx i le sui / paleni mode. Le tele o feoaiga. Faʻamatalaga folasaga fou: o le numera o 504 mea sese i luga o tagata faʻatau e faʻateleina i aso uma (Taimi Gateway). O le kalafi o loʻo faʻaalia ai le numera o mea sese 504 i le aso mo lenei auaunaga:

Faʻaeteete i faʻafitauli e aumaia ai galuega. Vaega 1: FragmentSmack/SegmentSmack

O mea sese uma e tutusa lava le pito i tua - e uiga i le mea o loʻo i totonu o le ao. O le kalafi o le faʻaaogaina o manatua mo vaega o afifi i luga o le pito i tua e pei o lenei:

Faʻaeteete i faʻafitauli e aumaia ai galuega. Vaega 1: FragmentSmack/SegmentSmack

O se tasi lea o faʻaaliga sili ona manino o le faʻafitauli i kalafi faiga faʻaogaina. I totonu o le ao, i le taimi lava e tasi, o se isi faʻafitauli fesoʻotaʻiga ma QoS (Traffic Control) na faʻamautu. I luga o le kalafi o le faʻaaogaina o manatuaga mo fasi pepa, e foliga tutusa lava:

Faʻaeteete i faʻafitauli e aumaia ai galuega. Vaega 1: FragmentSmack/SegmentSmack

Sa faigofie le manatu: afai e foliga tutusa i luga o kalafi, ona tutusa lea o latou mafuaaga. E le gata i lea, o soʻo se faʻafitauli i lenei ituaiga manatua e matua seasea lava.

O le ute o le faʻafitauli faʻaletonu o le matou faʻaogaina lea o le fq packet scheduler ma faʻaoga le faʻaogaina i le QoS. I le le mafai, mo le tasi fesoʻotaʻiga, e faʻatagaina oe e faʻaopoopo 100 paʻu i le laina, ma o nisi fesoʻotaʻiga, i tulaga o le le lava o auala, na amata ona faʻapipiʻi le laina i le gafatia. I lenei tulaga, ua pa'u pepa. I tc statistics (tc -s qdisc) e mafai ona vaʻaia e pei o lenei:

qdisc fq 2c6c: parent 1:2c6c limit 10000p flow_limit 100p buckets 1024 orphan_mask 1023 quantum 3028 initial_quantum 15140 refill_delay 40.0ms
 Sent 454701676345 bytes 491683359 pkt (dropped 464545, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  1024 flows (1021 inactive, 0 throttled)
  0 gc, 0 highprio, 0 throttled, 464545 flows_plimit

"464545 flows_plimit" o le pa'u na pa'u ona o le sili atu i le laina fa'atapula'a o le tasi feso'ota'iga, ma le "pa'u 464545" o le aofa'iga o pa'u uma o lenei fa'asologa. Ina ua uma ona faateleina le umi o le laina i le 1 afe ma toe amata pusa, na taofia le tupu o le faafitauli. E mafai ona e nofo i tua ma inu se smoothie.

FragmentSmack/SegmentSmack. Toto Mulimuli

Muamua, i ni nai masina talu ona maeʻa le faʻasalalauga o faʻafitauli i totonu o le fatu, na iu lava ina aliali mai se faʻaoga mo FragmentSmack (seʻi ou faamanatu atu ia te oe faatasi ai ma le faʻasalalauga ia Aukuso, na faʻasaʻolotoina naʻo le SegmentSmack), lea na matou maua ai le avanoa e lafoaʻi ai Workaround, lea na mafua ai le tele o faafitauli. I le taimi lea, ua uma ona matou mafaia ona faʻafeiloaʻi nisi o sapalai i le fatu fou, ma o lea ua tatau ona matou amata mai le amataga. Aisea na matou faʻafouina ai le fatu e aunoa ma le faʻatali mo le faʻaleleia o le FragmentSmack? O le mea moni o le faagasologa o le puipuia mai nei faʻafitauli e fetaui lelei (ma tuʻufaʻatasia) ma le faagasologa o le faʻafouina o CentOS lava ia (lea e sili atu le taimi nai lo le faʻafouina o le fatu). E le gata i lea, o le SegmentSmack o se faʻafitauli sili atu ona mataʻutia, ma o se faʻaleleia na faʻaalia vave, o lea na talafeagai ai. Ae ui i lea, e le mafai ona matou faʻafouina le fatu ile CentOS ona o le FragmentSmack vulnerability, lea na faʻaalia i le CentOS 7.5, na faʻamautu i le version 7.6, o lea na tatau ai ona matou taofi le faʻafouga i le 7.5 ma toe amata uma i le faʻafouga i le 7.6. Ma e tupu foi lenei mea.

Lona lua, e seasea fa'asea a tagata fa'aoga e uiga i fa'afitauli ua toe fo'i mai ia i matou. O lea ua uma ona matou iloa mautinoa e fesoʻotaʻi uma i latou i le tuʻuina atu o faila mai tagata faʻatau i nisi o matou 'auʻaunaga. E le gata i lea, o se numera laʻititi o faʻapipiʻi mai le aofaʻi atoa na alu atu i nei 'auʻaunaga.

E pei ona tatou manatua mai le tala o loʻo i luga, o le taʻavale i tua Sysctl e leʻi fesoasoani. Na fesoasoani le toe fa'afouina, ae mo sina taimi.
O masalosaloga e uiga i Sysctl e leʻi aveesea, ae o le taimi lea na tatau ai ona aoina le tele o faʻamatalaga e mafai. Sa i ai foi le tele o le le lava o le mafai ona toe faia le faʻafitauli o le lafoina i luga o le kalani ina ia mafai ai ona suʻesuʻe atili saʻo le mea o loʻo tupu.

O su'esu'ega o fa'amaumauga uma na maua ma ogalaau e le'i fa'alatalata atili ai i matou i le malamalama i le mea o lo'o tupu. Sa i ai le le lava o le gafatia e toe faʻaleleia le faʻafitauli ina ia "lagona" se fesoʻotaʻiga patino. Mulimuli ane, o le au atiaʻe, faʻaaogaina se faʻamatalaga faʻapitoa o le talosaga, na mafai ona ausia le toe faʻaleleia o faʻafitauli i luga o se masini suʻega pe a fesoʻotaʻi e ala i le Wi-Fi. O se fa'amanuiaga lea i le su'esu'ega. O le tagata o tausia e fesoʻotaʻi atu i Nginx, lea na sui i le pito i tua, o le matou Java talosaga.

Faʻaeteete i faʻafitauli e aumaia ai galuega. Vaega 1: FragmentSmack/SegmentSmack

O le talanoaga mo faʻafitauli e pei o lenei (faʻamau i luga o le Nginx sui sui):

  1. Tagata fa'atau: talosaga e maua fa'amatalaga e uiga i le la'uina o se faila.
  2. Java server: tali.
  3. Tagata fa'atau: POST ma faila.
  4. Java server: sese.

I le taimi lava e tasi, e tusi le Java server i le ogalaau e 0 bytes o faʻamaumauga na maua mai le kalani, ma o le sui Nginx na tusia e sili atu i le 30 sekone le talosaga (30 sekone o le taimi e tuʻu ai le talosaga a le kalani). Aisea ua fa'agata ai ma aisea e 0 bytes? Mai se vaaiga HTTP, o mea uma e galue e pei ona tatau ai, ae o le POST ma le faila e foliga mai ua mou atu mai le upega tafailagi. E le gata i lea, e mou atu i le va o le kalani ma Nginx. Ua oʻo i le taimi e faʻaauupegaina ai oe i Tcpdump! Ae muamua e tatau ona e malamalama i le faatulagaga o fesootaiga. Nginx sui o loʻo i tua o le L3 paleni NFware. E fa'aogaina le tune e momoli ai pepa mai le L3 paleni i le 'au'aunaga, lea e fa'aopoopoina ai ona ulutala i fa'aputu:

Faʻaeteete i faʻafitauli e aumaia ai galuega. Vaega 1: FragmentSmack/SegmentSmack

I lenei tulaga, o le fesoʻotaʻiga e oʻo mai i lenei 'auʻaunaga i le tulaga o le Vlan-tagged traffic, lea e faʻaopoopoina ai foi ana lava fanua i afifi:

Faʻaeteete i faʻafitauli e aumaia ai galuega. Vaega 1: FragmentSmack/SegmentSmack

Ma e mafai foʻi ona vaevaeina lenei taʻavale (o le pasene laʻititi lea o fefaʻatauaʻiga o loʻo oʻo mai na matou talanoa i ai pe a suʻesuʻeina tulaga lamatia mai le Workaround), lea e suia ai foʻi mea o ulutala:

Faʻaeteete i faʻafitauli e aumaia ai galuega. Vaega 1: FragmentSmack/SegmentSmack

Toe tasi: o afifi o loʻo faʻapipiʻiina i se Vlan tag, faʻapipiʻiina i se alavai, faʻamavae. Ina ia malamalama atili pe faʻafefea ona tupu lenei mea, seʻi o tatou suʻesuʻeina le auala mai le kalani ile sui Nginx.

  1. O le afifi e oʻo atu i le paleni L3. Mo le auala sa'o i totonu o le nofoaga autu o fa'amatalaga, o lo'o fa'apipi'i le pepa i totonu o se alavai ma lafo i le kata feso'ota'iga.
  2. Talu ai e le ofi i totonu o le MTU le packet + tunnel header, o le pepa e tipi i ni vaega ma lafo i le fesoʻotaʻiga.
  3. O le ki pe a uma le paleni L3, pe a maua se afifi, faʻaopoopo i ai se Vlan tag ma lafo i luga.
  4. O le ki i luma o le sui o Nginx e vaʻaia (faʻavae i luga o le taulaga) o loʻo faʻamoemoeina e le 'auʻaunaga se pusa Vlan-encapsulated, o lea e tuʻuina atu ai, e aunoa ma le aveesea o le Vlan tag.
  5. E ave e Linux ni vaega o afifi ta'itasi ma tu'ufa'atasia i totonu o se tasi afifi tele.
  6. Le isi, o le afifi e oʻo atu i le Vlan interface, lea e aveese ai le vaega muamua - Vlan encapsulation.
  7. Ona tuʻuina atu lea e Linux i le tunnel interface, lea e aveese ai se isi vaega mai ai - Tunnel encapsulation.

O le faigata o le pasia o nei mea uma e fai ma tapulaʻa i tcpdump.
Tatou amata mai i le faaiuga: o iai mama (e aunoa ma ni ulutala e le manaʻomia) IP mai tagata faʻatau, faʻatasi ai ma le vlan ma le tunnel encapsulation ua aveese?

tcpdump host <ip клиента>

Leai, e leai ni afifi faapena i luga o le server. E tatau la ona iai muamua le faafitauli. E i ai ni afifi e na'o Vlan encapsulation ua aveese?

tcpdump ip[32:4]=0xx390x2xx

0xx390x2xx ole tuatusi IP ole kalani ile fa'asologa o le hex.
32: 4 - tuatusi ma le umi o le fanua lea o loʻo tusia ai le SCR IP i totonu o le afifi Tunnel.

O le tuatusi fanua e tatau ona filifilia e le malosi, talu ai i luga ole Initaneti latou te tusia ai le 40, 44, 50, 54, ae leai se tuatusi IP iina. E mafai foi ona e vaʻai i se tasi o paʻu i le hex (le -xx poʻo le -XX parakalafa i tcpdump) ma fuafua le tuatusi IP e te iloa.

O iai ni fasi pepa e aunoa ma le Vlan ma le Tunnel encapsulation ua aveese?

tcpdump ((ip[6:2] > 0) and (not ip[6] = 64))

O lenei togafiti faʻataulāitu o le a faʻaalia ia i tatou uma vaega, e aofia ai le mea mulimuli. Masalo, o le mea lava lea e tasi e mafai ona faʻamama e le IP, ae ou te leʻi taumafai, aua e le tele naua ia pepa, ma o mea na ou manaʻomia na faigofie ona maua i le tafe lautele. O i latou nei:

14:02:58.471063 In 00:de:ff:1a:94:11 ethertype IPv4 (0x0800), length 1516: (tos 0x0, ttl 63, id 53652, offset 0, flags [+], proto IPIP (4), length 1500)
    11.11.11.11 > 22.22.22.22: truncated-ip - 20 bytes missing! (tos 0x0, ttl 50, id 57750, offset 0, flags [DF], proto TCP (6), length 1500)
    33.33.33.33.33333 > 44.44.44.44.80: Flags [.], seq 0:1448, ack 1, win 343, options [nop,nop,TS val 11660691 ecr 2998165860], length 1448
        0x0000: 0000 0001 0006 00de fb1a 9441 0000 0800 ...........A....
        0x0010: 4500 05dc d194 2000 3f09 d5fb 0a66 387d E.......?....f8}
        0x0020: 1x67 7899 4500 06xx e198 4000 3206 6xx4 [email protected].
        0x0030: b291 x9xx x345 2541 83b9 0050 9740 0x04 .......A...P.@..
        0x0040: 6444 4939 8010 0257 8c3c 0000 0101 080x dDI9...W.......
        0x0050: 00b1 ed93 b2b4 6964 xxd8 ffe1 006a 4578 ......ad.....jEx
        0x0060: 6966 0000 4x4d 002a 0500 0008 0004 0100 if..MM.*........

14:02:58.471103 In 00:de:ff:1a:94:11 ethertype IPv4 (0x0800), length 62: (tos 0x0, ttl 63, id 53652, offset 1480, flags [none], proto IPIP (4), length 40)
    11.11.11.11 > 22.22.22.22: ip-proto-4
        0x0000: 0000 0001 0006 00de fb1a 9441 0000 0800 ...........A....
        0x0010: 4500 0028 d194 00b9 3f04 faf6 2x76 385x E..(....?....f8}
        0x0020: 1x76 6545 xxxx 1x11 2d2c 0c21 8016 8e43 .faE...D-,.!...C
        0x0030: x978 e91d x9b0 d608 0000 0000 0000 7c31 .x............|Q
        0x0040: 881d c4b6 0000 0000 0000 0000 0000 ..............

O vaega nei e lua o le afifi e tasi (ID tutusa 53652) ma se ata (o le upu Exif o loʻo iloa i le afifi muamua). Ona o le mea moni o loʻo i ai afifi i lenei tulaga, ae le o le tuʻufaʻatasia fomu i totonu o lapisi, o le faʻafitauli e manino lava i le faʻapotopotoga. Mulimuli ane o loʻo i ai faʻamaoniga faʻamaonia o lenei mea!

E le'i fa'aalia mai e le fa'ailoga fa'aputu ni fa'afitauli e ono taofia ai le fausiaina. Sa taumafai iinei: hpd.gasmi.net. I le taimi muamua, pe a e taumafai e faʻapipiʻi se mea iina, e le fiafia le decoder i le faatulagaga o le pepa. Na aliali mai o loʻo i ai ni isi lua octets i le va o Srcmac ma Ethertype (e le fesoʻotaʻi ma faʻamatalaga faʻamatalaga). Ina ua uma ona aveese, na amata ona galue le decoder. Ae ui i lea, e leai ni faʻafitauli.
Po o le a lava se tala a se tasi, e leai se isi mea na maua sei vagana ai na Sysctl. Pau lava le mea na totoe o le sailia lea o se auala e iloa ai faʻafitauli faʻafitauli ina ia malamalama ai i le fua ma filifili i nisi gaioiga. Sa vave ona maua le fata mana'omia:

netstat -s | grep "packet reassembles failed”

O loʻo i ai foi i le snmpd i lalo ole OID=1.3.6.1.2.1.4.31.1.1.16.1 (ipSystemStatsReasmFails).

"O le numera o faʻaletonu na iloa e le IP re-assembly algorithm (po o le a lava le mafuaʻaga: taimi, mea sese, ma isi)."

I totonu o le vaega o 'auʻaunaga na suʻesuʻeina ai le faʻafitauli, i luga o le lua o lenei fata na faʻateleina vave, i luga o le lua faʻagesegese, ma i luga o le lua e leʻi faʻateleina. O le faʻatusatusaina o le malosi o lenei faʻatau ma le faʻamalosi o mea sese HTTP i luga o le Java server na faʻaalia ai se faʻasalalauga. O lona uiga, e mafai ona mata'ituina le mita.

O le i ai o se faʻamaoniga faʻamaonia o faʻafitauli e taua tele ina ia mafai ai ona e faʻamaonia saʻo pe fesoasoani le toe foʻi mai o Sysctl, talu ai mai le tala talu ai tatou te iloa e le mafai ona vave malamalama i ai mai le talosaga. O lenei fa'ailoga e mafai ai ona matou iloa uma vaega fa'afitauli i le gaosiga a'o le'i mauaina e tagata fa'aoga.
Ina ua uma ona toe faʻafoʻi le Sysctl, na taofia le mataʻituina o mea sese, o lea na faʻamaonia ai le mafuaʻaga o faʻafitauli, faʻapea foʻi ma le mea moni e fesoasoani le rollback.

Na matou toe foʻi i tua le faʻasologa o vaevaega i luga o isi 'auʻaunaga, lea na amata ai le mataʻituina fou, ma i se mea na matou tuʻuina atu ai le tele o manatuaga mo vaevaega nai lo le taimi muamua o le faaletonu (o le UDP statistics, o le leiloa o se vaega e le o maitauina i le lautele lautele) .

O fesili sili ona taua

Aisea ua vaevae ai pepa i luga ole tatou L3 paleni? Ole tele ole afifi e sau mai tagata fa'aoga ile paleni ole SYN ma le ACK. O lapopoa o nei afifi e laiti. Ae talu ai o le vaega o ia pepa e matua tele, e tusa ai ma o latou talaaga, matou te leʻi matauina le i ai o pepa lapopoa na amata ona taape.

O le mafuaʻaga o se faʻasologa o tusitusiga ua malepe advmss i luga o sapalai ma Vlan fesoʻotaʻiga (e toʻaitiiti lava 'auʻaunaga e faʻailogaina fefaʻatauaiga i le gaosiga i lena taimi). Advmss e mafai ai ona matou fa'ailoa atu i le tagata o tausia le fa'amatalaga e tatau ona la'ititi le lapopo'a o afifi i la matou itu ina ia a uma ona fa'apipi'i ulutala tunnel ia i latou e le tatau ona vaevae.

Aisea na le fesoasoani ai le Sysctl rollback, ae toe faʻaleleia? Toe fa'afo'i le Sysctl na suia le aofa'i o manatua e avanoa mo le tu'ufa'atasia o afifi. I le taimi lava e tasi, e foliga mai o le mea moni o le manatua o le tele o vaega na mafua ai le faʻagesegese o fesoʻotaʻiga, lea na mafua ai ona tuai vaega mo se taimi umi i le laina. O lona uiga, o le faagasologa na alu i taamilosaga.
O le toe faʻafouina na faʻamalo ai le manatua ma toe foʻi mea uma i le faʻatonuga.

Pe na mafai ona fai e aunoa ma se Fa'atonuga? Ioe, ae o loʻo i ai se tulaga maualuga o le tuʻuina atu o tagata faʻaoga e aunoa ma se tautua pe a tupu se osofaʻiga. O le mea moni, o le faʻaaogaina o le Workaround na iʻu ai i faʻafitauli eseese, e aofia ai le faʻagesegese o se tasi o auʻaunaga mo tagata faʻaoga, ae ui i lea matou te talitonu o gaioiga na faʻamaonia.

Faafetai tele ia Andrey Timofeev (atimofeyev) mo fesoasoani i le faia o le suʻesuʻega, faʻapea foʻi ma Alexey Krenev (masinix) - mo le galuega titanic o le faʻafouina o Centos ma fatu i luga o sapalai. O se faagasologa i lenei tulaga sa tatau ona amata mai le amataga i le tele o taimi, o le mafuaaga lea na toso ai mo le tele o masina.

puna: www.habr.com

Faaopoopo i ai se faamatalaga