「WebSphere」を含む日記 RSS

はてなキーワード: WebSphereとは

2022-07-18

Linux躍進の謎

Linux誕生したのは1990年代

これはUNIX系OSの中でもほぼ最後発になる。

それも開発したのは俗に言うスーパーハッカーとかスタープログラマとかではなく、当時全く無名だった大学院生

から開発の目的だって勉強のためかお遊びなのかもよくわからない話だったり。

そこに来て、型落ちロースペックPCでも動かせるフリーUNIXライクOSとなると、今だったら

ジェネリックUNIX

みたいに冷笑されかねない話だ。

実際リリースされて間もない1990年代後半から2000年前後辺りまでは

流行の追っかけしか能がない、ワナビーのクソガキ共が使うおもちゃ

くらいの立ち位置だった。

当時流行っていたネットスラング類似する煽り方をするなら「アンチMS御用達」みたいな感じだろうか。

しかし今や、そんなのはとっくのとうに大昔の話というか

「そんな事があったんだー」

で終わるくらい、Linuxは誰でも、どこでも使うOSになっているのは御存知の通り。

UNIX系OSで最もメジャーと言うだけではなく、システム開発サーバ構築でWindowsサーバとともにほぼ必ず選択肢に挙げられるようになって久しい。

更に直近の10年で、気がつけば世界中で使われているスマホ殆どLinuxベース(Android)になっている。

まり誕生からの四半世紀で爆発的に発展・普及したというわけだ。

本当にLinuxを使うなんて今どき普通すぎて、特に取り立てて言うことではない。

一方でLinuxよりもずっとフリーUNIXとしての歴史があり、かつては定番だったBSD系なんて、今やAppleのお陰で辛うじて延命している状態なのだから、これまた隔世の感がある。

とはいえ気になるのは、何をどうやったらここまで信じがたい躍進をしたのか?という事情

ホビー用途ビジネス用途では要求される信頼性レベルが異なるので、誰かがそこに手を入れないとこのような発展は望めない。

そこでは大企業がきちんと専門家を入れる形で関わるならなお良い。

そうなるとやはり、まずIBMが白羽の矢を立て、次いでGoogle積極的コミットするようになった流れが大きいのだろうか。

このうちGoogleは「弊社はオープンソースフリーライドしているわけではない」アピールや自社サービスコストダウン、更にはモバイル分野への進出という諸々の目的に好都合だったのだと思う。

問題IBMだ。

しろ元々IBMAIXという自社製UNIXを売ってる会社であり、これを用いた各種サーバ構築はお家芸だったわけで。

更にこのAIXDB2WebSphereを組み合わせる方式は、2000年代くらいまではエンタープライズアーキテクチャの2大巨頭だった。

(もう1つはSolaris+Oracle+WebLogic)

そんな会社Linuxに手を出して、一体何の得があるんだ?という話なわけ。

一つ考えられるとすれば、AIXDB2WASも買えない貧乏人もとい中小規模の顧客から、せめて構築と運用手数料だけでも取るためとか?

まあ確かに一時期流行ったLAMP(Linux+Apache+MySQL+PHP)なら、ライセンス料なしでハード安価PCサーバになるので、導入のハードルは低い。

というわけでLinuxの草創期を知ってる人間からしたら、今の状況は世の中が変わりすぎなくらい変わったという感覚が強い。

Android不具合スマホメーカー依存or機種依存だったり、そもそもLinuxデスクトップ用途が未だに少数派なのは今後も変わらないだろうけど、逆に変わらないのは多分それくらい。

あとUbuntuは嫌い。

2017-03-21

<META name="GENERATOR" content="IBM WebSphere Homepage Builder V6.0.0 for Windows">

これを見るとお腹いっぱいになっちゃ

しか

<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

とかな

2015-11-12

参考訳:拡散したJavaシリアル化の脆弱性についてApache Commons声明

