いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.134 / 読者数:1320名

こんばんは、うすだです。

最近、朝起きて、会社に行って仕事して、帰ってきたら栗の絵を描いて、 もろもろの残作業をしたりしなかったりして寝る、という単調な生活を、 延々と繰り返していることに気づきました。

社会に対してなにか有意義なことを行うためには、その栄養の素となる、 新鮮な情報を必要とするように思います。ですが、 限られた範囲内で単調な生活を行っているだけでは、 大切な栄養が不足してしまいがちです。
いまさらですが、このままじゃまずいぞ、と焦ってきました。

というわけで、というわけでもないのですが、今週末、大阪の実家を経由して、 奈良へ遊びに行ってきました。

春休み最後のウィークエンドであることや、桜が満開に近いこと、 ドラマの影響などから、奈良公園は、たいへんな賑わいでした。
それでも、重要文化財を間近で観たり、 鹿のかわいさやあざとさを実際に目の当りにすることで、 理屈抜きに楽しむことができ、 凝り固まった頭がずいぶん軟らかくなったように思います。

ひょっとすると、新たな情報が必要なのだということを無意識に感じて、 旅などに行きたいという欲求をひねり出しているのかもしれないですね。

はい、特にオチはありませんので、今回も、はりきってまいりましょう!

今回のお題 - ログを暗号化してメールで送る

前回、ログインに失敗しました的ログを抽出し、その内容をメールで送る方法を、 ご紹介しました。

Vol.133 - 特定のログをメールで通知する
http://www.usupi.org/sysad/133.html

しかしながら、よく考えますと、ユーザアカウントなどを含むやもしれぬ情報を、 基本的に平文で扱うメールで送ってしまうということは、 場合によっては情報漏洩につながる恐れがあります。
(前言撤回! みたいで申し訳ありませんが…。)

ですがやはり、緊急度の高い情報は、いち早く手に入れたいもの。
そこで今回は、大事なログを、暗号化してやや安全にメールで送る方法について、 ご紹介したいと思います。


暗号化…と言いますと、すでに以前、GnuPG をご紹介しておりました。

Vol.087 - ファイルを暗号化する
http://www.usupi.org/sysad/087.html
Vol.088 - 暗号化したファイルをやりとりする
http://www.usupi.org/sysad/088.html

もちろん、これはこれで、安全な方法だと言えると思います。
ですが、双方で GnuPG などが使える必要がありますし、 前もって公開鍵を交換しておく必要があるなど、やや敷居が高いように思われます。

ですので今回は、もう少しお気楽に、ZIP で圧縮し、 パスワードをつけるという方法で、暗号化を行ってみたいと思います。

ただし、ZIP の場合、共通鍵暗号方式を用いますので、 送り側と受け側の双方とも同じパスワードを知っている必要があります。
また、ZIP 自体は、暗号アルゴリズムをいろいろ選べるようになっているようですが (DES, 3DES, RC4, AES など)、 主要なディストリビューションにもれなくついてくる zip コマンドは、 DES のみ対応のようで、安全性にやや疑問符がつくようにも思われます。

ですが、今回の場合、システム管理者内でパスワードを決めておけばよいですし、 万が一漏洩した場合のリスクは、それほど高くないと思いますので、 今回は ZIP ファイルを使ってやりとりしてみたいと思います。


言い訳が終わりましたので、まずは、 ZIP ファイルの作成から始めてみることにしましょう。

ZIP ファイルを作成するには、zip コマンドを用います。
-r オプションに続いて、ZIP ファイル名と、中に入れるファイルを羅列します。

  % zip -r foo.zip bar.txt baz.txt
    adding: bar.txt (deflated 62%)
    adding: baz.txt (deflated 61%)

この場合、bar.txt と baz.txt を圧縮して、 foo.zip というファイルに押し込めたことになります。

