ことの起こり
AWS EC2上に,OTRS をインストールし, Gmail からのメールをポーリングで読むように設定した. 難しい話ではない.
だけど繋がらない. あれれ?
だって,先日の日記エントリの通り,Ruby では問題なくできたぜ? IMAP は有効にしたし,2段階認証はやっていないし.
Perl 書いた IMAP クライアントで試してみる.
仕方がないな. OTRS は (Ruby ではなく) Perl で大半が書かれている. それと似たような記述でログインをテストしてみる. こんな感じ.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
実行…あれれ?
1 2 |
|
んんん?
ブラウザでアクセスせよ,とな. でも,この動作環境,Ubuntu Server で,デスクトップ環境入ってないよ.もちろんブラウザも.
手元のブラウザで事態を把握してみようと試みたところ,どうやらイカガワシイと思われるアクセスを遮断しているようだ.
socksサーバを立ってて逃げ道を作る.
w3m など,文字ターミナル向けブラウザを使ってアクセスすれば良いのかもしれない. でも,たぶん,Googleのことだから,JavaScriptとか入っていていろいろ面倒なことになりそうだ.
なので,ssh についている socks サーバ機能を用いる. 手元の端末から,次のようにして,1080 版をsocksの口にする.
1
|
|
server.example.com は,実際には,EC2のインスタンス. ここで指定した1080番ポートはlocalhostのもの.だから,EC2側のincomingはsshのポート,TCP 22番だけ開いていればよい.
そして,手元のブラウザのproxy設定.localhost:1080 で socks を経由するよう設定する.
ここまでで下ごしらえは完了. 手元のブラウザから,Gmail へアクセスする. あとは…なりゆきでアクセスすれば,お怒りが解けた…はず. (2月に入ってからこの稿を書き上げているので,記憶が既に曖昧…)
まとめっぽい何か
ssh の -D オプションは,ヘッドレスサーバを管理している時に割と便利なので,覚えておくと何かと役に立つ.
こういう対策をGmail側がしなきゃいけないくらい,botからの不正アクセスが多いってことなのだろうなぁ…. 面倒だ,と不満を漏らしてはいけないのだろう.