原文:https://blogs.apache.org/foundation/entry/apache_commons_statement_to_widespread

原題Apache Commons statement to widespread Java object de-serialisation vulnerability

翻訳日:2015年11月12日(午後にタイトル日本語しました)

----

2015年11月1日 火曜日

Apache CommonsJavaオブジェクトのデシリアライゼーション脆弱性に関するステートメント

著者:Bernd Eckenfels(コミッター), Gary Gregory(Apache Commons副責任者)

AppSecCali2015 でGabriel Lawrence (@gebl) と Chris Frohoff (@frohoff) によって発表された "Marshalling Pickles - how deserializing objects will ruin your day" は、信頼されないソースからシリアル化されたオブジェクトを受け取るときセキュリティ問題をいくつか明らかにしました。主な発見は、Java オブジェクトシリアライゼーション(訳注:seriarization/シリアル化/直列化=ネットワークで送受信できるようにメモリ上のオブジェクトデータバイト列で吐き出すこと。シリアル化されたJava オブジェクトRMIなどのリモート通信プロトコル使用される。)を使用する際に任意Java関数の実行や操作されたバイトコードの挿入さえもを行う方法説明です。

Frohoff氏のツールである ysoserial を使って、Foxglove Security社のStephen Breen (@breenmachine) 氏はWebSphereJBossJenkinsWebLogic、OpenNMSといった様々な製品調査し、(http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/) に各々の様々な攻撃シナリオ記述しています

両者の調査活動は、開発者Javaオブジェクトシリアライゼーションに信頼を置きすぎていることを示しています認証前のシリアル化されていないオブジェクトにも。

Javaにおけるオブジェクトのデシリアライゼーション(訳注:de-serialization/非直列化=ソフトウェアで扱うことができるように、送受信されたデータを元に戻すこと)が行われるとき、大抵は想定された型にキャストされ、それによって、Javaの厳しい型のシステムが、得られた有効オブジェクトツリーだけを保証しています

不幸にも、型のチェックが起こるまでの間に既にプラットホームコードが生成されて、重要ロジックは実行されてしまっています。そのため、最終的な型がチェックされる前に、開発者コントロールを離れた多くのコードが様々なオブジェクトの readObject() メソッドを通じて実行されてしまます脆弱性のあるアプリケーションクラスパスから得られるクラスの readObject() メソッドを組み合わせることで、攻撃者は(ローカルOSコマンドを実行するRuntime.exec()の呼び出しを含めて)機能を実行することができます

これに対する最も良い防御は、信頼されていないピア通信相手)とは複雑なシリアルプロトコルを使うことを避けることです。ホワイトリストアプローチ http://www.ibm.com/developerworks/library/se-lookahead/実装するように resolveClass をオーバーライドするカスタム版の ObjectInputStream を使うと、影響を制限することができますしかしながら、これは常にできることではなく、フレームワークアプリケーションサーバがエンドポイント提供しているような時にはできません。簡単な修正方法がなく、アプリケーションクライアントサーバプロトコルアーキテクチャを再検討する必要があるため、これはかなり悪いニュースです。

これらのかなり不幸な状況において、エクスプロイトのサンプルが見つかっています。Frohoff氏は、 Groovy ランタイムSpringフレームワークApache Commons コレクションからクラスを組み合わせるサンプルのペイロードに gadget chains (ガジェット・チェーン)を見つけています(訳注:provided)。これはこの脆弱性エクスプロイトのためにより多くのクラスを組み合わせられることは完全に確実なことで、しかし、これらは今日攻撃者が簡単に得られるチェーンです。

(Twitter画像)https://blogs.apache.org/foundation/mediaresource/ce15e57e-94a4-4d7b-914c-8eb8f026659c

