| RSS



Меню

Bookmark and Share


Статистика
Ваш IP: 18.219.236.62
Вы используете: v





Сейчас на сайте:

Тех поддержка ->

Облако тэгов
ОС видио Tor Обратная сторона антенна 4.6 PHP Эксплоит Windows Server 2008 qip Virtual chroot kernel proc sysctl tune FreeBSD bridge Boot Disk Bluetooth GEO game directx Emulator Python Shell DDoS червь Conficker вирус троян Лаборатория Касперского пиратство apple iPhone ИТ-отрасль Щеголев Microsoft экономический кризис Twitter социальная сеть анонимность Лицензия Open Source ASP.NET MVC уязвимость MySQL база данных файлообмен закон франция пират Skype мобильный Deutsche Telekom Хакер киберпреступник Trend Micro кибератака Германия робот утечка данных персональные данные ноутбук интернет Китай цензура ядро Linux Торвальдс Windows Vista Acer Linux патент браузер Firefox Internet Explorer Opera Net Applications Safari Intel Linux Foundation Moblin Oracle патч банкомат кардер HSM IBM X-Force Cofee сша кибервойна Эстония Dell ИТ-специалист хакерские атаки Pirate Bay контроль кибербезопасность язык программирования The Pirate Bay Пиратская партия утечка информации приговор Mozilla Chrome безопасность Госдума СМИ Windows 8 Баллмер взлом Пентагон ботнет Украина Facebook Cisco cloud Windows XP нетбук торрент музыка биометрический nokia ФБР IP-адрес CIPAV Comcast sms RSA java Google CAPTCHA Symantec спам конфиденциальная информация инсайдер Perimetrix антивирус тест Anti-Malware Windows 7 операционная система Windows провайдер авторское право RapidShare UNIX свиной грипп шантаж дети EFF BluWiki копирайт экстремизм Panda Security cloud computing McAfee Cybercrime Response Unit Bottle Domains HTTPS ICANN студент шпионское ПО Норвегия школьник New York Times XSS YouTube Warner Music кибершпионаж КНДР Ubuntu свободное ПО AMD ATI касперский Россия РФ сервер хостинг фальшивый антивирус Comodo CA Wi-Fi D-Link суд пароль блог фишинг Одноклассники медведев контрафакт мошенник штраф Sony GPS по Gumblar JAVASCRIPT хакеры вредоносное ПО Yahoo ФАС компьютер Софт MPAA кибероружие PandaLabs Red Hat Минкомсвязи сбой ASUSTeK Computer мошенничество Доктор Веб ВКонтакте Cyber-Arc исходный код PCI DSS МВД фильтр порнография BREIN свобода слова Казахстан GEMA Autodesk сисадмин Gmail кредитная карта кибермошенник LiveJournal шифрование криптография Deep Purple банк нанотехнологии Wikipedia zero-day ColdFusion выборы кража данных DNS BIND Android BASIC атака Black Hat Mac OS X Click Forensics Clampi домен фсб Прокуратура Уголовное дело icq Barrelfish киберпреступность Sophos AT&T ошибка Electa Gamma Knife OpenBSD DARPA военные Сайт Visual Studio 2010 .NET Framework 4 Chrome OS электронная почта турция конференция спамер FTC полиция российская ОС Koobface Великобритания БЕЛОРУССИЯ грузия BSA Bittorrent облачные вычисления Azure Европа Dr.Web Билл Гейтс спецслужбы Cryzip Живой Журнал Royal Bank of Scotland смартфон Canonical Pwn2Own F-Secure Symbian Hotmail фильм

Главная » Статьи » Общие Статьи

Apache + Kerberos + LDAP + PHP на архитектуре sparc 64
Выражаю особую благодарность Морозову Алексею и Александре (aka Pandora) за правку,
дополнения и багрепорт статьи

Введение

Все чаще и чаще приходится сталкиваться с тем, что новые приложение
требуют решения на 64 битных платформах, но к сожалению, так сложилось,
по крайней мере для Solaris, что все пакеты которые выкладываются 32-х
разрядные(в частности sunfreeware.com все пакеты 32-х разрядные).
Поэтому пришлость долго компилить все зависимости и утилиты вручную.

Что имеем

- Sun Solaris 10 5/08
- Cервер на SPARC архитектуре


Установки компиляции и переменные, которые будут использоваться

export CC=gcc
export CFLAGS="-des -Duse64bitall"
export LDFLAGS="-mcpu=v9 -m64"
export LDDLFLAGS="-mcpu=v9 -m64" -тип процессора и опция 64-х разрядной компиляции
export BAP=/future_apache_directory - куда будем устанавливать апач
export PREFIX=/future_packets_directory - куда будут помещатся скомпилинные зависимости
export SOURCE=/source_path - директория где содержаться наши сырцы


Установка Apache

Для начала мы должны опредилится, что нам требуется от Apache, мне нужно
что бы он поддерживал Kerberos, LDAP, балансировку и проксирование.
Поэтому зависимости Apache сводятся к следующему списку

expat, libiconv, openldap, zlib, openssl, libgcc, gcc, kerberos


