Seznam tabulek
Seznam příkladů
Sun Java System Portal Server Secure Remote Access (SRA) poskytuje vzdálený zabezpečený přístup do interní sítě respektive na Sun Java System Portal Server. Stačí k tomu mít web prohlížeč a nainstalovanou javu na klientovi pro spuštění aplikace k tunelování portů (Netlet a Netfile) z vnitřní sítě, například IMAP4 nebo pro vzdálené ukládání souborů do portálu.
Pro ilustraci je na obrázku vidět tzv. open mode portálu bez SRA:

a Secure Mode s použitím SRA:

Součástí SRA je i systém omezení přístupu uživatele na portál. Přes Access Manager lze zadat pomocí jednoduchých pravidel - seznamu zdrojových ip rozsahů.
Komponenta SRA Gateway slouží jako malý program v demilitarizované zóně k bezpečnému přesměrování požadavků z externí sítě do intranetu. Mezi klienty a Gateway programem se využívá šifrovaného protokolu HTTPs a mezi Gateway a aplikacemi v intranetu lze i http pro odlehčení (round-dobin) zátěže aplikačním a databázovým serverům.
Gateway slouží ke komunikaci mezi klientem a webové servery a webově založené produkty pomocí protokolů jako jsou HTML, JavaScript a XML. http://seznam
Rewriter komponenta umožňuje uživatelům vytvářet a využívat URL odkazy na další stránky v intranetu se zapojením Gateway.
Rewriter přidává ve webovém prohlížeči na začátek URL Gateway: z URL http://portal na URL: https://gateway/cokoliv a tedy umožňuje přesměrování toku informací přes Gateway.
Netlet komponenta poskytuje vzdáleně intranetové služby například SMTP, IMAP, POP, FTP apod.
V portálu se spustí malá javovská aplikace, která šifrovaně protuneluje pomocí SSL porty z intranetu na klienta. Pomocí této aplikace lze například ukládat soubory do vnitřní sítě, kdekoliv vybírat a zasílat elektronickou poštu z MS-Outlooku apod.