この脆弱性のために利用される(訳注:blamed)ことができない確かな機能実装するクラスができ、安全性が信用できないコンテキストにおけるシリアル化を利用されないようにするような既知のケースの修正ができたとしても、少なくとも分かったケースだけでも継続的修正していくことが要求されますモグラ叩きゲームを始めるだけであるかも知れませんが。実際にはこれは、オリジナルチームが Apache Commons チームに警告が必要だと考えていない理由で、それゆえに比較的、活動開始が遅れました。

Apache Commons チームは InvokerTransformer クラスのでデシリアライゼーションを無効化することによって commons-collection の 3.2 と 4.0 のブランチにおける問題対処するために、チケット COLLECTION-580(http://svn.apache.org/viewvc/commons/proper/collections/branches/COLLECTIONS_3_2_X/src/java/org/apache/commons/collections/functors/InvokerTransformer.java?r1=1713136&r2=1713307&pathrev=1713307&diff_format=h) を使っています議論されているやるべきことのアイテムは、変化させる仕組み毎(per-transformer basis)に、プログラマティックに有効にするような機能提供するかどうかです。

これには前例がありますOracle と OpenJDK JRE の一部であったり、バイトコードを挿入して実行することを許したりする com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl クラスで、セキュリティマネージャー定義されているとデシリアライゼーションを拒否します。

これはシステムプロパティ jdk.xml.enableTemplatesImplDeserialization=true とすることで無効にできますApache Commons Collection は、本来よりもこの実行モデルは一般化していないため、セキュリティマネージャー存在独立したこの機能無効化することを計画しています

しかしながら、明確化のために述べておくと、この便利な"ガジェット"は、唯一知られている方法でもなければ、特に未知のものでもありません。そのため、インストールされたものを強化されたバージョンApache Commons Collection に置き換えることが、アプリケーションをこの脆弱性に対抗できるようにするわけではありません。

このブログポストレビューのために Gabriel Lawrence に感謝したいと思います

Apache Commons Collection は、Java コレクションフレームワークに加えて追加のコレクションクラス提供する Java ライブラリです。InvokerTransformerコレクションにあるオブジェクトを(特にリフレクション呼び出しを通じてメソッドを呼び出すことで)変換するために使うことができる Transformer ファンクションインターフェース実装の一つです。

一般のSallyによる2015年11月10日午前10字15分にポスト | コメント[1]

コメント

OracleWeblogicセキュリティアラートを発行しています

http://www.oracle.com/technetwork/topics/security/alert-cve-2015-4852-2763333.html?evite=WWSU12091612MPP001

提供されている回避策は、T3プロトコルへのアクセス(とリバースプロキシーにおけるT3メソッドフィルタリング)です。

2015-06-25

http://anond.hatelabo.jp/20150624204147

・仮に、丸投げ構造想像した通りだったとしたら...

CTC → A社の発注が 5000万で、B社に丸投げだったら、2500万くらいだろう。

A社のCTCへの見積もりは、見積単価が 120万/人月ちょっと安いか?)で、40人月くらい。

A社の原価率を85% として、原価が 34人月

A社は、B社の見積もりを 34人月までは許容。

B社の単価を 80万/人月としたら、マックスで 2720万。

多少駆け引きがあって、2400~2500万ってところが妥当では。

ニトリは内製っぽいけど...

IBM系列ソフトハウスも関わってるのだと想像

ニヨニヨするとか言われてたページには、こんなコメントが入ってる。

<!-- Customize for NITORI start-->
<!-- Mod for Nitori End -->

内製の場合には、こんなコメントは入れないだろうと。

WebSphereミドルウェアに決めたときに、カスタマイズ発注してたことは十分考えられる。

オープン前には、検収をあげちゃってたんじゃないかな。

「これは仕様通りです」とかなんとか、そんなやり取りをいっぱいしたんだろうな...

ベータ版なんて作らない

ウォーターフォールで一直線。

ニトリ社のレビューというか、受け入れ試験があったとして、そこで出されるのは

完成品、もしくシステムテストがある程度残っている本物。

リニューアルオープンが延期したのは、本当に間に合ってないだけ。

6月1日が延期したのも、ろくに動くようなものじゃなかったんじゃないか。

リニューアル後の性能問題も、何だかんだで一週間で復旧できたわけだし。

・表に出ないだけで...

ふわっとした仕様書杓子定規実装した、というよくあるパターンな気がする。

ウィンドウで表示される「リニューアルオープンの遅れに関するお詫び」にまで販売サイトのヘッダ、フッタがきっちりと表示されている。

http://www.nitori-net.jp/store/ja/ec/%E3%81%8A%E7%9F%A5%E3%82%89%E3%81%9B6%E6%9C%8823%E6%97%A5

から十までテンプレート

この硬直さもウォーターフォールっぽい。

css がど真ん中に挿入されているのも、さもありなん。

フッタのメニューなんか幅に応じて三段階に切り替わって、普通には作り込まれているのに。

2015-06-24

ニトリHTMLソースみたんだけど

<html lang="ja" xml:lang="ja">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link rel="stylesheet" href="/wcsstore/ec/css/common1_1ja_JP.css" type="text/css"/>


IBMWebSphere Commerceってやつを使って居るみたいだ

2014-09-03

http://anond.hatelabo.jp/20140902163444

理由くらい書けよ糞が

Windowsだけでしか動かなくてもいいからスタンドアロンプログラムが作りたい → (簡単なことだけでいいなら)C#、(メモリ効率が求められるなら)C++

他のWindowsプログラムがやっていて、多くの方が「できて当然」だと思っていることは、7割くらいであれば.NET(フレームワーク名)を叩けばできます

.NET対応言語C#VB.NET、J#、F#JScript.NETC++/CLIなどがあり、実際の開発においてはこれらの中から自分に合った言語を選ぶことになります

個人的感想ですが、この中で最もゆとり仕様なのはC#です。StackOverflowなどのノウハウが一番蓄積されているのもC#だと思います

「頻繁なアップデートを追跡しないといけない」「Visual Studio必要」という問題はありますが、がんばってください

なお、.NETメモリを食うので、数値計算みたいなことをしたいのであればC++が現状一番まともだと思います。がんばってください

Macプログラムが作りたい → Objective-C

昔のMacプログラムGUICarbonというライブラリで作っていました。今はCocoaというライブラリで作っています

残念なことに、どちらも言語Objective-Cです。がんばってください

ブラウザアプリが作りたい → クライアントJavaScriptサーバは後述

ブラウザアプリは、ユーザWebブラウザ(ChromeFirefoxOperaSafariなど)上で動作するシステムと、遠隔のサーバ上で動作するシステム連携して成立します。

従って、ブラウザアプリを作る言語は、サーバ用言語とクライアント用言語の2種類を考えなければなりません。めんどくさいですね。

ひとたびそのめんどくささを突破してしまえば、Webブラウザさえあればどこでも動くようになります。素晴らしいですね。

クライアント用の言語は、まぁ、JavaScriptしかないと思います。がんばってください

JavaScriptも(正直なところ)あまり褒められた言語ではないので、近頃ではもうちょっとまともな言語を作って、それをJavaScriptに変換する方法が取られたりします。CoffeeScriptTypeScriptHaxeとかですかね。がんばってください

JScriptかいう、名前が紛らわしい上にゴミブラウザ上でしか動かないゴミ未満言語もありますけど、そんなもんで作っても私の環境では動かせませんので悪く思わないでください。

iOSネイティブアプリが作りたい → Objective-CSwift

そもそも選択肢が全くありませんので仕方がないです。がんばってください

Xamarinがあるじゃないかって?まぁそういうのもあるかもしれませんね。がんばってください

Androidネイティブアプリが作りたい → Java

私の勉強不足で、Java以外の選択肢は知らないです。Java以外にあるんですかね?

*NIX用の補助スクリプトを作りたい → PerlPython2、Ruby

Perl使い捨てスクリプトを作るのに適していますCPANクライアントは昔から安定して動きません。だいぶオワコン化してます。がんばってください 私は鞍替えしました

PythonPerlより見た目がすっきりしたPerlです。easy_install・pipはすごく安定していてびっくりします(Windows除く)。3系とかいう邪念は捨てて2系教の悟りを開きましょう。がんばってください

RubyPerl(の処理系ソースコード)より(処理系ソースコードが)綺麗なPerlです。私の手元のUbuntuで「ruby」と入力すると「Command not found.」と返ってくることからも解るとおり、多くの*NIXではOS標準でインストールされておりません。昔のgemは何故あんなにすごい時間をかけてrdocを作っていたのでしょうか。日本人が作ったのでムラ意識の強い日本人の仲間が大勢ます。他の国は知りません。がんばってください

*NIX系のOSでミドルウエア的なものを作りたい → なんだそれ?何を作りたいの?

ゲームを作りたい → どんなゲームだよ…

言語処理系を作りたい → BNF、C

これ以上言語を増やすのはやめましょう。バベルの塔大勢人間が不幸になったのに、それを人間が自ら引き起こしてどうするんですか。

言語処理系を作るのであれば、BNFという言語で文法を定義して、yacc・bisonというツールに食わせればひな形ができます。ぶら下がりelseとの格闘が待ってますが、がんばってください

OSを作りたい → C

1からOSを作った方もいますが、デバイスドライバの流用などを考えると、だいたいはLinuxBSDソースコードを改変するお仕事だと思います

残念なことにLinuxBSDもCです。がんばってください

ブラウザアプリ用のサーバが作りたい → PHPJavaC#Go

昔はCGIと言っていました。所詮は80番ポートでlistenするだけのプログラムであり、BSDソケットをlistenできるライブラリを有する言語であれば何でもいいのですが、いくつかの宗教があります

PHPバンドネオンと同じくらい習得が困難な言語なのに、宣伝の仕方を間違えたために「自分はできる」と勘違いしたプログラマが暴徒と化し、イスラム教と同じくらい不当に低く評価されている言語です。きちんと勉強して使う分には、悪くない選択肢だと思います。がんばってください

Javaは、EclipseNetbeansといった超重量級IDEを起動して、Java EESpringといった超重量級ライブラリ依存したwarを、JbossWebSphereなどの超重量級アプリケーションサーバ上で動作させるため、メモリが貧弱な環境ではIDEサーバを同時に起動すらできません。サーバメモリが潤沢であれば悪くない選択肢だと思います。がんばってください

C#は、選択肢が全くないことを除けば、状況はJavaとあまり変わりません。Microsoftがお好きな方、何かの間違いでWindowsサーバを使わざるを得ない方であれば、悪くない選択肢だと思います。がんばってください

Goはよくわからないですがきっといい言語です。がんばってください

ちなみに増田はcpoll_cppspの勉強中です。がんばります

2011-09-20

SI業界で必要とされる新卒

http://d.hatena.ne.jp/aike/20080615

この記事が面白かった。2008年のだけど、今でも変わらんと思う。

SI業界での即戦力とは「金融工学財務会計に詳しくてCOBOLABAPが読めてWebSphere上のJavaが書けます」といったような人なのだが

こんな大卒新人が居たらヤだけどw


インフラ系の自分SIer最初プロジェクトに配属されたとき、必要とされた知識は主にWindows Server(ActiveDirectory)だった。

人によっては、大学情報センターの手伝いをしていたという学生が、ADなんか触っていたりするらしいが、情報系の学生でも

WindowsServerなんて触ったことがない人間ほとんどだと思う。


自分は、LDAPDNSは知っていたけど、ADなるものはよくわからず、標準的な規格、テクノロジーと、マイクロソフトプロダクトの間にあるギャップに当時かなり苦しんだ記憶がある。

LDAPDNSもまともに知らないシステム管理者が、いっぱしの「エンジニアヅラして、仕事をしているのがSI業界なんだなあと知ったのは、そののちすぐのことだったけど。

2010-03-27

http://anond.hatelabo.jp/20100327151237

http://www.eonet.ne.jp/~senyou-mondai/

なんか今時このホームページビルダー丸出し感が返って新鮮な雰囲気を感じるなぁと思っていたら

<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 8.0.2.0 for Windows"&gt;

パネエ……。

2008-12-11

http://anond.hatelabo.jp/20081211180453

google:ポータルサイトとは

http://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%BC%E3%82%BF%E3%83%AB%E3%82%B5%E3%82%A4%E3%83%88

元々ポータルとは、港(port)から派生した言葉で、門や入口を表し、特に豪華な堂々とした門に使われた言葉である。このことから、ウェブアクセスするために、様々なコンテンツを有する、巨大なサイトポータルサイトというようになった。入口、玄関という意味エントランス(entrance) を使わなかったのは、ポータルには「豪華、堂々とした」という意味合いが強かったためと思われる。

ポータルサイトは、検索エンジンウェブディレクトリニュースオンライン辞書オークションなどのサービスを提供し、利用者の便宜を図っている。

ポータルサイトビジネスモデルは、サイト集客力を生かして広告や有料コンテンツで収入を得ることである。1996年以降のインターネットブームに乗じて、多くのポータルサイトが乱立したが、徐々に統廃合が進んでいる。

初期のポータルサイトは自前で検索エンジンウェブディレクトリ運用していたが、情報肥大化に対応しきれずアウトソーシングが多くなった。

生き残りをかけて、特定の地域サービスに特化した地域ポータルサイトや、インターネットサービスプロバイダプロバイダ)のサービス情報サイト育児環境オルタナティブカルチャー音楽女性生き方などにテーマを絞ったポータルサイトもある。不特定多数アクセスがあるだけに、こうしたポータルサイトアダルト情報を持ち込むことの是非を問う意見もある。

近年ポータルサイトから派生した、企業ポータル」が関心を高めている。企業に散らばっている様々なデータ情報を効率的に探したり利用するためにパソコンの画面上にこれら情報アプリケーションポートレットとして集約表示する技術がでてきた。画面は利用者の要求によって自由にレイアウトを変更でき、例えば社長用の画面、部長用の画面、営業用の画面、技術者用の画面など、それぞれの職種・役割に応じた最適画面を作ることが出来る。代表的な「ポータル製品としては、IBMWebSphere PortalMicrosoftMicrosoft SharePointなどがある。

http://e-words.jp/w/E3839DE383BCE382BFE383ABE382B5E382A4E38388.html

インターネット入り口となる巨大なWebサイト検索エンジンリンク集を核として、ニュース株価などの情報提供サービスブラウザから利用できるWebメールサービス電子掲示板チャットなど、ユーザインターネットで必要とする機能をすべて無料で提供して利用者数を増やし、広告電子商取引仲介サービスなどで収入を得るサイトのことをいう。Yahoo!ExciteInfoseekLycosgooなどの検索エンジン系のサイトや、Netscape Communications社やMicrosoft社などのWebブラウザメーカーサイトAOLリクルート、Walt DisneyなどのコンテンツプロバイダサイトSo-netBIGLOBEニフティなどのネットワークプロバイダサイトなどがそれぞれ強みを生かしながら激しい競争を繰り広げている。

http://d.hatena.ne.jp/keyword/%A5%DD%A1%BC%A5%BF%A5%EB%A5%B5%A5%A4%A5%C8

portal site

インターネットWWW)にアクセスするときに、玄関口となるウェブサイト

主に検索エンジンリンク集などを中心として、様々なサービスを提供することにより、利用者の増加を図っている。

番組的には簡単な表現のほうが良かったんじゃ?

 
ログイン ユーザー登録
ようこそ ゲスト さん