Привремени врски на списокот дозволени IP адреси: што всушност дозволува одобрението
Врската што отвора порта на огнената брана дозволува адреса, а не личност. Определете го опсегот, барајте свесна потврда и тестирајте повторување, истекување и IPv6.
Претворањето на едно кликнување во привремено правило на огнената брана е удобно, а истовремено гради систем за авторизација што одлучува кој може да достигне некоја услуга. Издава адреса, а не личност, и таа разлика е важна во моментот кога две лица делат еден NAT. Определете го опсегот на одобрението, потврдете го свесно и дајте му значење на истекувањето пред да се изгради врската. Одлуката пред вас е каде да се постави границата, а не дали таа воопшто треба да постои.
Одлучете на кое прашање одговара одобрението
Почнете од барањето. Ако именувано лице треба да достигне услугата и апликацијата веќе го автентицира тоа лице, автентицираната порта го задржува идентитетот во точката на спроведување и воопшто не бара прифаќање адреса. Ако целта е градежен агент, административна скок-порта или уред што не може да учествува во најавувањето на корисникот, ограниченото одобрение на адреса може да биде единствената практична контрола.
Изборот на прифаќање по адреса за апликација свртена кон корисниците го преместува вистинскиот проблем на авторизација на друго место, а потоа порталот ја наследува вината за празнина што никогаш не ја затворил.
Ограничете го барањето на серверот
Браузерот не смее да ги избира одредиштето, портата или префиксот. Порталот ја разрешува услугата од своите записи и го проверува правото со тест на серверската страна, што е истиот принцип што упатството на OWASP за авторизација го применува на секое барање. Изведувањето на адресата исто така припаѓа на заштитената граница: кога обратен прокси ја известува адресата на клиентот, прифатете само конфигурираниот синџир на прокси и неговото документирано ракување со заглавија. Заглавието за препраќање што го доставува посетител е тврдење за потеклото, а не доказ за него.
Потоа проверете дали порталот и услугата го гледаат истиот извор. Поделениот тунел, еден скок преку прокси и IPv4 наспроти IPv6 можат да им дадат на две одредишта две различни адреси, па одобрение активирано по еден пат може да не го покрие следното барање.
Прикажете го одобрението пред да го инсталирате
Отворањето на врска треба да ја прикаже предложената услуга, набљудуваниот извор и времетраењето и засега да не менува ништо. Токму тој чекор ја претвора врската од е-поштата од дејство во предлог и го спречува ботот за преглед или скенерот за пошта да дадат пристап само со нејзино преземање.
Потврдата треба да биде барање што ја менува состојбата со вообичаените заштити од вкрстени сајтови и од потекло. Токенот треба да биде еднократен и атомски да се потроши во моментот кога се инсталира правилото, а записот треба да ги евидентира сопственикот, услугата, адресата, идентификаторот на одобрението и истекувањето, без некогаш да го логира сировиот токен.
Доставата на токенот заслужува исто толку грижа како и самото правило. Истечена или веќе потрошена врска што и понатаму создава правило е втора врата поставена со истиот клуч.
Адресата е заедничка дури и додека одобрението е активно
Канцелариски NAT, NAT на оператор и заеднички излез на VPN секој става по неколку лица зад една адреса. Прифаќањето на таа адреса ги прифаќа сите зад неа — колку што се однесува до следната граница на услугата —, а притоа не докажува ништо за тоа чија е сметката што ја очекува услугата.
Отстранувањето на правилото исто така не е универзално прекинување. Воспоставените врски, кешираните токени на апликации и долготрајните сесии можат да го надживеат правилото со минути или многу повеќе, па избраниот животен век треба да одразува што прави услугата по прифаќањето, а не само колку долго постои правилото.
Тестирајте четири случаи и двете семејства адреси
Одобрението е добро колку и четирите случаи што ги издржува: ново дозволено барање, неодобрен барател, повторување на истата врска и истото барање по истекувањето.
Потоа тестирајте го секое семејство одделно, бидејќи изворната адреса што ја набљудува услугата може да се разликува меѓу нив.
dig +short A service.example.com
dig +short AAAA service.example.com
curl -4 -sS -o /dev/null -w "%{http_code}\n" https://service.example.com
curl -6 -sS -o /dev/null -w "%{http_code}\n" https://service.example.com
Корисниот резултат е привремена, ревидирлива одлука за прифаќање под нормалната корисничка авторизација, наместо трајно отворање што го носи името на оној што кликнал прв.