システム」カテゴリーアーカイブ

システム構築やプログラミングに関わる内容です。
セキュリティに関する情報も紹介します。

【セキュリティ】最近のウイルス「ランサムウェア」

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

身代金要求型不正プログラム(ランサムウェア)というものが存在しているようです。
これやられたら完全にお手上げですね。バックアップの取り方も考え直さないと…。

▼トレンドマイクロの記事:危険なランサムウェア「CryptoLocker」とは
http://about-threats.trendmicro.com/RelatedThreats.aspx?language=jp&name=Ransomware+Raises+the+Stakes+With+CryptoLocker

 

トレンドマイクロ ウイルスバスター クラウド 3年版 (2014年9月発売版) 1本 【送料無料】

価格:9,790円
(2015/3/8 19:24時点)
感想(8件)

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

ハッカーの定義

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

研究所のトップページには書いていましたが
こちらでは挙げていなかったので書いておきます。

▼ハッカーになろう
http://cruel.org/freeware/hacker.html

私が大学の頃…、そんな前じゃないですよ?
まだ10年も前ではないです。
このサイトを見つけ、これはすごいものを見つけてしまったと思ったものです。

そのころなんてまだ、画像を表示しようものなら
ティーーーーーー、あ、止まった。再読み込み。
ティーーーーーーーーーーーーーー。完了。おっけ!

なんてのが当たり前の頃でしたからね?
まあ、何バイトだったかまでの証拠はないのですが、
少なくともサクッと表示される画像が存在しなかったのは間違いありません。

画像の圧縮技術が向上したのもあり、
サーバのリソースなり、チューニングのノウハウが進化したのもあり
紆余曲折を経て、今に至ることは諸先輩方の努力の賜物です。

本当の意味では、そういう先輩方こそが、「ハッカー」と呼ばれるにふさわしいのですけれども
今の御時世にそう呼んで喜ばれることやら…。

やはり上記のサイトを見ていても、さすがに時代が変わったかなあと思うところは否めず、
ハッカーという言葉を使うのは時代遅れですらあるのかなあ…、とがっかりしてしまう今日この頃。

なのだけれども、「ハッカーになろう」で書かれている内容に関しては全く色褪せないです。
来年の抱負を考える上で、やっとこの土俵に上がって来れた、と喜んでいるところです。

このことは情報技術に限りません。
お酒に詳しければお酒ハックだし、
アニメに詳しければアニメハックだし、
肉体の限界を求める人はボディハックだし。

ハッカーやハッキングという言葉はそんなに大層な言葉ではないし
本当は自分では名乗れない言葉なんです。

それをいたずらに使う人は、厨二病か、単なる勘違い野郎なんでしょうね。
なんたって、それらは称号であって、自分でアピールするものではなく
人に讃えられて初めて価値を持つものなのですから。

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【CMS】ちょっと目を離したらこれだよ…

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

うちのviolaサブドメインをしばらく放置してたら
28万件とか勝手に書き込まれてた。

Drupalだからなのかな…。標的リストとかありそうだよね。
以前の投稿でも書き込んでる通り、脆弱性が指摘されたりしてるし、
技術者としては使っていて直感的じゃないから、いまいちどこに地雷があるか読めないし…。

というわけで、Apacheで拒否設定をやりました。
なんか知らんけどえらい苦労した。
Orderの順序とか、Allowが先かDenyが後かとか厳密なんじゃね。

自分を拒否設定にして確認することに頭が行かず、
1日でやりきれんとは、まだまだだな…。

今日も仕事でVALUE DOMAIN落ちるし…。
最近クラッカー調子に乗りすぎだろ。

ハッカー目指してる身としては、
あのしょうもないクラッカーがハッカーって呼ばれるのを歯がゆく思います。

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【セキュリティ】SQLインジェクションは大幅に減少

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

2014年3Qの脆弱性届出は239件 – 10年目で累計1万件超に
http://www.security-next.com/053045

減少したと言われている中、SQLインジェクションの脆弱性を指摘されちゃったDrupalちゃんが、かわいくてしょうがない。

