Вы запускаеце ss -lntup на хаце Access Server і атрымліваеце спіс удвая даўжэйшы, чым чакалася. Палова запісаў — гэта падобныя на дэманы парты, пра якія ніхто не згадваў падчас наладкі. Рэфлекс — закрыць усё, што не 443 і не 1194, і менавіта так людзі ламаюць свой кліенцкі партал.

Access Server — гэта не адзін слухач. Гэта VPN-сэрвіс, вэб-сэрвіс і ўдзельнік кластара, і ён можа ствараць дадатковыя парты, спецыфічныя для дэманаў, і перанакіраванні файрвола ў залежнасці ад колькасці наладжаных дэманаў TCP.

Прайдзіце інвентар па парадку: прачытайце сокеты, супастаўце знаёмыя, класіфікуйце астатнія па ўладальніку і прывязцы, а затым праверце, што насамрэч іх публікуе.

Пачніце з адной каманды толькі для чытання

sudo ss -lntup дае вам транспарт, лакальны адрас, порт і працэс-уладальнік для кожнага слухаючага сокета. Сцягі важныя: -l слуханне, -n лікі, -t TCP, -u UDP, -p працэс. Без root вы атрымаеце сокеты, але не імёны працэсаў, а гэта менавіта той слупок, які патрэбны для класіфікацыі.

Запішыце чатыры палі на радок, перш чым фарміраваць меркаванне: пратакол, адрас прывязкі, порт і каманда. Трымайце версію Access Server і наладжаную колькасць дэманаў побач з гэтым спісам, бо абодва змяняюць тое, што чакаецца.

Два радкі, якія выглядаюць аднолькава, не аднолькавыя. TCP і UDP на адным нумары — гэта асобныя сокеты з асобным уздзеяннем, а 0.0.0.0 і :: — асобныя прывязкі для асобных сямействаў адрасоў. Сэрвіс, прывязаны толькі да 127.0.0.1, недасягальны непасрэдна з іншага хоста, хоць лакальнае перанакіраванне ўсё яшчэ можа яго апублікаваць.

Слухачы, якія вы павінны пазнаваць

Гэтыя значэнні па змаўчанні ахопліваюць большасць разгортванняў і даюць вам базавую лінію для параўнання. Гэта значэнні па змаўчанні, а не поўны спіс дазволаў.

SocketRole to confirm
UDP 1194OpenVPN UDP tunnel listener
TCP 443OpenVPN TCP listener, optionally forwarded to the web service
TCP 943Admin and client web interfaces, and cluster control in Access Server 3.0 and later
TCP 945Cluster control in older configurations that predate the move to 943

Усё звыш гэтага патрабуе тлумачэння, а не дапушчэння. Вы часта ўбачыце слухачы толькі для лакальнага доступу, якія належаць кампанентам, што прадукт усталёўвае для сябе. Пацвердзіце іх праз PID і канфігурацыю сэрвісу, а не праз запомнены нумар порта, і не лічыце незнаёмы порт варожым толькі з-за незнаёмасці.

Сокет па-за знаёмай парай таксама не абавязкова рэштка. Калі наладжана некалькі дэманаў TCP, Access Server стварае слухачы для кожнага дэмана і перанакіроўвае трафік да іх, таму іх колькасць і значэнні партоў адпавядаюць гэтай канфігурацыі.

Класіфікуйце, перш чым нешта закрываць

Для кожнага няпэўнага радка адкажыце на тры пытанні ў гэтым парадку.

  1. Уладальнік і прызначэнне. Супастаўце PID з юнітам або працэсам і прачытайце канфігурацыю гэтага сэрвісу. Калі вы не можаце назваць уладальніка, вы не гатовыя вырашаць што-небудзь пра сокет.
  2. Межы прывязкі. Loopback лакальны для прасторы імёнаў. Прывязка да wildcard дасягальная, толькі калі маршрутызацыя, фільтрацыя хоста і любыя правілы ўзроўню воблака гэта дазваляюць, таму адрас прывязкі неабходны, але недастатковы. Праверце IPv4 і IPv6 як асобныя рашэнні.
  3. Апублікаваны шлях. Шукайце перанакіраванне сэрвісу, перанакіраванні, спецыфічныя для дэманаў, знешні проксі і эфектыўную палітыку файрвола. Гэта крок, які людзі прапускаюць, і менавіта ён ператварае бэкенд-порт, што выглядае бясшкодным, у дасягальны адміністрацыйны шлях.

Тое ж пытанне чытаецца інакш з-за межаў хоста. Порт без правіла файрвола хоста ўсё яшчэ можа быць закрыты групай бяспекі воблака, а порт з дазваляльным правілам хоста можа быць недасягальным, бо нішто да яго не маршрутызуецца. Паглядзіце на абодва канцы, перш чым пісаць выснову інвентара.

Дзе апублікаваны шлях адрозніваецца ад спісу сокетаў

Уласная дакументацыя Access Server ахоплівае выпадак, які выклікае найбольшую блытаніну: калі працуюць некалькі дэманаў TCP, франтальны порт перанакіроўвае на парты, спецыфічныя для дэманаў, і бачная кампаноўка перастае адпавядаць спісу сокетаў. А падручнік па фільтрацыі вэб-інтэрфейсу апісвае гэтыя правілы і тое, чаму фільтр, напісаны толькі для відавочнага порта, можа цалкам прапусціць перанакіраваны шлях.

Кіраванне кластарам — другое месца, дзе важная версія. У 3.0 і навейшых ён выкарыстоўвае 943; старыя канфігурацыі кластара выкарыстоўвалі 945. Адкрыццё або блакаванне аднаго з іх без праверкі версіі стварае інвентар, які выглядае акуратна і пры гэтым памылковы.

Такім чынам, знешне бачная паверхня — гэта аб’яднанне трох рэчаў: слухаючых сокетаў, правілаў перанакіравання, якія іх перавыдаюць, і сеткавых кантроляў перад хостам. Любы інвентар, які запісвае толькі першае, няпоўны, і любое змяненне, якое ўлічвае толькі першае, альбо пакіне шлях адкрытым, альбо адрэжа сэрвіс.

Праверце пасля любога змянення

Змяняйце налады слухача праз падтрымліванага ўладальніка канфігурацыі і трымайце кансоль аднаўлення адкрытай, пакуль робіце гэта. Страта адміністрацыйнага доступу да вэб-інтэрфейсу на аддаленым хосце не аднаўляецца праз VPN, які вы толькі што адключылі.

Затым праверце чатыры рэчы, якія звычайна патрэбны разгортванню: кліент VPN падключаецца, кліенцкі партал загружаецца, адміністрацыйны доступ працуе, і сувязь кластара па-ранейшаму функцыянуе, калі вы запускаеце больш за адзін вузел. Тэст толькі VPN праходзіць спакойна, пакуль партал зламаны.

Завяршыце, запісаўшы дазволены шлях для кожнага сэрвісу: які сокет, якая прывязка, якое правіла перанакіравання, які сеткавы кантроль. Гэты дакумент — карысны вынік па бяспецы. Мінімальная колькасць сокетаў — не, як і масавы скід, што закрывае слухачы, якія ніхто не паспеў ідэнтыфікаваць.

Падобныя артыкулы