tun0 жокпу? nftables ичиндеги чечилген IPsec-ти meta ipsec менен дал келтириңиз
Саясатка негизделген шлюз дагы эле eth0 аркылуу келген ачык ички пакеттерди өткөрөт. Жок интерфейсти эмес, коопсуздук жолун жана кызматты дал келтириңиз.
Сиз туннель интерфейсин күтөсүз, аны издеп жатасыз, бирок брандмауэрде дал келтире турган эч нерсе жок. Бул саясатка негизделген шлюз үчүн кадимки: шифрленген алмашуу физикалык интерфейске келет, жана андан кийин өткөрүлгөн чечилген ички пакет да ошол эле интерфейске келе жаткандай байкалат. tun0 жок, анткени аны эч нерсе жараткан эмес.
Ички суроо дагы эле өзүнүн булагы, багыты жана кызматы бар өзүнчө пакет, жана ядро ал кайсы коопсуздук ассоциациясынан чыкканын билет. Ушул билимди брандмауэр эрежеси дал келтире алат.
Эки пакет, бир интерфейс
Кирүүчү багытты элестетиңиз. ESP же UDP менен капталган пакет келет, ядро дал келүүчү саясатты таап, шифрин чечип, ачык пакетти өткөрүү жолуна берет. Интерфейстин аталышына гана караган эреже ал пакетти ошол эле зым менен келген башка трафиктен ажырата албайт.
Аны айырмалаган нерсе — пакетке тиркелген кирүүчү коопсуздук жолунун контексти. nftables аны meta ipsec exists деп көрсөтөт, бул пакет IPsec коопсуздук жолу менен келгенде туура. Аны кардарлар пулу, багыт жана кызмат менен айкалыштырыңыз, эреже коопсуз болушу үчүн жетиштүү так болот.
Контекстти калтырып кетүү кеңири тараган ката, жана бул жасалга эмес, коопсуздук катасы. Кардарлар пулунан келгендин баарын кабыл алган эреже жергиликтүү тармактан келген жасалма пакетти да ошондой эле кубаныч менен кабыл алат, анткени булак дареги өз алдынча эч нерсенин далили эмес. Булакты маанилүү кылуунун эң арзан жолу — коопсуздук жолунун контексти. Эрежени аудиттен кийин кошуунун ордуна башынан эле ошол контекст менен жазыңыз.
Өткөрүү эрежесин жазыңыз
10.90.0.0/24 ичинде кардарлары бар аутентификацияланган IPv4 алыскы кирүү кызматы жана 203.0.113.40 дарегинде бир бекитилген багыт бар деп коёлу. Ошол агым үчүн эреженин үзүндүсү мындай көрүнөт.
meta ipsec exists ip saddr 10.90.0.0/24 \
ip daddr 203.0.113.40 tcp dport 443 \
oifname "eth0" counter accept
Даректер жана интерфейс алмаштырылуучу мисалдар. Текшерилген барабарды агымды болбосо четке кага турган эрежеден мурун өткөрүү саясатына коюңуз, жана аны орнотуу үчүн бардык эрежелер жыйнагын тазалабаңыз; шлюз таза бөлмө эксперименти эмес.
oifname терминин сактаган жөн. Ал чыгуу чечимин документтештирет жана эреженин сиз ойлобогон багытта дал келишин болтурбайт, бул интернетке бир нече жолу бар шлюзде маанилүү. Бир гана жогорку каналы бар сыноо кутусунда термин ашыкча көрүнөт, ошондуктан куту экинчи каналды алаардан мурун ал алынып салынат.
Сырткы алмашууга уруксаттар өзүнчө. Шлюздун кирүү жолуна ал иш жүзүндө колдонгон IKE жана ESP же UDP-каптоо порттору керек, жана бул уруксаттар ички чечилген пакет жөнүндө эч нерсеге уруксат бербейт. Экөөнү аралаштыруу — иштеп турган туннелдин баарын өткөргөн брандмауэрге туш болушунун жолу.
Кирүүчү контекст чыгуучу контекст эмес
Ошол эле сүйлөмдөр үй-бүлөсү карама-каршы багытты rt ipsec аркылуу камтыйт, ал пакет колдоно турган чыгуучу коопсуздук ассоциациясын сүрөттөйт. Ал башка суроого жооп берет: бул пакет кайдан келгени эмес, кийинки бөлүгүндө корголобу.
Бул айырма бир туннелди бүтүрүп, экинчисине өткөргөн шлюзде маанилүү. Пакет чечилип келип, баары бир шифрленип кетиши мүмкүн, ал эми кирүүчү контекст үчүн гана жазылган уруксат чыгуучу талап жөнүндө эч нерсе айтпайды. Эгер саясат ошол коргоону талап кылса, эрежелер жыйнагы аны билдириши керек, маршруттоо чечет деп болжолдоонун ордуна.
Эки суроону өзүнчө эрежелерде кармаңыз, окуучу кайсы аткарылып жатканын көрсүн. Экөөнү тең текшерген бир акылдуу эрежени карап чыгуу кыйыныраак, ал эми анын жарымы дал келүүнү токтоткондо ката издөө андан да кыйын. Эсептегичтери бар эки эреже кайсы талап аткарылбай жатканын да айтат, бир бириктирилген эреже муну эч качан кылбайт.
NAT брандмауэр чечими эмес
Жеке кардарлар пулунан интернетке кетүүчү трафик адатта булак котормосун талап кылат, антпесе жооп кайтуу жолун таппайт. Бирок башка чыгуучу IPsec саясаты үчүн тандалган трафик өзүнүн керектүү жеңилдигин сакташы керек, ал эми кийинки коргоо чечими жөнүндө ойлонбой ар бир жеке булакты жашыруу муну бузат.
NAT чынжырынын ичиндеги уруксат да жалпы уруксат эмес. NAT жана чыпкалоонун иштери башка, жана NAT чынжыры орнотулган агымдын ар бир кийинки пакетин текшербейт, ошондуктан коопсуздук үчүн ага таянуу сыноодо иштегендей көрүнгөн жана жүктөм астында ишке ашпаган эрежелерди жаратат.
Тескерисинче да туура жана адамдарды таң калтырат: бир чыпка негизги чынжырынын кайсы бир жериндеги уруксат башка колдонулуучу чынжырдагы кийинки баш тартууга каршы эч кандай салмакка ээ эмес. Натыйжаны тартип жана чынжырдын камтылышы чечет, файлда уруксаттын болушу эмес.
Так ички кызматты текшериңиз
Сиз уруксат берген так багытты жана портту чыныгы кардардан сынап, жооп кайтарын ырастаңыз. Анан уруксат бербеген нерсени сынап, анын өтпөй турганын текшериңиз, анткени өтө кенен эреже биринчи сыноодон туура эрежедей эле өтөт. Кардардан эч качан чыкпаган суроо да брандмауэрдин натыйжасы эмес, ошондуктан пакеттин бааланышын билүү үчүн эсептегичтерди окуңуз. Эки сыноо жана бир эсептегич окуу сизге эрежелер жыйнагын окууга кеткен бүт түштөн кийинки убакыттан көбүрөөк айтат.
nftables маалымдамасы meta ipsec, rt ipsec жана багытка мүнөздүү сүйлөмдөрдү документтештирет, жана синтаксисти орнотулган версияңыз менен салыштырып текшере турган жер — ошол. Камтылышты ачык кармаңыз: бул IPv4 мисалы, ал IPv6 жөнүндө эч нерсе айтпайт жана кокустан ачык портторду өткөрүүнү VPN кызматынын бөлүгүнө айландырбайт.