まあ、SQLインジェクションが問題視されてからしばらく経つからねえ。
SIerだった前の会社でも、SQLインジェクション対策やってますアピールしてたのが私が社会人1年目の頃だから、さすがにそうもなりますわな。現在、社会人7年目ね。

一方で、「任意のスクリプト実行」が最多とのことなので、JavaScriptの記述には気を使わないとですね。思いっきり実務に直結しますよ。

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【CMS】Drupalちゃん、いやーん

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

https://www.jpcert.or.jp/at/2014/at140042.html

運用開始から1ヶ月も経ってないのに
こんなしょぼい脆弱性指摘されないでよ…。
なんだろう、この今さら感。
別に見られて困る情報もまだないけどさ…。

もっともバージョン7系の脆弱性とのこと。
うちのしょぼいサーバは、32bitのCentOSですよーだ。
バージョン6までしかサポートしてもらってないので
何の影響もないもんね(泣)。

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【CMS】ビオラサイトを構築しました!

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

CMSを使ってサイトを構築しよう!
ということで、今度はDrupalを使って構築してみました。

▼ビオラ弾きのたのしみ
http://viola.khl.mydns.jp
https://viola.ldlus.org

concreteの方が良いかも…。
SoyCMSよりは分かりやすかったけど、
直感的とは言えないかな。

けど、いろいろカスタマイズしたい場合は
Drupalはできる子のような印象を受けました。

Drupal実践プログラミング徹底入門 [ ジョン・K.ヴァンダイク ]

価格:4,860円
(2014/10/8 10:22時点)
感想(0件)

“"

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【CMS】ウイスキーサイトをリニューアルしました!

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

CMSを使ってサイトを構築しよう!
ということで、もともとSoyCMSを使っていたのですが、
どうも難しいので諦めて別のCMSを使って再構築してみました。

▼ここがウワサの隠れバー(廃止済み)
http://whisky.khl.mydns.jp/

今回使ったのはconcrete5というCMSです。
コンクリートブロックを積み上げていくように
ページレイアウトを作っていけるという特徴なのですが…、
これは良い!!

ストレスなく、直感的に作っていけました。
これなら技術面にとらわれず、コンテンツ作成に注力できる。

Soyちゃんバイバイ。
純国産だから支援したかったけど、
プログラムできる身とあっては
CMSなしで作る方が楽に思えてきちゃって…。

concrete5公式活用ガイドブック

価格:3,542円
(2014/10/8 10:26時点)
感想(0件)

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【セキュリティ】「GNU Bash に OS コマンドインジェクションの脆弱性」の対策

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

最近世間をにぎわせているBashの脆弱性。
ご多分に漏れず当サーバも該当していました。

Bashをアップデートすれば対策になるので、
以下のように実施しましょう。

▼JVNの通達
http://jvn.jp/vu/JVNVU97219505/

▼CentOS6の情報はこちら
http://lists.centos.org/pipermail/centos-announce/2014-September/020593.html

▼Red Hat から出ているチェックコマンド

[admin@server ~]$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test
[admin@server ~]$

「vulnerable」なので脆弱性あり、ってことでしょう。

▼現在のbashのバージョンを確認

[admin@server ~]$ sudo rpm -q bash
bash-4.1.2-15.el6_4.i686
[admin@server ~]$

▼RPMはこちらから
http://rpm.pbone.net/
32bit版:「bash-4.1.2-15.el6_5.2.i686.rpm」で検索すると出る
64bit版:「bash-4.1.2-15.el6_5.2.x86_64.rpm」で検索すると出る

▼RPM取得