К сожалению только два пакета, это libgcc и gcc, содержат в себе 64
битные версии библиотек, поэтому компилить их не надо, - хоть немного
счастья

ZLIB

gmake distclean
./configure --prefix=/PREFIX/zlib
gmake
gmake install


EXPAT

gmake distclean
./configure \
--prefix=/PREFIX/expat_path \
--enable-shared \
--disable-static
gmake
gmake install


LIBICONV

gmake distclean
./configure \
--prefix=/PREFIX/libiconv_path \
--enable-shared \
--disable-static
gmake
gmake install


OPENLDAP

gmake distclean
./configure \
--prefix=/PREFIX/ldap_path \
--enable-syslog \
--with-tls-openssl \
--without-cyrus-sasl
gmake
gmake install


KERBEROS

Я использовал исходники кербероса от MIT (http://web.mit.edu/Kerberos/dist)

gmake distclean
./configure \
--prefix=/PREFIX/krb_path\
--without-krb4 \
--enable-maintainer-made \
--sysconfdir=/etc/krb5 \
--with-krb5 \
--with-ldap
gmake
gmake install


Ну вот мы и подошли к компиляции Апача

Для начала нужно скомпилить две утилиты, которые находятся в
дистрибутиве Апача

cd SOURCE/apache/srclib


Утилита arp

cd srclib/apr
gmake distclean
./configure --prefix=$BAP --enable-threads
gmake
gmake install


Утилита arp-util

cd ../apr-util
gmake distclean
./configure --prefix=$BAP \
--with-ldap \
--with-ldap-lib=/PREFIX/ldap/lib \
--with-ldap-include=/PREFIX/ldap/include \
--with-iconv=/PREFIX/iconv \
--with-expat=/PREFIX/expat \
--with-apr=$BAP
gmake
gmake install


Теперь конфигурируем и собираем апач

cd ../../
gmake distclean
./configure \
--enable-maintainer-mode \
--prefix=$BAP \
--disable-auth-digest \
--without-perl \
--with-z=/PREFIX/zlib \
--with-iconv=/PREFIX/iconv \
--with-expat=/PREFIX/expat \
--with-apr=$BAP \
--with-apr-util=$BAP \
--with-ssl=/PREFIX/ssl \
--enable-ldap \
--enable-proxy \
--enable-proxy-connect \
--enable-proxy-ftp \
--enable-proxy-http \
--enable-proxy-balancer \
--enable-ssl \
--enable-authnz-ldap \
--enable-krb5=/PREFIX/kerberos \
--enable-modules="all" \
--enable-mods-shared="all"
gmake
gmake install


Ура Апач скомпилирован, но нужно сделать еще один шаг, точнее нужно
скомпилить модуль апача для работы с керберосом

KERBEROS for APACHE (http://modauthkerb.sourceforge.net/install.html)

gmake distclean
./configure \
--prefix=/PREFIX/kerberos\
--without-krb4 \
--with-apache=$BAP \
--with-krb5
gmake
gmake install


Настройка Апач + Kerberos + LDAP

в http.conf

# KERBEROS
KrbMethodK4Passwd off #выключаем авторизацию кербероса 4
KrbAuthoritative On - если не прошла проверка авторизации то запретить доступ(если опция ставится в офф, то управление передается следующему модулю)

AuthName "Kerberos Login"
AuthType Kerberos
Krb5Keytab /usr/local/proxy/conf/http_keytab.keytab - о кейтабах чуть ниже)
KrbServiceName "HTTP/FULL_NAME_SERVER@DOMAIN_SERVER_NAME" - имя сервиса в домене
KrbAuthRealm DOMAIN_SERVER_NAME
KrbMethodNegotiate On -включение прозрачной авторизации
KrbDelegateBasic On
KrbSaveCredentials On
KrbVerifyKDC Off

# END KERBEROS

# LDAP

AuthzLDAPAuthoritative On
AuthLDAPURL "ldap://domain_ip_address:389/DC=DOMAIN,DC=RU?userPrincipalName?sub?(objectClass=*)" NONE


Если используете модуль NTLM то используйте вместо userPrincipalName sAMAccountName
AuthLDAPURL "ldap://domain_ip_address:389/DC=DOMAIN,DC=RU?sAMAccountName?sub?(objectClass=*)" NONE

AuthLDAPBindDN "CN=user,OU=Support,OU=Organization Structure,DC=domain,DC=ru" - полное имя юзера для подключения к домену
AuthLDAPBindPassword password - пароль оного юзера
AuthLDAPGroupAttributeIsDN on
AuthLDAPGroupAttribute member

#Require valid-user
Require ldap-group CN=group,DC=domain,DC=ru - проверка принадлежности к группе
# END LDAP

Создание кейтабов

Все приведенные команды выполняются на контролерре домена(у меня он Windows)

кейтаб для хоста

ktpass -princ host/FULL_NAME_SERVER@DOMAIN_SERVER_NAME -mapuser host@DOMAIN_NAME \
-crypto DES-CBC-MD5 -ptype KRB5_NT_PRINCIPAL -mapop set +desonly -pass passwd -out c:\host.keytab


кейтаб для сервиса

ktpass -princ HTTP/FULL_NAME_SERVER@DOMAIN_NAME -mapuser http@DOMAIN__NAME \
-crypto DES-CBC-MD5 -ptype KRB5_NT_PRINCIPAL -mapop set +desonly -pass passwd -out c:\http.keytab


добавляем сервис

setspn.exe -A HTTP/FULL_NAME_SERVER@DOMAIN_NAME http


так же требуется создания юзера с минимальными правами для подключения LDAP

в krb5.conf

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
krb = SYSLOG:INFO:DAEMON
krb = FILE:/usr/local/proxy/logs/krb.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
ticket_lifetime = 24000
default_realm = DOMAIN_NAME - обязательно большими буквами
dns_lookup_realm = false
dns_lookup_kdc = false

[realms]
DOMAIN.RU = {
kdc = first_dc.DOMAIN_NAME
kdc = second_dc.DOMAIN_NAME
admin_server = first_dc.DOMAIN_NAME
default_domain = DOMAIN_NAME
}

[domain_realm]
.domaim.ru = DOMAIN_NAME
domain.ru = DOMAIN_NAME

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

#[kdc]
# profile = /var/kerberos/krb5kdc/kdc.conf


в ldap.conf

#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

#BASE dc=example, dc=com
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never

BASE DC=DOMAIN,DC=RU
URI ldap://domain_ip_address

REFERRALS off

searchmode:OS
ldapservers:omain_ip_address
binddn:CN=user,CN=Users,DC=DOMAIN,DC=RU
bindpwd:password
userbasedn:CN=Users,DC=DOMAIN,DC=RU


Все на этом на этом авторизация работает, переходим к сборке PHP

Установка PHP

Если для апача было не много зависимостей, то PHP его в этом дела
опережает на порядок, нам снова нужно определится с зависимостями. Мне
нужно что бы PHP работал с oracle, графикой(GD), xml и перенаправлял
запросы(CURL), поэтому список зависимостей следующий

<b>expat, oracle, zlib, libiconv, curl, png, jpeg, freetype, xml2, gd</b>

Компиляцию некоторых пакетов описана выше, поэтому описывать их не буду

CURL

./configure \
--prefix=/PREFIX/curl \
--with-iconv=/PREFIX/iconv \
--with-zlib=/PREFIX/zlib \
--enable-shared \
--disable-static
gmake
gmake install


FREETYPE2

gmake distclean
./configure \
--prefix=/PREFIX/freetype \
--enable-shared \
--disable-static
gmake
gmake install


PNG

gmake distclean
./configure \
--prefix=/PREFIX/png \
--enable-shared \
--disable-static
gmake
gmake install


JPEG

gmake distclean
./configure \
--prefix=/PREFIXjpeg \
--enable-shared \
--disable-static
gmake
gmake install


XML

./configure \
--prefix=/PREFIX/xml2 \
--with-iconv=/PREFIX/iconv \
--with-zlib=/PREFIX/zlib \
--enable-shared \
--disable-static
gmake
gmake install


GPG (графика)

gmake distclean
./configure \
--prefix=/PREFIX/gp \
--with-free-type=/PREFIX/freetype \
--with-jpeg=/PREFIX/jpeg \
--with-png=/PREFIX/png \
--without-x \
--without-xpm
gmake
gmake install


Теперь можно переходить к сборке PHP

./configure \
--with-apxs2=$BAP/bin/apxs \
--with-config-file-path=$BAP/conf \
--prefix=/PREFIX/php \
--with-zlib=/PREFIX/z \
--with-zlib-dir=/PREFIX/z \
--with-iconv=/PREFIX/iconv \
--disable-dba \(убрать если есть oci8)
--with-curl=/PREFIX/curl \
--with-png-dir=/PREFIX/png \
--with-jpeg-dir=/PREFIX/jpeg \
--with-freetype-dir=/PREFIX/freetype \
--with-libxml-dir=/PREFIX/xml2 \
--with-ttf \
--with-oci8=/PREFIX/oracle \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gd 2>&1 | tee configure.log
make && make install


Все PHP собран, теперь осталось только скопировать модуль php в
директорию апача и подключить. Настройки PHP, виртуальных хостов я
рассматривать не буду, об этом и так много статей написано.

PS с керберосом бывают проблемы в плане обнаружения библиотек, будьте
внимательны и прописывайте LD_LIBRARY_PATH

Спасибо за внимание. Надеюсь эта статья поможет страждущим:)
Категория: Общие Статьи | Добавил: aka_kludge (29.10.2009) | Автор: Egor Kovalchuk
Просмотров: 2136 | Теги: game, Emulator, Linux | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
    Главная      
...
На службе : дней

14:06
Обновить


Пользователи
aka_kludge
qwerty
LeadyTOR
aka_Atlantis
AdHErENt
mAss
Sissutr
hiss
DrBio
tHick

Поиск


Copyright tHR - TeAM 2024 г. admin: aka_kludge (ICQ:334449009) Moderator's: LeadyTOR, ... Яндекс.Метрика