Ережені өзгертудің алдында бір рет қосылып, клиенттің ілулі қалатынын немесе бірден қабылданбайтынын жазып алыңыз. Осы бір айырмашылық қай шешімнің пакетті тастағанын айтады және саясат файлдарын оқуға кететін бір сағатты үнемдейді. Жолдың қалғаны қысқа: пакет ілгектен өтеді, ережемен сәйкеседі және не тыңдаушыға жетеді, не жетпейді. Рұқсат тізімі осы үш фактінің айналасындағы есеп қана.

Бір SSH әрекетін кіру ілгегіне дейін бақылаңыз

Клиент хосттың мекенжайына 22 порты арқылы SYN жібереді, ал ядро бұл пакеттің жергілікті қызметке арналғанын шешеді. Егер солай болса, кіру жолы іске қосылады және ережелер жиынтығы пакетті қабылдайды немесе тастайды. Үнсіздік SYN тыңдаушы оны көрмей тұрып өлгенін білдіреді, ал жылдам бас тарту бірдеңенің қайта орнатумен жауап бергенін білдіреді. Бұл әртүрлі ережелердің әртүрлі үкімдері және екеуі де заңды нәтиже.

Содан кейін тыңдаушыны растаңыз, өйткені жоқ қызметті ешбір ереже құтқара алмайды. ss -ltnp іске қосып, күткен порт пен мекенжай тобына бірдеңе байланғанын тексеріңіз, содан кейін клиентте ssh -v оқып, оның қайда тоқтайтынын көріңіз.

Қайта бағыттау — жеке шешім

VPN серверінде қызығырақ ілгек — forward, өйткені клиент трафигі машинаға жеткізілмей, оның ішінен маршрутталады. Тек өзінің VPN клиентін іске қосатын хост басқалардың пакеттерін өткізетін хостқа қарағанда әлдеқайда кіші ережелер жиынтығын қажет етеді. Екі дизайнды бір машинада араластыру дұрыс көрінетін және ештеңе өткізбейтін ережелер тудырады.

Ішкі саясатты жеке сұрақ ретінде жазыңыз: қай клиент мекенжайлары туннель арқылы қай мақсаттарға жете алады. Әкімшілік жолды, мысалы SSH-ды, өз көз шектеуімен кіру жолында ұстаңыз. Тестілеу кезінде қосылған рұқсатты forward ережесі — тесттен ұзақ өмір сүретін классикалық ақау, сондықтан өзгерістен кейін өңдеген бір жолды емес, бүкіл жиынтықты қарап шығыңыз. Туннель тыңдаушысын ашу әр қосылған клиентке хостты басқаруға рұқсат емес.

Тастау мен бас тарту — әрекеттер, саясат емес

Негізгі тізбек саясаты қабылдайды немесе тастайды және бұл таңдаулардың толық тізімі, nftables анықтамалығы айтқандай. Бас тарту таңдалған жауабы бар ереже әрекеті ретінде бар, сондықтан оны саясат ретінде жазу nftables-те де, iptables-те де сәтсіз аяқталады. Іс жүзінде drop клиентке ешқандай ақпарат бермейді, ал reject оған әрекет етуге болатын қате береді.

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
    }
}

Бұл эскизді қоюға арналған файл емес, шешімнің пішіні ретінде оқыңыз, өйткені мекенжай ауқымдары мысал. SSH портындағы айқын reject рұқсатсыз клиентті тайм-аут күтудің орнына бір секундта сәтсіз етеді, бұл өз жөндеуіңізді қысқартады. Үнсіздік кездейсоқ скандауды тежейді және рұқсат етілген қолданушыға ештеңе айтпайды. Әр қызмет бойынша таңдап, себебін жазыңыз, әйтпесе келесі адам оны қайтадан өзгертеді.

Шынымен қажет басқару трафигін сақтаңыз

Барлық ICMP-ны блоктау — жолдың MTU анықтауын бұзатын танымал әдепкі, ал симптом үлкенірек пакеттерде тұрып қалатын байланыс. IPv6-да көршілерді анықтау өзінің ICMPv6 түрлеріне тәуелді, ал оларды тастау кез келген TCP ережесі қаралғанға дейін байланысты үзеді. Екеуі де жалпы рұқсат ретінде емес, атаулы тәуелділік ретінде рұқсат тізіміне жатады. Анықтауды үнсіз бұзатын саясат аздаған диагностикалық трафикке жол беретін саясаттан нашар.

Өзіңіз бастаған қосылымдар үшін established және related күйлеріне рұқсат беріңіз, жауаптарды күйді бақылайтын қозғалтқышқа қалдырыңыз. Содан кейін жауап жолы әрі қарай блокталмағанын растаңыз, өйткені тек шығыс трафигіне қойылған жоғарғы шектеу хостты кінәлайын деп тұрған сол тайм-аутты тудырады.

Ескі жолдан бас тартпас бұрын қалпына келуді дәлелдеңіз

Консоль сессиясын ашық ұстап, өзгерісті қолданыңыз және басқа терминалдан мүлде жаңа басқару қосылымын ашыңыз. Бар сессия ештеңені дәлелдемейді, өйткені ол әрбір жаңа кіруді блоктайтын ережеден аман қалуы мүмкін, бұл оны брандмауэр жұмысындағы ең сенімді жалған оң нәтижеге айналдырады. Егер мониторинг жүйесі хостты тексеретін болса, оның көз мекенжайын бірінші дабылдан кейін емес, өзгеріске дейін қосыңыз. Содан кейін бір үлкен және бір кіші пакетті сынап, анықтаудың әлі жұмыс істейтінін дәлелдеңіз.

VPN қызметі үшін ешқашан қосылмаған клиенттен қайталаңыз, өйткені жалғасқан сессия жаңа сессия келісуі тиіс күйді қайта пайдалануы мүмкін. Өткен нақты ережелер жиынтығын бақылау сомасымен немесе көшірмемен жазып алыңыз, кейінгі өңдеу болжаммен емес, салыстырылсын. Ереже ретін иеленушімен келісіңіз, өйткені бұрынғы ереже сіз қосқан ережеден үнсіз жеңеді.

Қатысты мақалалар