[admin@server ~]$ wget ftp://ftp.muug.mb.ca/mirror/centos/6.5/updates/i386/Packages/bash-4.1.2-15.el6_5.2.i686.rpm
--2014-09-29 11:21:05-- ftp://ftp.muug.mb.ca/mirror/centos/6.5/updates/i386/Packages/bash-4.1.2-15.el6_5.2.i686.rpm
=> `bash-4.1.2-15.el6_5.2.i686.rpm'
ftp.muug.mb.ca をDNSに問いあわせています... 130.179.31.46
ftp.muug.mb.ca|130.179.31.46|:21 に接続しています... 接続しました。
anonymous としてログインしています... ログインしました!
==> SYST ... 完了しました。 ==> PWD ... 完了しました。
==> TYPE I ... 完了しました。 ==> CWD (1) /mirror/centos/6.5/updates/i386/Packages ... 完了しました。
==> SIZE bash-4.1.2-15.el6_5.2.i686.rpm ... 908364
==> PASV ... 完了しました。 ==> RETR bash-4.1.2-15.el6_5.2.i686.rpm ... 完了しました。
長さ: 908364 (887K) (確証はありません)

100%[==============================================================================================================================================================>] 908,364 358K/s 時間 2.5s

2014-09-29 11:21:15 (358 KB/s) - `bash-4.1.2-15.el6_5.2.i686.rpm' へ保存終了 [908364]

[admin@server ~]$

▼RPMのコマンド
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231208/

▼アップデートで実行

[admin@server ~]$ sudo rpm -Uvh bash-4.1.2-15.el6_5.2.i686.rpm
[sudo] password for admin:
準備中... ########################################### [100%]
1:bash ########################################### [100%]
[admin@server ~]$

▼再度チェックコマンドを実行

[admin@server ~]$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test
[admin@server ~]$

「vulnerable」が表示されなくなったのでOK

入門bash第3版 [ キャメロン・ニューハン ]

価格:3,024円
(2014/10/4 11:05時点)
感想(2件)

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【サーバ】無料でサーバ運用しようぜ!

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

ずっと書こう書こうと思いつつ先延ばしにしていたのですが、
やっと筆を執りました。

▼ランニングコスト・ゼロでWEBサーバ運用!?
http://system.khl.mydns.jp/running_zero.php
https://ldlus.org/running_zero.php

興味のある方はぜひぜひ、一度お試しください!

「独習Linux専科」サーバ構築/運用/管理 [ 中井悦司 ]

価格:3,218円
(2014/10/4 11:13時点)
感想(1件)

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【Apache】ブラウザキャッシュの設定

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

サーバの速度を改善しようと思った時に、色々とできることがあります。
ブラウザキャッシュの設定がそのうちの一つです。

Google先生のご指摘
https://developers.google.com/speed/docs/insights/LeverageBrowserCaching

Apacheでの設定方法
http://oxynotes.com/?p=6024

▼画像やCSSやJSを1週間キャッシュする場合は、以下をhttpd.confに追記します
# BEGIN Browser Cache
<ifModule mod_expires.c>
ExpiresActive On
ExpiresByType image/png “access plus 1 weeks”
ExpiresByType image/jpeg “access plus 1 weeks”
ExpiresByType image/gif “access plus 1 weeks”
ExpiresByType text/css “access plus 1 weeks”
ExpiresByType text/javascript “access plus 1 weeks”
</ifModule>
# END Browser Cache

▼GTmetrix先生に評価してもらうと、ブラウザキャッシュの得点がびっくりするぐらい上がります
http://gtmetrix.com/

サーバ構築の実際がわかるApache実践運用 / 管理 / 鶴長鎮一

価格:3,218円
(2014/10/4 11:09時点)
感想(0件)

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

技術書は高価だが…、モノは考えよう

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

このあいだ、広島の学生からの友人が
出張で東京に来たので一緒に飲んだのですが、
彼が上司から言われたという話が興味深かったので、ここで紹介します。

我々の業界は工学系であり、
それにまつわる書籍は基本的に¥2,000を超え、
ものによっては¥6,000だって平気で超えます。

社会人1年目にナケナシの金をはたいて
新書・古書を問わず技術書を買い漁っていた身としては
これは投資だ、これは投資だ、ぐふっ・・・でしたが、
会社の立場で見ると、どうも¥6,000だろうが安いらしいのです。

社会人3年目だとして、単金(時給)が¥1,800だったとしましょう。
時給¥1,800円なのなら、¥6,000円と言うのはどういう金額ですか?

4時間も働けば、その金額を追い抜くわけです。
ということは?

必死にググって半日かけて調べた内容が、
この技術書読んだらしっかりまとまってた、というような場合。

