Mga patakaran ng pagpasok sa SSH at VPN: ano talaga ang kinokontrol ng allowlist
Sundan ang isang koneksyon mula sa kliyente hanggang sa host: aling hook ang tinatawid nito, bakit iba ang ibig sabihin ng pag-hang at pagtanggi at bakit hindi kailanman patakaran ang reject.
Kumonekta nang isang beses bago magbago ng patakaran at itala kung nag-hang ang kliyente o tinatanggihan agad. Ang nag-iisang pagkakaibang iyon ang nagsasabi kung aling desisyon ang nagtapon ng pakete at nagtitipid ng isang oras sa pagbasa ng mga file ng patakaran. Maikli ang natitirang paglalakbay: tinatawid ng pakete ang isang hook, tumutugma sa isang patakaran at nakarating sa isang tagapakinig o hindi. Ang allowlist ay bookkeeping lamang sa paligid ng tatlong katotohanang iyon.
Sundan ang isang pagtatangkang SSH hanggang sa hook ng pagpasok
Nagpapadala ang kliyente ng SYN sa address ng host sa port 22, at nagpapasya ang kernel kung para sa lokal na serbisyo ang paketeng iyon. Kung oo, tumatakbo ang landas ng pagpasok at tinatanggap ng hanay ng patakaran ang pakete o itinatapon ito. Ang katahimikan ay nangangahulugang namatay ang SYN bago pa ito makita ng tagapakinig, samantalang ang mabilis na pagtanggi ay nangangahulugang may sumagot gamit ang isang reset. Magkaibang hatol ang mga ito mula sa magkaibang patakaran, at pareho silang lehitimong kinalabasan.
Pagkatapos ay tiyakin ang tagapakinig, dahil walang patakarang makakapagligtas sa serbisyong wala. Patakbuhin ang ss -ltnp at tingnan kung may nakatali sa port at pamilya ng address na inaasahan mo, pagkatapos basahin ang ssh -v sa kliyente upang makita kung saan ito tumitigil.
Ang pagpapasa ay hiwalay na desisyon
Sa isang VPN server ang mas kawili-wiling hook ay forward, dahil ang trapiko ng kliyente ay dumadaan sa makina sa halip na ihatid dito. Ang host na nagpapatakbo lamang ng sarili nitong VPN client ay nangangailangan ng mas maliit na hanay ng patakaran kaysa sa isang nagpapasa ng mga pakete ng ibang tao. Ang paghahalo ng dalawang disenyo sa isang makina ay lumilikha ng mga patakarang mukhang tama at walang pinapayagang dumaan.
Isulat ang panloob na patakaran bilang sariling tanong: aling mga address ng kliyente ang makakaabot sa aling mga destinasyon sa pamamagitan ng tunnel. Panatilihin ang landas ng administrasyon, tulad ng SSH, sa landas ng pagpasok na may sariling paghihigpit sa pinagmulan. Ang maluwag na patakarang forward na idinagdag habang nagtetest ay ang klasikong depektong nabubuhay nang mas mahaba kaysa sa test, kaya pagkatapos ng pagbabago suriin ang buong hanay ng patakaran at hindi ang linyang inedit mo. Ang pagbubukas ng tagapakinig ng tunnel ay hindi pahintulot para sa bawat konektadong kliyente na pamahalaan ang host.
Ang drop at reject ay mga aksyon, hindi patakaran
Ang patakaran ng base chain ay tumatanggap o nagtatapon at iyon ang buong listahan ng pagpipilian, gaya ng sinasabi ng sanggunian ng nftables. Umiiral ang reject bilang aksyon ng patakaran na may piniling tugon, kaya nabigo ang pagsulat nito bilang patakaran sa nftables at iptables. Sa pagsasagawa, ang drop ay walang ibinibigay na impormasyon sa kliyente, samantalang ang reject ay nagbibigay dito ng error na maaari nitong aksyunan.
table inet admin {
chain input {
type filter hook input priority filter; policy drop;
ct state established,related accept
ip saddr 203.0.113.0/28 tcp dport 22 accept
udp dport 51820 accept
icmp type { destination-unreachable, time-exceeded } accept
}
}
Basahin ang sketch na iyon bilang hugis ng isang desisyon at hindi bilang file na ididikit, dahil halimbawa lamang ang mga saklaw ng address. Ang tahasang reject sa port ng SSH ay nagpapabagsak sa isang kliyenteng walang pahintulot sa loob ng isang segundo sa halip na maghintay ng timeout, na nagpapaikli sa sarili mong pag-debug. Ang katahimikan ay humihila palayo sa pagkakataong pag-scan at walang sinasabi sa awtorisadong gumagamit. Pumili ayon sa serbisyo at isulat kung bakit, kung hindi ay ibabalik ito ng susunod na tao.
Panatilihin ang trapiko ng kontrol na talagang kailangan mo
Ang pagharang sa lahat ng ICMP ay popular na default na sumisira sa pagtuklas ng MTU ng landas, at ang sintomas ay koneksyong nagtatatag at pagkatapos ay tumitigil sa mas malalaking pakete. Ang pagtuklas ng kapitbahay sa IPv6 ay nakadepende sa sarili nitong mga uri ng ICMPv6, at ang pagtatapon sa mga iyon ay sumisira sa link bago pa man tingnan ang anumang patakaran ng TCP. Pareho silang nabibilang sa allowlist bilang pinangalanang dependency at hindi bilang pangkalahatang pahintulot. Ang patakarang tahimik na sumisira sa pagtuklas ay mas masama kaysa sa isang tumatanggap ng kaunting trapikong diagnostic.
Payagan ang mga estadong established at related para sa mga koneksyong ikaw mismo ang nagpasimula, at hayaang ang engine na may kamalayan sa estado ang humawak ng mga tugon. Pagkatapos ay tiyakin na ang landas ng tugon ay hindi hinaharangan sa labas, dahil ang paghihigpit na para lamang sa papalabas na trapiko sa itaas ay gumagawa ng parehong timeout na malapit mo nang isisi sa host.
Patunayan ang pagbawi bago iwanan ang lumang landas
Panatilihing bukas ang isang sesyon ng console, ilapat ang pagbabago at magbukas ng ganap na bagong koneksyon ng pamamahala mula sa ibang terminal. Walang pinatutunayan ang umiiral nang sesyon, dahil maaari itong makaligtas sa patakarang humaharang sa bawat bagong pag-login, na ginagawa itong pinakamapaniwalang maling positibo sa gawaing firewall. Kung sinusuri ng isang sistema ng pagsubaybay ang host, idagdag ang address ng pinagmulan nito bago ang pagbabago at hindi pagkatapos ng unang alerto. Pagkatapos ay subukan ang isang malaking at isang maliit na pakete upang patunayang gumagana pa ang pagtuklas.
Para sa serbisyong VPN, ulitin mula sa kliyenteng hindi kailanman kumonekta, dahil ang naipagpatuloy na sesyon ay maaaring muling gumamit ng estadong kailangang pagkasunduan ng bago. Itala ang eksaktong hanay ng patakarang pumasa, kasama ang checksum o kopya, upang ang susunod na pag-edit ay maihambing sa halip na hulaan. Makipag-ugnayan sa may-ari ng pagkakasunod-sunod ng patakaran, dahil ang naunang patakaran ay tahimik na nananaig sa idinagdag mo.