Домэйн зөвшөөрөлтэй байгууллагын үнэгүй прокси сервер

Домэйн зөвшөөрөлтэй байгууллагын үнэгүй прокси сервер

pfSense+Squid нь https шүүлтүүртэй + Active Directory бүлгүүдээр шүүлттэй дангаар нэвтрэх технологи (SSO)

Товч мэдээлэл

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

Зөв хариулт бол Kerio Control эсвэл UserGate гэх мэт шийдлүүдийг худалдаж авах явдал юм, гэхдээ үргэлж мөнгө байхгүй, гэхдээ хэрэгцээ байна.

Эндээс хуучин далайн амьтан биднийг аврахаар ирдэг, гэхдээ би вэб интерфэйсийг хаанаас авах вэ? SAMS2? Ёс суртахууны хувьд хоцрогдсон. Энд pfSense аврах ажилд ирдэг.

Тайлбар

Энэ нийтлэлд Squid прокси серверийг хэрхэн тохируулах талаар тайлбарлах болно.
Kerberos-ийг хэрэглэгчдэд зөвшөөрөл олгоход ашиглах болно.
SquidGuard нь домайн бүлгүүдээр шүүлт хийхэд ашиглагдана.

Хяналтанд Lightsquid, sqstat болон дотоод pfSense хяналтын системийг ашиглана.
Нэг удаа нэвтрэх (SSO) технологийг нэвтрүүлэхтэй холбоотой нийтлэг асуудал, тухайлбал, өөрсдийн системийн дансны луужин дансны дагуу интернетэд нэвтрэхийг оролддог программууд бас шийдэгдэх болно.

Squid суулгахаар бэлтгэж байна

pfSense-ийг үндэс болгон ашиглах болно, Суулгах заавар.

Үүний дотор бид домэйн данс ашиглан галт хананд нэвтрэлт танилтыг зохион байгуулдаг. Зааварчилгаа.

Маш чухал!

Та Squid-г суулгаж эхлэхээсээ өмнө pfsense-д DNS серверийг тохируулж, манай DNS сервер дээр A бичлэг болон PTR бичлэг хийж, NTP-г тохируулах хэрэгтэй бөгөөд ингэснээр цаг нь домэйн хянагч дээрх цаг хугацаанаас ялгаатай байх болно.

Мөн өөрийн сүлжээнд pfSense WAN интерфэйс нь Интернэтэд нэвтрэх, дотоод сүлжээнд байгаа хэрэглэгчдэд 7445 ба 3128 (миний хувьд 8080) портуудыг оруулаад LAN интерфейстэй холбогдох боломжийг олгоно.

Бүгд бэлэн үү? Домэйн нь pfSense дээр зөвшөөрөл авахын тулд LDAP-ээр холбогдсон бөгөөд цаг синхрончлогдсон уу? Агуу их. Гол үйл явцыг эхлүүлэх цаг болжээ.

Суурилуулалт ба урьдчилсан тохиргоо

Бид "Систем/Багц менежер" хэсэгт pfSense багц менежерээс Squid, SquidGuard, LightSquid-ийг суулгана.

Амжилттай суулгасны дараа "Үйлчилгээ/Squid прокси сервер/" руу очоод юуны өмнө Local Cache таб дээр кэшийг тохируулаад би бүгдийг 0 болгож тохируулсан. Сайтуудыг кэшлэх нь надад тийм ч их ач холбогдол өгөхгүй байна; хөтчүүд үүнийг зүгээр л зохицуулдаг. Тохируулсны дараа дэлгэцийн доод хэсэгт байрлах "Хадгалах" товчийг дарснаар прокси үндсэн тохиргоог хийх боломжтой болно.

Үндсэн тохиргоонууд нь дараах байдалтай байна.

Домэйн зөвшөөрөлтэй байгууллагын үнэгүй прокси сервер

Анхдагч порт нь 3128, гэхдээ би 8080 ашиглахыг илүүд үздэг.

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

Sqstat ажиллахын тулд давталт хэрэгтэй.

Та доороос ил тод прокси тохиргоо, түүнчлэн 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 вэб интерфэйсээр "Оношлогооны командын мөр" хэсэгт хийж болно.

Одоо бид /etc/krb5.conf файлыг засварлаж болно

Домэйн зөвшөөрөлтэй байгууллагын үнэгүй прокси сервер

Энд /etc/krb5.keytab нь бидний үүсгэсэн түлхүүр файл юм.

Kerberos-ийн ажиллагааг kinit ашиглан шалгахаа мартуузай, хэрэв энэ нь ажиллахгүй бол цааш унших нь утгагүй болно.

Squid Authentication болон No Authentication Access List-ийг тохируулах

Kerberos-ийг амжилттай тохируулсны дараа бид үүнийг Squid-дээ хавсаргана.

Үүнийг хийхийн тулд ServicesSquid прокси сервер рүү очоод үндсэн тохиргооны доод хэсэгт очоод "Нарийвчилсан тохиргоо" товчийг олох болно.

Custom Options (Before Auth) талбарт дараахыг оруулна уу:

#Хелперы
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 Options-д бид 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 гэх мэт энгийн нэрийг 3 хүртэл ашигладаг бөгөөд 3 нь зөвхөн цагаан жагсаалтад хандах, 0 нь бүх зүйл боломжтой гэсэн үг юм.

Бүлгүүд дараах байдлаар холбогдсон байна.

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

Хэрэв тохиргоо хийх явцад бид squid тохиргоон дотроос loopback-г сонгоод, сүлжээ болон pfSense дээр галт хананд 7445-д хандах боломжийг нээсэн бол DiagnosticsSquid Proxy Reports руу очиход бид sqstat болон Lighsquid-г хялбархан нээж болно. Сүүлд нь бидэнд хэрэгтэй болно Тэнд та нэвтрэх болон нууц үгээ олох боломжтой, мөн та загвараа сонгох боломжтой.

Дуусгавар болгох

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

Энэ нийтлэл нь хэн нэгэн дунд болон том аж ахуйн нэгжүүдэд нэлээд хамааралтай асуудлыг шийдвэрлэхэд тусална гэж найдаж байна.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх