The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Аутентификация клиентов NEC socks5 сервера в NT домене. (socks proxy patch win auth squid)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: socks, proxy, patch, win, auth, squid,  (найти похожие документы)
From: NKritsky <nkritskyatno_spam.mail.ru> Newsgroups: email Date: Mon, 25 Dec 2003 14:31:37 +0000 (UTC) Subject: Аутентификация клиентов NEC socks5 сервера в NT домене. Надоело мне в 21-м веке авторизовать клиентов (и, соответственно, вести учет траффика) по IP. Штатный socks5 сервер от NEC меня в принципе устраивает. Но вот незадача - в опциях присутствуют три типа аутентификации клиента - username/pass, kerberos, anonymous. Причем username/pass кастомизуется только при помощи опции SOCKS5_PWD_FILE. Ни API для external auth, ни даже поддержки PAM. Всё. Пришлось поработать руками и (немножко) головой. Что нам понадобится: - исходники socks5 - www.google.com - исходники msnt_auth - маленького хелпера из поставки сквида. Я брал его из - исходников squid 2.5.STABLE1, просто потому что он уже лежал у меня на диске в развернутом состоянии. - текстовый редактор. например vi. Шаг 1: патчим ${SOCKS_SRC}/lib/upwd.c ;-------------------------cut begin---------------------------- --- ../lib/upwd.c Wed Dec 10 17:15:08 2003 +++ ../lib/upwd.c.orig Wed Dec 10 15:31:54 2003 @@ -8,8 +8,6 @@ * $Id: upwd.c,v 1.38.4.10 2000/08/15 21:02:25 wlu Exp $ */ -#define USE_MSNT 1 - #include "socks5p.h" #include "buffer.h" #include "threads.h" @@ -129,14 +127,6 @@ goto done; } -#ifdef USE_MSNT - if (OpenConfigFile() == 1) - return 1; - S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(10),0,"MSNT:trying to auth user:%s",name); - if (QueryServers(name,passwd) == 0 ) rval = AUTH_OK ; - goto done; -#endif //MSNT - #ifdef USE_PASSWD { struct passwd *pw = getpwnam(name); ;-------------------------cut end------------------------------ комипилируем msnt_auth пытаемся скомпилировать socks5 Получаем, естесственно, сообщение об ошибке по поводу функций OpenConfigFile и QueryServers. Патчим Makefile: ;-------------------------cut begin---------------------------- --- server/Makefile Sat Dec 27 16:38:27 2003 +++ server/Makefile.orig Sat Dec 27 16:38:17 2003 @@ -14,7 +14,7 @@ exec_prefix = ${prefix} EXTRA_LDFLAGS = LDFLAGS = $(EXTRA_LDFLAGS) -EXTRA_OBJS = /usr/ports/unsupported/squid-2.5.STABLE1/helpers/basic_auth/MSNT/*.o +EXTRA_OBJS = SERVER_LIBS = LIBS = -lcrypt $(SERVER_LIBS) ;-------------------------cut end------------------------------ Подставляем свой путь к объектникам msnt_auth. Удаляем из каталога с msnt_auth файл msntauth.o собираем socks5 - все должно собраться. Теперь сокс аутентифицирует юзеров через домен NT указанный в конфигурации msnt_auth. Удачи!

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, Сергей (?), 08:51, 04/03/2004 [ответить]  
  • +/
    Супер!Всё работает, жалко что при этом никак нельзя ограничить по пользователям, то есть пускают всех кто авторизовался, потому что при вызове QueryServers похоже не проверяется allowusers
     
     
  • 2, Сергей (??), 16:42, 01/04/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати это я тогда глупость сказал, потому что в socks5.conf отлично можно ограничить доступ на доменных юзеров
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру