Домен авторизациясы бар ишкана үчүн акысыз прокси сервер

Домен авторизациясы бар ишкана үчүн акысыз прокси сервер

pfSense+Squid менен https чыпкалоо + Active Directory топтору боюнча чыпкалоо менен бир жолу кирүү технологиясы (SSO)

кыскача маалымат

Ишканага колдонуучулар эч кандай кошумча сырсөздөрдү киргизбеши үчүн, сайттарга (анын ичинде https) кирүү мүмкүнчүлүгүн AD топтору боюнча чыпкалоо мүмкүнчүлүгү бар прокси серверди ишке киргизиши керек болчу, ал эми башкаруу веб-интерфейстен жасалышы мүмкүн. Жаман колдонмо эмес, туурабы?

Туура жооп, мисалы, Kerio Control же UserGate сыяктуу чечимдерди сатып алуу болмок, бирок ар дайым эле акча жок, бирок муктаждык бар.

Бул жерде жакшы эски кальмар жардамга келет, бирок дагы бир жолу, веб-интерфейсти кайдан алсам болот? SAMS2? Моралдык жактан эскирген. Бул жерде pfSense жардамга келет.

баяндоо

Бул макалада Squid прокси серверин кантип конфигурациялоо керектиги сүрөттөлөт.
Kerberos колдонуучуларды авторизациялоо үчүн колдонулат.
SquidGuard домен топтору боюнча чыпкалоо үчүн колдонулат.

Мониторинг үчүн Lightsquid, sqstat жана ички pfSense мониторинг системалары колдонулат.
Бирдиктүү кирүү (SSO) технологиясын ишке ашыруу менен байланышкан жалпы көйгөй да чечилет, тактап айтканда, алардын тутумдук эсебинин компас эсеби боюнча Интернетке кирүүгө аракет кылган тиркемелер.

Squid орнотууга даярдалууда

pfSense негиз катары колдонулат, Орнотуу көрсөтмөлөрү.

Анын ичинде биз домен эсептеринин жардамы менен брандмауэрдин аутентификациясын уюштурабыз. Instructions.

Абдан маанилүү!

Squid орнотууну баштоодон мурун, сиз pfsenseде DNS серверин конфигурациялашыңыз керек, ал үчүн биздин DNS серверибизде A рекордун жана PTR жазуусун жасап, убакыт домен контроллериндеги убакыттан айырмаланбашы үчүн NTP конфигурациялооңуз керек.

Жана сиздин тармагыңызда pfSense WAN интерфейсинин Интернетке кирүү мүмкүнчүлүгүн камсыз кылыңыз, ал эми жергиликтүү тармактагы колдонуучулар үчүн LAN интерфейсине, анын ичинде 7445 жана 3128 порту аркылуу (менин учурда, 8080) туташуу мүмкүнчүлүгүн бериңиз.

Баары даяр? Домен pfSense'те авторизациялоо үчүн LDAP аркылуу туташтыбы жана убакыт синхрондуубу? Абдан жакшы. Негизги процессти баштоого убакыт жетти.

Орнотуу жана алдын ала конфигурациялоо

Биз Squid, SquidGuard жана LightSquidди pfSense пакет менеджеринен "Система/Пакет менеджери" бөлүмүндө орнотобуз.

Ийгиликтүү орнотулгандан кийин, "Кызматтар/Сквид прокси сервери/" бөлүмүнө өтүңүз жана биринчи кезекте, Local Cache кошумча барагында кэшти конфигурациялаңыз, мен баарын 0гө койдум, анткени Мен сайттарды кэштөөнүн маанисин көрбөй жатам; браузерлер муну жакшы чечет. Орноткондон кийин, экрандын ылдый жагындагы "Сактоо" баскычын басыңыз, бул бизге прокси негизги орнотууларды жасоого мүмкүнчүлүк берет.

Негизги орнотуулар төмөнкүдөй:

Домен авторизациясы бар ишкана үчүн акысыз прокси сервер

Демейки порт 3128, бирок мен 8080 колдонгум келет.

Прокси интерфейс өтмөгүндөгү тандалган параметрлер прокси серверибиз кайсы интерфейстерди угарын аныктайт. Бул брандмауэр интернетти WAN интерфейси аркылуу карап тургандай кылып курулгандыктан, LAN жана WAN бир эле жергиликтүү ички тармакта болушу мүмкүн, мен прокси үчүн LANды колдонууну сунуштайм.

Loopback sqstat иштеши үчүн керек.

Төмөндө сиз Transparent прокси орнотууларын, ошондой эле SSL чыпкасын таба аласыз, бирок бизге алардын кереги жок, биздин прокси ачык болбойт жана https чыпкалоо үчүн биз сертификатты алмаштыруу менен алектенбейбиз (анткени, бизде документ башкаруу бар. , банктын кардарлары ж.б.), Келгиле, кол алышууну карап көрөлү.

Бул этапта, биз домен контроллерибизге барышыбыз керек, анда аутентификация үчүн каттоо эсебин түзүшүбүз керек (сиз pfSenseтин өзүндө аутентификация үчүн конфигурацияланганды да колдонсоңуз болот). Бул жерде өтө маанилүү фактор, эгер сиз AES128 же AES256 шифрлөөсүн колдонууну кааласаңыз, каттоо эсебиңиздин жөндөөлөрүндөгү тиешелүү кутучаларды белгилеңиз.

Эгерде сиздин домениңиз көп сандагы каталогдор менен өтө татаал токой болсо же сиздин домениңиз .local болсо, анда МҮМКҮН, бирок анык эмес, бул аккаунт үчүн жөнөкөй сырсөздү колдонууга туура келет, ката белгилүү, бирок татаал сырсөз ал жөн эле иштебей калышы мүмкүн, сизге белгилүү бир жеке ишти текшерүү керек.

Домен авторизациясы бар ишкана үчүн акысыз прокси сервер

Мунун бардыгынан кийин, биз Kerberos үчүн негизги файлды түзөбүз, домен контроллерунда, администратор укуктары менен буйрук тилкесин ачып, төмөнкүнү киргизиңиз:

# ktpass -princ HTTP/[email protected] -mapuser pfsense -pass 3EYldza1sR -crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} -ptype KRB5_NT_PRINCIPAL -out C:keytabsPROXY.keytab

Биздин FQDN pfSense көрсөткөн жерде, ишти урматтаңыз, mapuser параметринде биз домен эсебибизди жана анын сырсөзүн киргизебиз, ал эми криптодо биз шифрлөө ыкмасын тандайбыз, мен жумуш үчүн rc4 колдондум, ал эми -out талаасында биз кайда тандайбыз даяр ачкыч файлыбызды жөнөтөбүз.
Ачкыч файлын ийгиликтүү жараткандан кийин, биз аны pfSenseке жөнөтөбүз, мен бул үчүн Far колдондум, бирок сиз муну командалар, шпаклевкалар же pfSense веб-интерфейси аркылуу "DiagnosticsCommand Line" бөлүмүндө жасай аласыз.

Эми биз түзөтө алабыз түзүү /etc/krb5.conf

Домен авторизациясы бар ишкана үчүн акысыз прокси сервер

бул жерде /etc/krb5.keytab биз түзгөн негизги файл.

Kerberos'тун иштешин kinit аркылуу текшериңиз; эгерде ал иштебесе, андан ары окуунун кереги жок.

Squid аутентификациясын конфигурациялоо жана Аутентификацияга кирүү тизмеси жок

Kerberos ийгиликтүү конфигурациялангандан кийин, биз аны кальмарыбызга тиркөөбүз.

Бул үчүн, ServicesSquid прокси серверине өтүңүз жана негизги жөндөөлөрдөн эң ылдый жагына өтүңүз, ал жерден биз "Өркүндөтүлгөн орнотуулар" баскычын табабыз.

Ыңгайлаштырылган параметрлер (Автификациядан мурун) талаасына төмөнкүлөрдү киргизиңиз:

#Хелперы
auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth -s GSS_C_NO_NAME -k /usr/local/etc/squid/squid.keytab -t none
auth_param negotiate children 1000
auth_param negotiate keep_alive on
#Списки доступа
acl auth proxy_auth REQUIRED
acl nonauth dstdomain "/etc/squid/nonauth.txt" 
#Разрешения 
http_access allow nonauth 
http_access deny !auth
http_access allow auth

кайда auth_param сүйлөшүү программасы /usr/local/libexec/squid/negotiate_kerberos_auth — бизге керектүү Kerberos аутентификация жардамчысын тандайт.

ачкыч -s мааниси менен GSS_C_NO_NAME — негизги файлдан каалаган эсепти колдонууну аныктайт.

ачкыч -k мааниси менен /usr/local/etc/squid/squid.keytab — бул өзгөчө keytab файлын колдонууну аныктайт. Менин учурда, бул биз түзгөн ошол эле клавиатура файлы, мен аны /usr/local/etc/squid/ каталогуна көчүрүп, анын атын өзгөрткөм, анткени кальмар ал каталог менен дос болгусу келбегендиктен, менде жок болчу. жетиштүү укуктар.