ググって出てきた内容の信憑性は低い。
一方で書籍は検閲を経ているだけに信憑性が高い。

そうすると、お前が必死こいて探すよりも、
大人しく本読んでる方が、断然コスパいいじゃないか!
ってことですよ。

今までの経験を元に考えれば分かるはずだったのですが、
言われて初めて気づいたので興味深かったです。

今の会社にもビジネス書籍手当があったりしますが、やっぱり上限が低いです。
この話を聞くと、もっと投資したって回収できそうな気もします。
まあ、実際そういう手当を運用していると、いろいろあるんでしょうが…。

とまあ、そんな話も聞けつつ、浜松町で美味しいお酒を飲めました。


▼この本も名著だと言われてるけど読めてないな…

人月の神話 [ フレデリック・フィリップス・ブルックス ]

価格:3,456円
(2014/9/15 23:56時点)
感想(0件)

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

暗号プロジェクト

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

大学時代に作っていた暗号化・復号プログラムがあるのですが、
WEB上でそれらを動かせないかと思いつつ着手しました。

ひとまず、シフト暗号を実装しました。

▼こんな感じ
http://system.khl.mydns.jp/program/cipher/shift/shift.php
https://ldlus.org/program/cipher/shift/shift.php

暗号プログラムはC言語で書いているのですが、
コマンドライン上での対話型にしていたので
PHPでexec関数実行した際に値を返すように改修しました。

社会人になってからはJavaやPHPばかりだったので、
C言語のクセが頭から完全に抜けていて、しっかり苦戦しましたよ。

文字列操作があんなにややこしいとは…。
PHPって、つくづくとっつきやすいんだな。
配列気にしなくて良いし、そのまま代入できるし。

純粋C言語で頑張らない方が良いかなあ…。
C++勉強してみて、どっちが良いか比較してみるか。


▼大学時代にこの本で暗号への理解を深めました。読み物としても面白いですよ。

暗号解読(上巻) [ サイモン・シン ]

価格:680円
(2014/9/15 22:52時点)
感想(16件)

【1000円以上送料無料】暗号解読 下/サイモン・シン/青木薫

価格:723円
(2014/9/15 22:53時点)
感想(0件)

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【CakePHP】bakeのやり方

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

端末からコマンド叩きます
$ cd cake/app/
$ Console/cake bake all [テーブル名]

※テーブル名がtest_tablesであれば、[テーブル名]をTestTableとして実行する今回指定するテーブルに限らず、テーブル名に「.(ドット)」を含むものが同じDBにあると権限がないよエラー等が出ますので、アンダーバー等に変更しましょう。区切り文字と判断してしまうみたいですね。

bakeを実行した後に、同じCakePHPを使っているページにブラウザでアクセスすると、以下のようなエラーが表示されることがあります。

Warning: SplFileInfo::openFile(/home/admin/www/test/html/manager/../../cake/app/tmp/cache/persistent/myapp_cake_core_cake_console_): failed to open stream: Permission denied in /home/admin/www/test/cake/lib/Cake/Cache/Engine/FileEngine.php on line 314

cake/app/tmp/cache/persistent/myapp_cake_core_cake_console_
のキャッシュファイルが、bakeを実行したユーザで作成され、664のパーミッションになっています。ブラウザでアクセスするときはapacheユーザなので、このパーミッションだと拒否されてしまいます。

対応の仕方としては、以下のどれか
1.上記のキャッシュファイルを削除する
2.上記のキャッシュファイルのパーミッションを777に設定する
3.apacheユーザの所属グループをうまいこと設定してやる

キャッシュファイルは時々削除されるようなので、2をやっても半永久的な対策にはなりません。連続してbakeする場合は1より2の方がベター。

▼私はこの本を参考にCakePHP 2.3で開発しています(bakeのことは申し訳程度にしか載ってないです…)

CakePHP2実践入門 [ 安藤祐介 ]

価格:3,110円
(2014/9/15 22:05時点)
感想(0件)

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【PHP】メールを送る場合の文字コードはUTF-8を使って良いか?

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail
結論はNG。
ガラケーが存在する以上、JIS(ISO-2022-JP)しか選べない。
また、SMTPは7bitまでしか使えないのでJISが最も馴染む。

