클라우드, 데이터센터, 가상화, 모바일가 많이 회자 되었었는데, 여전히 랭킹을 지키고 있네요. 2010년에는 고급 분석과 보안이 나타났네요.
참조 : 가트너, 2010년 전략기술 톱10 발표
참조: [2010 CIO 기술어젠다①]내년 IT 투자 키워드 ‘가상화, 클라우드, BI’
Posted by 산사랑
Posted by 산사랑
Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/159
Posted by 산사랑
Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/117
Windows 환경에서 Apache Tomcat 6.0.16에 JOSSO Gateway(Idp)를 설치 하고, Apache HTTP Server 2.2.8상에서 수행되는 PHP 5.2.5에 JOSSO Agent(SP)를 설치 한다. 사용자 인증을 위해서는 MySQL 5.0.51을 사용한다.
mysql -uroot -pxxx mysql
grant all privileges on jossodb.*
to josso@localhost identified by '암호';
flush privileges;
select host, user, password from user order by user, host;
exit
DROP TABLE IF EXISTS `josso_role`;
CREATE TABLE `josso_role` (
`name` varchar(16) NOT NULL,
`description` varchar(64) DEFAULT NULL,
PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `josso_user`;
CREATE TABLE `josso_user` (
`login` varchar(16) NOT NULL,
`passwd` varchar(20) NOT NULL,
`name` varchar(64) DEFAULT NULL,
`description` varchar(64) DEFAULT NULL,
PRIMARY KEY (`login`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `josso_user_property`;
CREATE TABLE `josso_user_property` (
`login` varchar(16) NOT NULL,
`name` varchar(255) NOT NULL,
`value` varchar(255) NOT NULL,
PRIMARY KEY (`login`,`name`),
CONSTRAINT `josso_user_property_ibfk_1`
FOREIGN KEY (`login`) REFERENCES `josso_user` (`login`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `josso_user_role`;
CREATE TABLE `josso_user_role` (
`login` varchar(16) NOT NULL,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`login`,`name`),
KEY `name` (`name`),
CONSTRAINT `josso_user_role_ibfk_2`
FOREIGN KEY (`login`) REFERENCES `josso_user` (`login`),
CONSTRAINT `josso_user_role_ibfk_1`
FOREIGN KEY (`name`) REFERENCES `josso_role` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
cd d:/josso/bin
josso-gsh.bat
gateway install --target "$TOMCAT_HOME" --platform tc60
exit
"%JAVACMD%" %JAVA_OPTS% -jar "%BOOTJAR%" %ARGS% 를 삭제하고 아래 라인을 추가
java %JAVA_OPTS% -jar "%BOOTJAR%" %ARGS%
<!-- Identity, Session and Assertion Stores configuration -->
<s:import resource="josso-gateway-db-stores.xml" />
<!--
<s:import resource="josso-gateway-memory-stores.xml" />
<s:import resource="josso-gateway-db-stores.xml" />
<s:import resource="josso-gateway-ldap-stores.xml" />
-->
<db-istore:jdbc-store
id="josso-identity-store"
driverName="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/jossodb"
connectionName="josso"
connectionPassword="암호"
userQueryString="SELECT LOGIN AS NAME FROM JOSSO_USER WHERE LOGIN = ?"
rolesQueryString="SELECT NAME AS ROLE
FROM JOSSO_USER_ROLE WHERE LOGIN = ?"
credentialsQueryString="SELECT LOGIN AS USERNAME, PASSWD password
FROM JOSSO_USER WHERE LOGIN = ?"
userPropertiesQueryString="SELECT NAME, VALUE
FROM JOSSO_USER_PROPERTY WHERE LOGIN = ?"
resetCredentialDml="UPDATE JOSSO_USER SET PASSWD = ? WHERE LOGIN = ?"
relayCredentialQueryString="SELECT LOGIN FROM JOSSO_USER WHERE #?# = ?"
/>
<basic-authscheme:basic-auth-scheme
id="josso-basic-authentication"
ignorePasswordCase="false"
ignoreUserCase="false">
<basic-authscheme:credentialStore>
<s:ref bean="josso-identity-store"/>
</basic-authscheme:credentialStore>
<basic-authscheme:credentialStoreKeyAdapter>
<s:ref bean="josso-simple-key-adapter"/>
</basic-authscheme:credentialStoreKeyAdapter>
</basic-authscheme:basic-auth-scheme>
mkdir c:/php/includes
c:/php/includes 아래에 d:/josso_php/josso-php-inc 폴더를 통채로 복사한다.
include_path = ".;c:\php\includes"
auto_prepend_file = "josso-php-inc\josso.php"
// Josso agent configuration
$josso_gatewayLoginUrl = 'http://gatewayURLorIP:8080/josso/signon/login.do';
$josso_gatewayLogoutUrl = 'http://gatewayURLorIP:8080/josso/signon/logout.do';
// WS client configuration :
$josso_endpoint = 'http://gatewayIP:8080';
$josso_agent : JOSSO Agent
$ssoSessionId : JOSSO Session ID
$user = $josso_agent.getUserInSession() : 세션에 있는 사용자 정보 반환
$roles = $josso_agent->findRolesBySSOSessionId($sessionId) : Roles을 반환
$josso_agent.isUserInRole($rolename) : 해당 Role에 속하는지 여부 반환
$user->getName() : 사용자 명(사용자 아이디)을 반환
$user->getProperties() : 사용자의 모든 Properties를 반환
$user->getProperty('user.name') : 사용자의 해당 Property를 반환
jossoRequestLogin() : 로그인 페이지로 가고 싶을 때 호출
jossoCreateLoginUrl() : 로그인 URL을 반환
jossoRequestLoginForUrl($currentUrl) : 로그인 페이지 호출
로그인 후 인수로 전달된 페이지 호출
jossoRequestLogout() : 로그아웃을 하고 싶을 때 호출
jossoCreateLogoutUrl() : 로그아웃 URL을 반환
jossoRequestLogoutForUrl($currentUrl) : 로그아웃 페이지 호출
로그아웃 후 인수로 전달된 페이지 호출
*** 참고 문헌 ***
Posted by 산사랑
Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/84
보안적인 측면에서 웹 프로그램을 하는 사람에게 가장 골치 아픈 문제는 "크로스사이트 스크립트" 문제일 것이다. 방어를 하자니 업무와 상관없는 코드를 너무 많이 작성을 하여야 하고, 도대체 어디까지 코드를 추가하여야 크로스사이트 스크립트 공격을 효과적으로 방어를 할 수 있을까 하는 의구심이 들 것이다.
구글에서 "크로스사이트 스크립트" 문제를 발견 수정하는 툴을 오픈소스로 공개하였다니 반갑다. 다운로드 사이트에서 보니 1.51 Beta 버전이지만 구글 내부에서도 사용하고 있다고 하니 사용하여 테스트해 봄직 하다.
참고 : 현대판 트로이 목마
참고 : RatProxy - 구글에서 사용하는 보안 검사툴
Posted by 산사랑
Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/9
개인적인 글쓰기와 오픈소스 비즈니스 컨설팅 관련 글을 정리합니다. consult (골뱅이) jopenbusiness.com
- 산사랑