ачкыч -t мааниси менен - жок — домен контроллерине циклдик суроо-талаптарды өчүрөт, бул сизде 50дөн ашык колдонуучу болсо, ага жүктөлгөн жүктү кыйла азайтат.
Сыноо учурунда сиз -d которгучун кошо аласыз - б.а. диагностика, көбүрөөк журналдар көрсөтүлөт.
auth_param сүйлөшүү балдар 1000 — бир эле убакта канча авторизациялоо процессин ишке киргизсе болорун аныктайт
auth_param сүйлөшүүлөрдү сактап калуу боюнча — авторизация чынжырын сурамжылоодо байланыштын үзүлүшүнө жол бербейт
acl auth proxy_auth КЕРЕК — авторизацияланган колдонуучуларды камтыган кирүүнү көзөмөлдөө тизмесин түзөт жана талап кылат
acl nonauth dstdomain "/etc/squid/nonauth.txt" — биз кальмарга ар дайым ар дайым кирүү мүмкүнчүлүгүнө ээ боло турган көздөгөн домендерди камтыган автордук эмес кирүү тизмеси жөнүндө кабарлайбыз. Биз файлды өзү түзүп, анын ичиндеги домендерди форматка киргизебиз

.whatsapp.com
.whatsapp.net

Whatsapp бир себептен улам мисал катары колдонулат - ал аутентификация проксилери боюнча абдан тандалма жана аныктыгын текшерүүгө чейин уруксат берилбесе иштебейт.
http_access nonauth уруксат берет — бул тизмеге ар бир адамга кирүүгө уруксат берүү
http_access deny !auth — биз уруксатсыз колдонуучуларга башка сайттарга кирүүгө тыюу салабыз
http_access аутентификацияга уруксат берет — ыйгарым укуктуу колдонуучуларга кирүүгө уруксат берүү.
Болду, Squid өзү конфигурацияланган, эми топтор боюнча чыпкалоону баштоого убакыт келди.

SquidGuard орнотулууда

ServicesSquidGuard прокси чыпкасына өтүңүз.

LDAP Параметрлерине биз Kerberos аутентификациясы үчүн колдонулган каттоо эсебинин чоо-жайын киргизебиз, бирок төмөнкү форматта:

CN=pfsense,OU=service-accounts,DC=domain,DC=local

Эгерде боштуктар же латын эмес тамгалар бар болсо, бул жазуу толугу менен бир же кош тырмакчага алынышы керек:

'CN=sg,OU=service-accounts,DC=domain,DC=local'
"CN=sg,OU=service-accounts,DC=domain,DC=local"

Андан кийин, бул кутучаларды текшерүүнү унутпаңыз:

Домен авторизациясы бар ишкана үчүн акысыз прокси сервер

Керексиз DOMAINpfsense өчүрүү үчүн DOMAIN.ЖЕРГИЛИКТҮҮ система буга абдан сезгич.

Эми Group Aclге барып, доменге кирүү топторубузду байлайлы, мен жөнөкөй аттарды колдоном group_0, group_1 ж.

Топтор төмөнкүдөй байланышта:

ldapusersearch ldap://dc.domain.local:3268/DC=DOMAIN,DC=LOCAL?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=group_0%2cOU=squid%2cOU=service-groups%2cDC=DOMAIN%2cDC=LOCAL))

биз тобубузду сактайбыз, Timesка барабыз, ал жерде мен бир боштук түздүм, демек ал ар дайым иштей берет, азыр биз Максаттуу категорияларга барабыз жана өз каалообуз боюнча тизмелерди түзөбүз, тизмелерди түзгөндөн кийин биз топторубузга кайтып келебиз жана топтун ичинде баскычтарды колдонобуз ким кайда бара аларын жана ким кайда бара албасын тандоо.

LightSquid жана sqstat

Орнотуу процессинде биз кальмардын жөндөөлөрүнөн кайра циклди тандап алган болсок жана брандмауэрде 7445ке жетүү мүмкүнчүлүгүн ачкан болсок, анда биздин тармакта да, pfSenseтин өзүндө да, биз DiagnosticsSquid Proxy Reports бөлүмүнө барганда, биз sqstat менен Lighsquidди оңой ача алабыз. акыркысы бизге керек болот Ал жерден сиз логин жана паролду таба аласыз, ошондой эле дизайнды тандай аласыз.

айактоо

pfSense - бул көп нерселерди жасай ала турган абдан күчтүү курал - прокси-трафик жана колдонуучунун Интернетке кирүү мүмкүнчүлүгүн көзөмөлдөө - бул бардык функциялардын бир бөлүгү, бирок 500 машинасы бар ишканада бул көйгөйдү чечип, үнөмдөөгө мүмкүндүк берди. прокси сатып алуу жөнүндө.

Мен бул макала кимдир бирөө орто жана ири ишканалар үчүн абдан актуалдуу болгон көйгөйдү чечүүгө жардам берет деп үмүттөнөм.

Source: www.habr.com

Комментарий кошуу