作成した ZIP ファイルの内容を確認したい場合は、unzip コマンドを、 -l オプションつきで実行します。

  % unzip -l foo.zip
  Archive:  foo.zip
    Length     Date   Time    Name
   --------    ----   ----    ----
     104357  06-13-07 11:58   bar.txt
      78368  02-20-08 16:14   baz.txt
   --------                   -------
     182725                   2 files

実際に伸長する場合は、そのまま unzip コマンドを実行します。
すると、カレントディレクトリ以下に、各ファイルが伸長されます。

  % unzip foo.zip
  Archive:  foo.zip
    inflating: bar.txt
    inflating: baz.txt

では次に、パスワードつきの ZIP ファイルを作成してみましょう。
そのためには、zip コマンドを、-e オプションつきで実行します。

  % zip -er foo.zip bar.txt baz.txt
  Enter password: (パスワードを入力します)
  Verify password: (同じパスワードを入力します)
  ...

実行しますと、上記のようにパスワードを聞かれますので、 パスワードを2回入力します。問題なければ、 パスワードで保護された ZIP ファイルが作成されます。

これを unzip コマンドで伸長するには、パスワードが必要になります。

  % unzip foo.zip
  Archive:  foo.zip
  [foo.zip] bar.txt password: (パスワードを入力します)
    inflating: bar.txt
    inflating: baz.txt

もちろん、パスワードを間違えると、伸長に失敗します。

  % unzip foo.zip
  Archive:  foo.zip
  [foo.zip] bar.txt password: (間違ったパスワードを入力します)
  password incorrect-reenter: (同上)
  password incorrect-reenter: (同上)
     skipping: bar.txt                 incorrect password
  ...後略...

これで、大事なログを、ZIP ファイルに託すことができますね。


…と言いたいところですが、 ログの内容から ZIP ファイルを作成する度にパスワードの入力が必要ですと、 自動化することができません。

そこで、パスワードを入力しなくて済むようにしたいと思います。
-P オプションを使用すると、 パスワードとなる文字列を指定することができます。
たとえば、「TeSt01」というパスワードをつけるには、 以下のように zip コマンドを実行します。

  % zip -P TeSt01 -r foo.zip bar.txt baz.txt
    adding: bar.txt (deflated 62%)
    adding: baz.txt (deflated 61%)

この方法を用いますと、スクリプト内などに生のパスワードを記述する、 というリスクを伴いますが、たとえば root しか読めないようにすることで、 リスクを緩和することができるように思います。


さて、それでは、前回の続きで、抽出したログを、 パスワードつきの ZIP ファイルにして、メールで送信してみたいと思います。
そのため、以下のようなシェルスクリプトを作ってみました。

  #!/bin/bash
  # ↓ 作業場
  WORKPATH=/tmp/sysad_134
  # ↓ ZIPファイルのパスワード
  PASSWORD="sYs134Ad"
  # ↓ 作業場に移動して、無限にいろいろ行う
  cd $WORKPATH
  while [ 1 ]; do
      allmessages=""
      # ↓ 吐かれたログをパイプから収集
      while read -t 60 message; do
          allmessages="${allmessages}${message}@RET@"
      done < /var/log/authpriv
      # ↓ ログの内容を通知すべきなら、以下を実行
      if [ "z`echo $allmessages | grep -i fail`" != z ]; then
          # ↓ この時点で $TXTFILE は作成される
          TXTFILE=`mktemp syslog_auth_messages-XXXXX`
          ZIPFILE=${TXTFILE}.zip
          # ↓ 抽出したログを $TXTFILE に書き出す
          echo $allmessages | sed 's/@RET@/\n/g' >> $TXTFILE
          # ↓ ZIPファイルを作成
          zip -q -P "$PASSWORD" -r $ZIPFILE $TXTFILE
          # ↓ uuencode を介して Mail で送信
          uuencode $ZIPFILE < $ZIPFILE | \
              /usr/bin/Mail -s 'syslog authpriv' root
          # ↓ $TXTFILE と $ZIPFILE は消しておく
          rm -f $TXTFILE $ZIPFILE
      fi
  done

一時的にファイルをいくつか作成しますので、上記では、 /tmp/sysad_134 というディレクトリの下で作業するようにしています。

while 文の中は、前回のスクリプトとほぼ同様です。
ただ、そのまま Mail コマンドで送信するのではなく、 mktemp コマンドで作成したファイルに一旦書き出し、 それを zip コマンドでパスワードつきの ZIP ファイルに格納します。 そして、uuencode コマンドでメールに貼りつけられる形式にして、 Mail コマンドで root 宛に送信します。

このファイルを auth2mail.sh というファイル名で保存したら、 root なひとだけ参照できる状態にしておきます。

  # chmod 700 auth2mail.sh

そして、前回と同様に、 /etc/syslog.conf の設定や /var/log/authpriv の作成を行いましたら、 ディレクトリを作成し、上記を実行します。

  # mkdir -m 700 /tmp/sysad_134
  # ./auth2mail.sh

特にエラーなど発生していないようでしたら、 実際にログインに失敗してみてください。 数分後に以下のようなメールが届けば、成功です。

  From: root@hoge.usupi.org
  To: root@hoge.usupi.org
  Subject: syslog authpriv

  begin 644 syslog_auth_messages-18663.zip
  M4$L#!!0`"0`(`(JUACA.$$Z@'`$``'<$```:`!4`<WES;&]G7V%U=&A?;65S
  M<V%G97,M,3@V-C-55`D``[33^$>TT_A'57@$```````<[FWQG(\8;*.W(=&2
  ...中略...
  M&@`-```````!````@($`````

このメールをファイルに出力し、uudecode コマンドで処理することで、 ZIP ファイルを抽出することができます。

  % uudecode mail.txt
  % unzip syslog_auth_messages-18663.zip
  ...後略...

あ、もし、uuencode コマンドや uudecode コマンドが見当たらない場合は、 sharutils パッケージをインストールしてくださいませ。


uuencode/uudecode もいいけど、 MIME のほうがいいなあ…という貴兄もいらっしゃるのではないかと思います。

もし、ご使用のマシンに metamail パッケージがありましたら、 metasend コマンドを利用して、MIME なメールにすることが可能です。
その場合、上記スクリプトの以下の部分を、

          # ↓ uuencode を介して Mail で送信
          uuencode $ZIPFILE < $ZIPFILE | \
              /usr/bin/Mail -s 'syslog authpriv' root

以下に差し替えてください。

          # ↓ metasend でメールを送信
          metasend -b -s 'syslog authpriv' -t root -e base64 \
              -m application/octet-stream -f $ZIPFILE

マルチパートじゃないのがアレですが、そのあたりは、 大目に見てやっていただけますと幸いです。


以上、パスワードで保護された ZIP ファイルを使って、 抽出したログをメールで通知する方法を、ご紹介しました。

もう少しちゃんとした MIME にたどり着きたかったのですが、 試しに作成してみたところ、 Perl スクリプトがとてもシンプルとは言えないモノになってしまいましたので、 そっと心の内にしまっておきました。

ですが、上記でも、本質的には十分機能を満たしていると思いますので、 まずは、百聞は一見にしかずということで、実際に動かして体験してみてくださいまし。

宿題の答え

前回の宿題は、

  プロミスキャス・モードになったときに、メールで通知しましょう。

でした。

これは、カーネルメッセージですので、facility は kern になります。
前回と同様の手順で、ずらっとご紹介していきましょう。

まずは、/etc/syslog.conf に以下を追加してください。

  kern.*      /var/log/kern

そして、パイプを作成します。

  # mkfifo -m 600 /var/log/kern

設定変更を syslogd に知らせます。

  # /etc/init.d/syslog reload
  もしくは
  # /etc/init.d/sysklogd reload

肝心のスクリプトは、以下のようなものをご用意しました。

  #!/bin/sh
  while read message; do
      if [ "z`echo $message | grep promiscuous`" != z ]; then
          if [ "z`echo $message | grep entered`" != z ]; then
              act="ENTER"
          elif [ "z`echo $message | grep left`" != z ]; then
              act="LEFT"
          else
              act="MISC"
          fi
          echo $message | /usr/bin/Mail -s "[promisc] $act" root
      fi
  done < /var/log/kern

1回につき2行しか出力されませんし、 すぐにキャプチャを止めるかどうか推測できませんので、 2通届いてもいいや的に考え、1行ずつ読み込む版をベースに作成しました。

やっていること自体は単純で、/var/log/kern から読み込んだ1行のログに、 promiscuous という文字列を含んでいれば、 Mail コマンドを用いて root にご連絡します。

ただ、それだけではつまらないので、 プロミスキャス・モードに入ったのか出たのかがわかるよう、 題名に記すようにしました。

宿題の答えとしては以上ですが、ログイン中のユーザの一覧など、 付加的な情報も合わせてメールすると、よいかもしれませんですね。
余力のある貴兄は、なにかひと工夫加えてみてください。

今回の宿題

今回の宿題は、

  GnuPG を使って、ログを暗号化し、メールで送信してみましょう。

です。

過去に GnuPG をご紹介した手前、ないがしろにはできませんので、 同等のモノを作ってみたいと思います。
ただし、自動化のため、パスフレーズはなしで行おうと思います。

あとがき

冒頭であれこれ言いましたように、生活が単調ですので、 なるべく幅広く情報が得られるようにと思い、 本業とは異なるジャンルの本を読むように心がけています。

とはいえ、本屋さんや図書館に行って、手当たり次第に選ぶというわけにいきません。 自分で開拓するには、お金も時間もかかりますので、庶民なわたくしとしましては、 偉いひと賢いひとの書評を参考にして、 なるべくお金も時間も節約したいところであります。

というわけで、かつてはいろんな書評のメルマガを購読していましたが、 過度期の淘汰を経て、最近は以下の2つに絞られました。

1分間書評!『一日一冊:人生の智恵』
http://www.mag2.com/m/0000094236.html
毎日3分読書革命!土井英司のビジネスブックマラソン
http://www.mag2.com/m/0000135008.html

もちろん、ひとによって好みは違いますから、 上記で紹介されている本が必ずツボにはまるとは限りません。
ですが、上記メルマガを経由して出会った本によって、 自分の考え方などが大きく変わったということも、いくつかありました。

また、上記のメルマガに共通しているのは、 人生や本に対する熱い気持ちが文章に表れているところではないか、と思います。

やはり、ひとの心を動かすのは、情熱だと思います。人生を変えるようないい本を、 情熱を持って紹介し、読者の成功を願うという行為は、 とてもすばらしいと思います。
わたしも、理屈抜きに熱中できて、かつその行為が社会に貢献するようになるべく、 模索しながらいろいろがんばりたいと思いました。

 

今回も、ここまで読んでいただき、ありがとうございました。
それでは、次回は 4月20日 頃に、お会いしましょう!

 

「いますぐ実践! Linux システム管理」の解除は、以下からできます。
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

バックナンバーは、こちらにほぼ全部そろっています。
http://www.usupi.org/sysad/backno.html

「栗日記」− 淡々と栗の絵を描きつづけております。
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)
http://usupi.seesaa.net/ (栗日記ブログ)


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
LINUXで自宅サーバーを構築・導入
(Fedora8)

Fedora8のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日本の Linux 情報
日本の、Linux 総本山的なところです。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
Open Tech Press
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん





▼ 最近読んだ本

ハリー・ポッターと炎のゴブレット ハリー・ポッターと炎のゴブレット
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターとアズカバンの囚人 ハリー・ポッターとアズカバンの囚人
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと秘密の部屋 ハリー・ポッターと秘密の部屋
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと賢者の石 ハリー・ポッターと賢者の石
J.K.Rowling
  ハリポ月刊なので読み直してます
アルケミスト アルケミスト
パウロ・コエーリョ
  また読んだ
賢者の書 賢者の書
喜多川 泰
  違った視点から見られてよかった
セキュリティウォリア セキュリティウォリア
Cyrus Peikari, Anton Chuvakin
  やや冗長…ためにはなりました
CORE MEMORY CORE MEMORY
John Alderman, Mark Richards
  この筐体でPC作ってほしい!
新訳 星の王子さま 新訳 星の王子さま
サン=テグジュベリ
倉橋 由美子
  つまらない大人になったのか…
センネン画報 センネン画報
今日 マチ子
  長編マンガがとてもよかった
.....

[X]
「粟津潔 デザインする言葉」 粟津潔
「Binary Hacks」 高林 哲,鵜飼 文敏,佐藤 祐介,浜地 慎一郎,首藤 一幸
「Make: Volume01」 オライリー・ジャパン
「セーラが町にやってきた」 清野 由実
「手紙屋」 喜多川 泰
「Linuxカーネル2.6解読室」 高橋 浩和,小田 逸郎,山幡 為佐久
「人蕩し術」 無能 唱元
「子育てハッピーアドバイス2」 明橋 大二, 太田 知子
「ラッセル幸福論」 B. Russell
「それでも人生にイエスと言う」 Viktor Emil Frankl
「子育てハッピーアドバイス」 明橋 大二, 太田 知子
「考具」 加藤 昌治
「北欧デザイン<3>」 渡部 千春
「北斎の謎を解く」 諏訪 春雄
「体感美術館」 平野 暁臣
「チベット永遠の書」 Theodore Illion
「リナックスの革命」 Pekka Himanen
「人月の神話」 Frederick Phillips,Jr. Brooks
「ヤバい経済学」 Steven D. Levitt, Stephen J. Dubner
「小布施ッション<2001-2002>」 セーラ・マリ カミングス
「アンパンマン伝説」 やなせ たかし
「夢をかなえるゾウ」 水野 敬也
「ゲーム開発者のためのAI入門」 David M. Bourg, Glenn Seemann
「北欧デザイン<2>」 渡部 千春
「北欧デザイン<1>」 渡部 千春
「ヒューマン2.0」 渡辺 千賀
「中国・ロシア同盟がアメリカを滅ぼす日」 北野 幸伯
「超ロング・セラー 絶滅寸前商品」 湯浅 豊彦
「The BUG(ザ・バグ)」 すずき ひろのぶ,かとう みつあき
「デザインのデザイン」 原 研哉
「マキアヴェッリ語録」 塩野 七生
「ハンバーガーを待つ3分間の値段」 斎藤 由多加
「星の旅人-スペイン「奥の細道」-」 黛 まどか
「食品の裏側」 安部 司
「On Lisp」 Paul Graham
「ぼくが医者をやめた理由 つづき」 永井 明
「あなたならどうする?」 Jack Nikolaschka
「セキュアプログラミング−失敗から学ぶ設計・実装・運用・管理」
      Mark G. Graff, Kenneth R. van Wyk
「「左利き」は天才?−利き手をめぐる脳と進化の謎
      David Wolman
「自分の中に毒を持て」 岡本 太郎
「アトピーの薬を減らす本」 田中 貴子
「岡本太郎「明日の神話」修復960日間の記録」 吉村 絵美留
「X51.ORG THE ODYSSEY」 佐藤 健寿
「アレルギーっ子の暮らし応援BOOK」 佐藤 のり子
「沖縄文化論」 岡本 太郎
「「伝説の社員」になれ!」 土井 英司
「コンピュータの構成と設計(上)」 Patterson & Hennessy
「カラスのジョンソン」 明川 哲也
「ドリルを売るには穴を売れ」 佐藤 義典
「頭がよくなる照明術」 結城 未来
「クロフォードのインタラクティブデザイン論」 Chris Crawford
「いじめの根を絶ち子どもを守るガイド」 Barbara Coloroso
「非常識のすすめ―逆発想の仏教論」 ひろさちや
「Linuxアドバンストネットワーク構築ガイド - HAサーバ構築編」
      デージーネット
「イノベーションの達人!」 Tom Kelly, Jonathan Littman
「クリエーター50人が語る創造の原点」 小原 啓渡
「欺術 - 史上最強のハッカーが明かす禁断の技法」 Kevin Mitnick
「楽しい気象観察図鑑」 武田 康男
「入門 Ajax」 高橋 登史朗
「リリカルな自画像」 岡本 太郎
「やぎの目ゴールデンベスト」 林 雄司
「初めてのPython 第2版」 Mark Lutz,David Ascher
「鼻兎」 小林 賢太郎
「なぜ、これがアートなの?」 Amelia Arenas
「芸術起業論」 村上 隆
「まほう色の瞳」 Enrique Barrios
「ラーメンズつくるひとデコ」 ラーメンズ
「R25 つきぬけた男たち」 R25編集部
「美の呪力」 岡本 太郎
「しろのあお」 上大岡 トメ
「ザ・ゴール」 Eliyahu M. Goldratt
「ハッカーと画家」 Paul Graham
「岡本太郎に乾杯」 岡本 敏子
「Fedore Core Expert」 Software Design
「誰も知らない男」 ブルース・バートン
「子どもが育つ魔法の言葉」 ドロシー・ロー・ノルト
「国家の罠」 佐藤 優
「夜回り先生」 水谷 修
「やぎの目絵日記」 林 雄司
「7つの習慣」 スティーブン・R. コヴィー
「まろ、ん?−大掴源氏物語」 小泉 吉宏
「ザ・サーチ グーグルが世界を変えた」 ジョン・バッテル
「ポストモダン・マーケティング」 スティーブン ブラウン
「機動戦士ガンダムさん」 大和田 秀樹
「小エロのひみつ - Webやぎの目研究発表」 林 雄司
「これ、誰がデザインしたの?」 渡部千春
「60分間・企業ダントツ化プロジェクト」 神田 昌典
「ガルシアへの手紙」 エルバート ハバード
「人生は素晴らしいものだ」 オグ・マンディーノ
「ザ・マインドマップ」 トニー・ブザン,バリー・ブザン
「ワインバーグのシステム思考法」 G.M.ワインバーグ
「渋谷ではたらく社長の告白」 藤田 晋
「渋井真帆の日経新聞読みこなし隊」 渋井 真帆
「コラム息切れ」 小野 法師丸
「早朝起業」 松山 真之介
「変な人が書いた驚くほどツイてる話」 斎藤 一人
「35歳から仕事で大切にしたいこと」 村井 勉
「金融広告を読め」 吉本 佳生
「発想する会社!」 トム・ケリー,ジョナサン・リットマン
「エハイク」 吉田 戦車
「人生の旋律」 神田 昌典
「仕事の思想」 田坂 広志
「CPUの創りかた」 渡波 郁
「非常識な成功法則」 神田 昌典
…これ以前は記録してません…

▼ 気に入ってる本

夢をかなえるゾウ 夢をかなえるゾウ
水野 敬也
  いままでで最高の「笑える」成功本
Linuxデバイスドライバ Linuxデバイスドライバ
Alessandro Rubini,
Jonathan Corbet
  ドライバ作らなくてもためになる
Firefoxの改造テクニック! Firefoxの改造テクニック!
大浦 淳
  いま栗日記拡張を考えてます
Apacheモジュール プログラミングガイド Apacheモジュール プログラミングガイド
小山 浩之
  Apacheの中身もわかるよ
図解 実戦マーケティング戦略 図解 実戦マーケティング戦略
佐藤 義典
  栗日記も戦略的に行こう!
やぎの目ゴールデンベスト やぎの目ゴールデンベスト
林 雄司
  よめも爆笑してました
アルケミスト アルケミスト
パウロ・コエーリョ
  ヘコみそうなとき読みます
X51.ORG THE ODYSSEY X51.ORG THE ODYSSEY
佐藤 健寿
  X51.ORGの集大成
チベット永遠の書 チベット永遠の書
Theodore Illion
  いろんな意味ですごい!!
影響力の武器 影響力の武器
ロバート・B・チャルディーニ
  思わず納得します