Secure Remote Access je součástí JESu, lze nainstalovat s portálem nebo zvlášť. Získat SW lze na adrese:www.sun.com/download.
Pro standalone instanci Gateway je nutné nainstalovat samotnou gateway + Access Manager SDK. Při instalaci je nutný přístup k instanci Access Manageru (AM) a do adresářového serveru (Sun Java System Directory Server). Pro samotný chod Gateway dostačuje přístup na portál s AM a nainstalovaným minimálně SRA Core.
Nainstaloval jsem instanci na Solaris i RH, fungují na sobě nezávisle.
Na jednom stroji může fungovat více instancí, jedna instance na jeden procesor.
Gateway má více profilů (nastavení), použitý profil se definuje při startu procesu.
Nedoporučuji instalovat GW na https AM a PS (AM na https nelze i podle manuálů) a použít standatní port pro GW 443.
hostname Gateway serveru viditelné v URL http://hostname musí být totožné s nastavení gateway:
gateway.host=hostname
ale nemusí být totožné s lokálním nastavením operačního systému.
Popis instalace SRA na AM/PS/DS serveru je shodný s níže uvedenou instalací. Na tyto primární servery je třeba instalovat SRA nejdříve a doporučuji instalaci všech součástí SRA.
Popis instalace dedikované Gateway (GW + AM SDK):
Spustit instalátor
Vybrat instalaci Gateway + Identity SDK
Vybrat instalační adresář:
/opt/sun
Základní údaje:
hostname: sun Domain name: iforce.cz IP: xxx.xxx.xxx.xxx Administrator ID: admin Administrator password: **** System User (UID): root GID: other
instalace probíhá pod uživatelem root, při spuštění gateway je proces dostupný ze sítě vlastněn uživatelem noaccess.
Zadat přístupy na Access Manager:
AmAdmin password musí být alespoň 5 znaků dlouhé, pokud není, stačí změnit jen po dobu instalace. SRA nepoužívá k provozu amAdmin uživatele/
amadmin passwd: amldapuser passwd: Password encryption key:
V souboru AMConfig.properties parametr
am.encryption.pwd=
obsahuje klíč určení pro šifrování a dešifrování hesel.
Změna hesla uživatele je sepsaná v mém taháku.
Přístup do adresářového serveru:
Přístup na adresářový server je instalací otestován
Directory server host: sun.iforce.cz DS port: 389 dc=iforce,dc=cz cn=Directory Manager passwd: ***
Access Manager server adresa a port
Generovaní SSL certifikátu pod heslem
Gateway heslo se musí shodovat s heslem uživatele amService-srapGateway vytvořeného pří instalaci SDK Core.
Příklad 2.1. Gateway login user
dn: uid=amService-srapGateway,ou=People,dc=iforce,dc=cz
changetype: add
sn: amService-srapGateway
cn: amService-srapGateway
iplanet-am-modifiable-by: cn=Top-level Admin Role,dc=iforce,dc=cz
uid: amService-srapGateway
objectClass: sunportalnetmailperson
objectClass: top
objectClass: iplanet-am-managed-person
objectClass: iplanet-am-user-service
objectClass: inetadmin
objectClass: organizationalperson
objectClass: person
objectClass: inetuser
objectClass: sunssoadapterperson
objectClass: sunportalpksubscriptionsperson
objectClass: iplanetpreferences
objectClass: inetorgperson
objectClass: sunportaldesktopperson
inetUserStatus: Active
userPassword: {crypt}Ge4HaT42Ptsg
creatorsName: cn=puser,ou=dsame users,dc=iforce,dc=cz
modifiersName: cn=puser,ou=dsame users,dc=iforce,dc=cz
createTimestamp: 20050609081813Z
modifyTimestamp: 20050609081813ZObsah
Většina nastavení je uložena v adresářovém serveru a nastavuje se v amconsoli.
Profil je ke každé instanci v samostatném souboru, konfiguruje se v souboru nebo v amconsoli.
Předpokládané umístění souboru v Solarisu:
/etc/opt/SUNWps/platform.conf.defaula v Linuxu:
/etc/opt/portal/platform.conf.defaulPříklad 3.1. platform.conf.default
gateway.cdm.cacheSleepTime=60000 gateway.protocol=https gateway.jdk.dir=/usr/jdk/entsys-j2se gateway.userProfile.cacheCleanupTime=300000 gateway.userProfile.cacheSize=1024 gateway.external.ip=192.168.1.100 gateway.logdelimiter=&& gateway.httpurl= portal.server.instance=default gateway.port=443 gateway.debug=message gateway.bindipaddress=192.168.1.100 gateway.certdir=/etc/opt/SUNWps/cert/default gateway.host=sun.iforce.cz gateway.logging.password=of7JMF5gSRD5wgsA/cFghg\=\= x0mfS5km2KkRIRdGkeZW3g\=\= gateway.sockretries=3 gateway.enable.customurl=false gateway.userProfile.cacheSleepTime=60000 gateway.enable.accelerator=false gateway.cdm.cacheCleanupTime=300000 gateway.favicon= gateway.notification.url=notification gateway.httpsurl= portal.server.port=80 gateway.virtualhost=sun.iforce.cz 192.168.1.100 gateway.allow.client.caching=true gateway.retries=6 gateway.dsame.agent=http\://sun.iforce.cz\:80/portal/RemoteConfigServlet portal.server.host=sun.iforce.cz gateway.user=noaccess gateway.trust_all_server_certs=true gateway.debug.dir=/var/opt/SUNWps/debug portal.server.protocol=http
Lze nastavit v Access Manageru, ale neuložilo se mi do souboru v
/etc/opt/portal. Pro správnou funkci stačí
zkopírovat nebo vytvořit soubor
platform."profile", kdy "profile",
je název profilu pro start Gateway.
cp platform.conf.default platform.conf.test
Další možností jak vytvořit instanci GW je pomocí skriptu:
gateway-install-root/SUNWps/bin/gwmultiinstanceU každé gateway brány musí být nainstalován minimálně SDK.
Konfigurační soubor se nachází (v Linuxu):
/etc/opt/sun/identity
Pro změnu nastavení stačí poeditovat soubor
AMConfig-default.properties (default
je profil GW) a restartnout GW:
/etc/init.d/gateway start
Příklad 3.2. AMConfig-default.properties - ukázka části konfiguračního souboru
com.iplanet.am.defaultOrg=dc=iforce,dc=cz com.iplanet.am.directory.ssl.enabled=false com.iplanet.am.directory.host=DIRECTORY_SERVER com.iplanet.am.directory.port=DIRECTORY_PORT com.iplanet.am.server.protocol=http com.iplanet.am.server.host=sun.iforce.cz com.iplanet.am.server.port=80 com.iplanet.am.console.protocol=http com.iplanet.am.console.host=sun.iforce.cz com.iplanet.am.console.port=80 com.iplanet.am.profile.host=sun.iforce.cz com.iplanet.am.profile.port=80 com.iplanet.am.naming.url=http://sun.iforce.cz:80/amserver/namingservice com.iplanet.am.notification.url=http://sun.iforce.cz:80//amserver/notificationservice com.iplanet.am.daemons=unix securid com.iplanet.am.cookie.name=iPlanetDirectoryPro com.iplanet.am.cookie.secure=false com.iplanet.am.cookie.encode=COOKIE_ENCODE com.iplanet.am.pcookie.name=DProPCookie com.iplanet.am.locale=en_US com.iplanet.am.jdk.path=/usr/jdk/entsys-j2se com.iplanet.am.logstatus=ACTIVE com.iplanet.am.rootsuffix=ROOT_SUFFIX com.iplanet.am.domaincomponent=dc=iforce,dc=cz com.iplanet.am.version=6 2005Q1
Aby mohl uživatel využívat služby vzdáleného přístup, je nutné aby měl zaregistrované servisy SRA, které jsou v adresářovém serveru reprezentovány atributem objectclass:
objectClass: sunPortalGatewayAccessService objectClass: sunPortalNetFileService objectClass: sunPortalNetletService
Tyto atributy se vytvoří registraci servisu v amconsoli a to konkrétně Access list apod., dalším způsob je zápisem přímo pomocí ldapmodify do adresářového serveru.
Soubory s certifikáty jsou uloženy:
/etc/opt/SUNWps/cert/default/gateway-profile-name
v tomto adresáři jsou uloženy 3 soubory:
cert8.db
key3.db
secmod.db
Tabulka 3.1. Certificate Trust Attribut
| p | Valid |
| P | Trusted peer (implies p) |
| c | Valid CA |
| T | Trusted CA to issue client certificates (implies c) |
| C | Trusted CA to issue server certificates (SSL only) (implies c) |
| u | Certificate can be used for authentication or signing |
| w | Send warning (use with other attributes to include a warning when the certificate is used in that context) |
Generování a práce s certifikáty:
portal-server-install-root/SUNWps/bin/certadmin -n gateway-profile-name
Po spuštění se zobrazí následující obrazovka:
1) Generate Self2-Signed Certificate 2) Generate Certificate Signing Request (CSR) 3) Add Root CA Certificate 4) Install Certificate From Certificate Authority (CA) 5) Delete Certificate 6) Modify Trust Attributes of Certificate (e.g., for PDC) 7) List Root CA Certificates 8) List All Certificates 9) Print Certificate Content 10) Quit choice: [10] 1
Výpis tokenu (popis je v Linuxu):
Mít nalinkovanou knihovnu:
export LD_LIBRARY_PATH="/opt/java/j2sdk/jre/lib/i386:/opt/sun/private/lib/"
Vstup do adresáře s modutil:
./modutil -dbdir /etc/opt/sun/portal/cert/default -list
Výstup příkazu:
Using database directory /etc/opt/sun/portal/cert/default...
Listing of PKCS #11 Modules
-----------------------------------------------------------
1. NSS Internal PKCS #11 Module
slots: 2 slots attached
status: loaded
slot: NSS Internal Cryptographic Services
token: NSS Generic Crypto Services
slot: NSS User Private Key and Certificate Services
token: NSS Certificate DB
2. Root Certs
library name: /etc/opt/sun/portal/cert/default/libnssckbi.so
slots: 1 slot attached
status: loaded
slot:
token: Builtin Object Token
-----------------------------------------------------------Import Certifikační autority:
Spuštění toolu:
portal-server-install-root/SUNWps/bin/certadmin -n gateway-profile-name
Zvolit instalaci root CA:
3) Add Root CA Certificate
Vypsání seznamu importovanych certifikátů:
7) List Root CA Certificates
A výstup:
iForce.cz CT,C,c server-cert u,u,u
Další postup pomocí certutil:
certifikát je v PCKSC#12:
# /opt/sun/private/bin/pk12util -i /sun.p12 -d /etc/opt/sun/portal/cert/test/
Enter a password which will be used to encrypt your keys. The password should be at least 8 characters long, and should contain at least one non-alphabetic character. Enter new password: Re-enter password: Enter password for PKCS12 file: pk12util: PKCS12 IMPORT SUCCESSFUL
import CA s heslem v souboru sslpassword:
# /opt/sun/private/bin/certutil -d /etc/opt/sun/portal/cert/test/ \ -f ./sslpasswd -M -n CA -t "CTu,CTu,CTu"
Import certifikátu:
# /opt/sun/private/bin/certutil -d /etc/opt/sun/portal/cert/test/ \ -f ./sslpasswd -M -n SunCert -t "CTPu,CPu,TPu"
Výpis seznamu certifikátů v databázi:
# /opt/sun/private/bin/certutil -d /etc/opt/sun/portal/cert/test/ -L
iForceCert CTu,Cu,Pu iForceCA CT,C,C
Když se uživatel připojuje přes gateway komponentu SRA je
automaticky přesměrován (při standardní nastavení) na adresu
http://GW/http//portal.server.cz/amserver/UI/Login.
Tato adresa lze změnit maličko nesystémově v daném
Login.jsp souboru přidáním redirectu.
Do souboru v případě aplikačního serveru verze 7:
vi [APP-ROOT]/domains/domain1/server1/applications/j2ee-modules/amserver_1/config/auth/default/Login.jsp
přidat redirect:
<% String redirectURL = "http://portal.server/porta/dt"; response.sendRedirect(redirectURL); %>
CE - Unified Web Centrum je javovská webová aplikace centralizující webmail, web kalendář a adresář. Nebudu popisovat tuto aplikaci, jen se zaměřím na jednu chybku (která je možná již opravena nějakým patchem) a projevuje se pří použití SRA GW.
V této chybě dochází k špatnému interpretování záložky s mailem. Oprava této chyby je v javaskriptu:
Příklad 3.4. Oprava v UWC - javascript
Stačí přepsat funkci do následujícího tvaru:
vi /opt/SUNWmsgsr/data/config/html/main.js
function getUWCHost()
{
var prot = msgHREF.substring(0,5);
if(prot != "https")
prot = "http://";
else
prot = "https://";
var port = cfgFrame.uwcport;
if(port != null)
port = ":" + port + "/";
index = msgHREF.lastIndexOf(':');
if(msgHREF.length - index > 6)
index = msgHREF.length - 1;
var href = msgHREF.substring(0,index) + port;
ctxuri = main.cfgFrame['uwccontexturi'];
if(ctxuri == null)
ctxuri = '';
else
ctxuri += '/'
return href + ctxuri;
}Doporučuji:
nastavit v platform.conf nejvyšší level
logování
gateway.debug=message
Logy jsou v adresáři portálu, v Solarisu v
/var/opt/SUNWps/debug/
při instalaci je třeba prohlédnout všechny logy v adresáři
/var/sadm/install/log zda instalace proběhla v
pořádku
Při startu GW se podívat do adresářového serveru, zda se dokázal uživatel autentizovat.
Před startem GW je třeba počkat až se ukončí všechny konekce teprve poté lze opět nastartovat GW.
Seznam odkazů použité literatury: