根暗シアン

備忘録という名の予防線

情報セキュリティスペシャリストになりました

4月に受けた情報セキュリティスペシャリストの合格発表がありました。

結果は合格でした。

午後Ⅱが62点でぎりぎりです。

今もう一回受けて受かる気がしないな~。

セキュリティスペシャリストっぽいことを何もしてないのでセキュリティスペシャリストの資格を持っているただの人になりました。

 

学習期間は1ヶ月ほど。

午前2は通勤電車で過去問をひたすら解いてました。ほとんど同じ問題がでるので過去問を完璧に解けるようになっていれば合格点は取れると思います。

午後は緑色の本を2,3周しました。

2015 情報セキュリティスペシャリスト「専門知識+午後問題」の重点対策 (専門分野シリーズ) : ITのプロ 46, 三好 康之, 大谷 將, 具志 強, 早坂 一希 : 本 : Amazon.co.jp

 

マスタリングTCP・IPを読んでいたのもネットワーク系問題の理解に役立ったと思います。

 

次はOracle Master Bronzeを受けよう。

【Linux】VMware上のUbuntu16.04にOracle11gXEをインストールする~環境構築~

Oracle Master Bronzeのお勉強のために、Oracle DBをインストールしてみる。

せっかくだからLinuxの勉強もついでにしていこう。

 

■環境(仮想環境)

VMware Workstation 12player

Ubuntu16.04

Oracle Database 11g XE Release 2

 

 

1.VMwareをインストール

 『サイバーセキュリティプログラミング』を読んでいた時にKali-Linuxを使うためにインストールしていたので省略。

2.Ubuntu環境を作成

 Ubuntuのisoイメージをダウンロード

 →VMwareでisoから環境を作成

 

3.FTPOracleインストーラを転送

 なぜかホスト側でダウンロードしてからUbuntuに移すという作業をしたけど、UbuntuFirefoxからダウンロードすればよかったのでは。

 FTP使わなくてもVMware Toolのファイル共有を使えば済むし。

 この辺もお勉強ということで。。。

 1.vsftpdのインストール

  sudo apt install vsftpd

 2.設定

  sudo vi /etc/vsftpd.conf    // 調べると/etc/vsftpdディレクトリ以下にあるってでてくるんだけど、etc直下にあるのはなんでだろう。

  → #write_enable=Yes

   のコメントアウトを外す。

 

 3.クライアントにFFFTPインストール(ホスト)

   接続アドレスはifconfigで出てくるinetアドレスを入力

   ユーザ名、パスワードはログイン時のものを使用

   で、バイナリモードで転送

【Java】Executorsのメソッド

Executors#newsinglethreadexecutor()で一つのthreadが作られるわけだけど、私はてっきり毎回同一のthreadを返すものだと勘違いしていた。

勘違いしたまま、ループの中でこのメソッドを実行してしまい、新しいthreadが次々に量産されるという恐ろしい事態が発生しました。

このくらいはちゃんと調べてから使いましょう。

【JAVA】DeploymentRuleSetについてメモ

DeploymentRuleSetの設定でハマったのでメモ

最近のJava(7以降)ではセキュリティの関係で自己署名証明書(Self-signed certificate.いわゆるオレオレ証明書)で署名されたアプリケーションを実行することができません。

 

セキュリティ設定によりJavaアプリケーションがブロックされるのはなぜですか。

 

Java Web Startアプレットを実行しようとすると、実行がブロックされてしまいます。

Java7ではセキュリティのレベルを「中」に下げればそれでも実行できたのですが、8になって「高」または「最高」しか設定できなくなりました。

 

詳しい作り方はこちら(Deployment Rule Set

 

1.ruleset.xmlを作成

セキュリティによるブロックを回避したい対象をルールセットに記述する。

ホストを指定する方法と、自己署名証明書のSHA-256フィンガプリントを指定する方法の2つがあります。

 

①ホストを指定する方法

 

<ruleset version="1.0+">

  <rule>

    <id location="https://foo.bar.com" />

    <action permission="run" />

  </ rule>

  <rule>

 

    <id location="http://*.hoge.com" />

    <action permission="run" />

  </ rule>

</ ruleset>

 

今回はホスト名ではなくIPで指定したかったので、

http://192.168.128.1:9090/

みたいなを書き方をしたのですが、なぜかうまくいきませんでした。

IPアドレスは間違いないのにブロックされてしまいます。

IPアドレスだとダメなのか…?

 

そこで次の方法で試したところ、うまくいきました。

自己署名証明書のSHA-256フィンガプリントを指定する方法

(SHA-256ってなんて読むのが一般的なんだろう。ニゴロ?two fifty-six?)

 

<ruleset version="1.0+">

  <rule>

    <id>

      <certification="ABC…(中略)…XYZ" />

    </ id>

    <action permission="run" />

  </ rule>

</ ruleset>

 

■フィンガプリント(メッセージダイジェスト、ハッシュ値)の調べ方

コマンドプロンプト

    %JAVA_HOME%\bin\keytool -printcert -jarfile <myjar>.jar

として出力された内容のSHA-256で始まる行を探す

     SHA-256:AB:CD:(中略):WX:YZ

このフィンガプリントの、コロンを消したものを<certification=" に続けて書く

 

2.DeploymentRuleSet.jarの作成と署名

jarファイルの作成

jar cvf DeploymentRuleSet.jar ruleset.xml

 

DeploymentRuleSet.jarが作成されるので、これを署名する。

この署名は自己署名証明書ではだめ。

 

3.Deploymentフォルダに配置

2で作ったDeploymentRuleSet.jarをWindowディレクトリの下に置く。

C:\Windows\Sun\Java\Deploymentなど

MacLinuxの場合は/etc/.java/deployment)

 

Javaコントロールパネル→セキュリティタブ→アクティブなルールセットに作成したルールセットが表示されればOK

 

 

書く予定のこと

書きたいこと・勉強したいことメモ

 

うちの会社は技術習得を軽視している節があって、業務がこなせればそれでいいって雰囲気がある。ほんとに数人の技術力の高い人に仕事が集中している。

学習コストに見合うメリットがないのかもしれないんだけどさー。

将来に不安を感じたので、自分でなんとかしないとなー。