メールはシンプル故に普及し、普及してしまったがために強化しづらい最たる例ですな…。

【参考URL】
http://slashdot.jp/journal/574971/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%A1%E3%83%BC%E3%83%AB%E9%80%81%E5%8F%97%E4%BF%A1%E3%81%AFutf-8-iso-2022-jp

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【Munin】contact(通知先)を複数指定したい場合

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

▼このファイルを編集する
/etc/munin/munin.conf

<ポイント>
・contactsを複数指定する場合はスペース区切り
・mailコマンドの宛先はカンマ区切り

▼例えばこんな感じ
contact.kiha.command mail -s “Munin ${var:group}::${var:host}” kiha@xxx.com
contact.kiha.always_send warning critical

contact.mobile.command mail -s “Munin ${var:group}::${var:host}” mobile@xxx.com
contact.mobile.always_send critical

# WEBサーバ
[WEB;WEB-SITE]
address 127.0.0.1
use_node_name yes
contacts kiha mobile

# CPU使用率は1コアあたり80%として、コア数で掛け算
cpu.user.warning 80
# criticalは90%
cpu.user.critical 90

【参考URL】
http://castor.s26.xrea.com/blog/2007/10/19

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【サーバ】シェルからシェルを呼ぶ

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

前提:a.shとb.shは同じディレクトリにあります。

–a.sh—–
#!/bin/bash

MSG=`./b.sh`
echo $MSG

–b.sh—–
#!/bin/bash
echo “OK”

●実行結果
$ ./a.sh
OK

cronで実行する場合は相対パスではなく、絶対パスにします。

また、MSGへの代入やechoは必須です。
入れないと、コマンドが見つかりませんと出たり、
呼び出したファイルのエラーメッセージが表示されなくなったりします。

【参考URL】
http://www.searchman.info/tips/3160.html

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【サーバ】コンソールのホスト名を変える方法

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

TeraTerm等でコンソール使っている時に
[user@hostname ~]$
な感じで出てきますが、
このhostnameを変える方法を調べたのでメモ。

▼Ubuntuの場合
http://blog.be-open.net/ubuntu-2/%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB%E3%81%AE%E3%83%9B%E3%82%B9%E3%83%88%E5%90%8D%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/

このあたりを変更する。
/etc/hostname
/etc/hosts

▼CentOSの場合
http://d.hatena.ne.jp/atree/20090420/1240308590
http://akitosblog.seesaa.net/article/181186084.html

このへんを変更する
/etc/sysconfig/network
/etc/hosts

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

【サーバ】Munin祭り

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

サーバ監視ツールであるMuninですが、初めて別サーバのリソースを取ってみたりと、色々やってみました。

監視対象サーバのIPフィルタリングでハマりがち。

弾かれていれば以下にログが出ているのでチェック
/var/log/munin-node/munin-node.log

▼接続チェック1
# telnet xx.xx.xx.xx 4949
Trying xx.xx.xx.xx…
Connected to (xx.xx.xx.xxサーバのホスト名).
Escape character is ‘^]’.

↑はOKの場合。
ダメならconnection refusedとか
Connection timed outが出る。

▼接続チェック2
# munin-node at (xx.xx.xx.xxサーバのホスト名)

設定変えたらmunin-nodeの再起動をお忘れなく

【注意するポイント】
・監視対象サーバの /etc/munin/munin-node.conf で、
監視サーバのIPが許可されているか。
allow ^xx\.xx\.xx\.xx$

・Apacheが監視対象に入っているのであれば
ステータス取得の設定に、監視サーバのIPが入っているか
<VirtualHost *:80>
ServerName 127.0.0.1
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
allow from 127.0.0.1
allow from xx.xx.xx.xx # ←ここ
</Location>
</VirtualHost>

・監視対象サーバのiptablesで4949ポートが許可されているか
-A INPUT -m state –state NEW -m tcp -p tcp –dport 4949 -j ACCEPT

【参考URL】
http://guide.flexserver.jp/help/flexs/guide/grp49/guide581

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail