2014年7月3日木曜日

iptablesで特定の外部サーバへのSSL接続を制限・禁止したい

やっと念願のSSL接続を遮断することが出来た。
元々squidでフィルタリングする予定だったが、どうも透過プロキシを使用する場合はNGらしく
http://lists.debian.or.jp/debian-users/200909/msg00065.html
じゃあどうやって切るんだと言われると、iptablesくらいしか思いつかなかった。
そこで
iptables -I OUTPUT -d 31.13.64.0/18 -p tcp --dport 443 -j DROP
という感じで記述したのだけれども、結局箸にも棒にも、iptablesにも引っかからなかった。
人に聞いてみても応えてくれないし、正直お手上げだった。
というか、みんなデフォルト設定でOUTPUTはACCEPTの人が多いんですよねー・・・。

で、google先生に力一杯調べて貰って5年越し(5年間分からなかった)の回答を得た。
http://www.linkedin.com/groups/HOW-block-HTTPS-sites-32612.S.107118452
流石linkedin。実名で且つ仕事してる人たちの集まり。
Pramodさん流石すぎる。
iptables -I FORWARD -s 192.168.1.0/24 -d 31.13.64.0/18 -j DROP
FORWARDなのね・・・。
真逆の展開。というか、よく考えればその通りで、ローカルからディスティネーションへの転送だから、ああ、なるほど。
443だけ蹴りたいので、
iptables -I FORWARD -s 192.168.1.0/24 -d 31.13.64.0/18 -p tcp --dport 443 -j DROP
となる。かな。

ということで、まずはじきたいurl群を書いたファイル「denysslURL」を用意する。
で、以下のシェルスクリプトファイルを作る。
vi BANSSH.sh

#!/bin/sh
#スクリプト起動時にファイル「denyssllist」を消して再作成
rm -rf ./denyssllist
touch ./denyssllist

#########このシェルスクリプトは、必ずきちんとしたiptablesの設定を読み込んでから実行###################
#SSLをはじくurlを書いたファイル「denysslURL」を読み込んで、ipアドレスをdenyssllistに書き込む
############################
if [ -s ./denysslURL ]; then
  for dnysslurl in `cat ./denysslURL`; do
     host -W 2 $dnysslurl | grep "has address " | cut -d' ' -f4 >> ./denyssllist
  done
fi

host命令にに-W 2が入っているのは、もしurlが値を返さなかった場合(筆記ミスとか、休止したとか)、凄く待たされるので、2秒経ったら諦めるようにしているということ。
そこからの
iptables -N IPDENYSSL
iptables -A IPDENYSSL -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES IPDENYSSL]: '
iptables -I IPDENYSSL -j DROP
if [ -s ./denyssllist ]; then
  for denysslip in `cat ./denyssllist`; do
   iptables -I FORWARD -s 192.168.168.0/24 -d $denysslip -p tcp --dport 443 -j IPDENYSSL
  done
fi

みたいな。
これで安心してdropboxを蹴り出せるし、何よりLINEの認証を止められる。
LINEはサーバに繋ぎすぎ。
0点。

シェルスクリプトの突っ込み大歓迎です。多分もっと短くなるはずなので。というか、眠い・・・・・。

追記


#!/bin/sh

################################
#

mv /usr/local/sbin/denyssllist /usr/local/sbin/denyssllisttmp

############################
#change URL(need file  >>>   denysslURL
############################
if [ -s /usr/local/sbin/denysslURL ]; then
  for dnysslurl in `cat /usr/local/sbin/denysslURL`; do
     host -W 2 $dnysslurl | grep "has address " | cut -d' ' -f4 >> /usr/local/sbin/denyssllisttmp
  done
fi

#########
#
#facebook
#echo "31.13.64.0/18" >> /usr/local/sbin/denyssllist
#dropbox
echo "108.160.0.0/16" >> /usr/local/sbin/denyssllist
#LINE
echo "119.235.235.91" >> /usr/local/sbin/denyssllist

##################
#SORT&UNIQ
##################
sort /usr/local/sbin/denyssllisttmp > /usr/local/sbin/denyssllist
rm -f /usr/local/sbin/denyssllisttmp

 これはcron.dailyに読ませる

2014年6月27日金曜日

centosでメモリを確保できません(cannot allocate memory)と言われてshutdown出来ない

何故出たのかさっぱり分からないのだけれども、サーバのvnc設定をしていたら、
bash: fork: メモリを確保できません
と言われた。

シャットダウンしようと、shutdown -r nowを入れても同様。
困った。
http://d.hatena.ne.jp/rx7/20110426/p1
を参考にシャットダウンを試みる。
echo b > /proc/sysrq-trigger
で強制リブートらしいが、このサーバ、RAIDを組んでいるので流石に怖い。
下の方を見ていくと

(安全に再起動するには)

Linuxがフリーズした際に、安全にリブートするマジックSysRqキー押下の一連の流れが、Wikipediaのページに書かれていました。

    R ⇒ E ⇒ I ⇒ S ⇒ U ⇒ B
    マジックSysRqキー - Wikipedia
   
とあるので早速押してみる、が、効かない。
wikipediaの
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%B8%E3%83%83%E3%82%AFSysRq%E3%82%AD%E3%83%BC
を見ると、

この手順で行えば、一部のプログラムのデータ損失を防ぎ、ファイルシステムの破損を回避することができる。

各コマンドは数秒間の時間を開けて投入しなければならない。例えば、多くのプログラムはSIGTERMシグナルを受け取るとデータの保存など処理を行い、syncやアンマウントはそれを行うためにある程度の時間を要する。

なるほど、ゆっくり押してみる。
が効かない。
いい加減飽きてきた頃に、もう一度shutdownコマンドを入れてみると、何故か通る。が、
The system is going down for reboot NOW!から一向に進まない。
ctrl+alt+delも効かない。
困ったので、とりあえずalt+f4を押すと、何故かリブートした。
意味が分からない・・・。

まあ、教訓として、sysctl.confのsysrqは1を入れておこうと思いましたとさ。。。

linux mintにmegaraid strage managerをインストールする(途中)

管理pcのlinuxmintにmegaraidストレージマネージャをインストールする。

参考は
http://www.arms-corp.co.jp/lsisupport/39-ubuntu-debian-megaraid-storage-manager

sudo apt-get install alien
でalienをインストール。
ダウンロードしてきた(バージョン情報)_Linux_x64_MSM.tar.gを解凍。
diskディレクトリに移動して
sudo alien --scripts *.rpm
で出来上がったdebファイルをインストール
sudo dpkg --install lib-utils(バージョン情報)_all.deb 
sudo dpkg --install megaraid-storage-manager_(バージョン情報)_all.deb
で終了。
バージョン情報は打つの面倒なので、tabキーで補完しよう。

再起動しないと行けないので再起動(もしくはネットワークのリスタート)。
virtualboxだとローカルに接続できず、シェルが凄いことになる。

起動は
/usr/local/MegaRAID\ Storage\ Manager/startupui.sh
discover hostでipアドレスを入力して、管理したい奴を探す。
・・・ここで問題。remote serverを探せない・・・。
helpme...

2014年6月26日木曜日

centosで3wareのRAIDカード(9650SE)ファームウェアをアップデートする

9650SEに2TBのHDDを入れようとしたら、どうも容量計算がおかしい。
RAID0を組んだら容量が「減る」。何故。
1.5TBなら普通に認識するので、恐らくファームウェアだろうと思い、RAIDボードのファームウェアをアップデートする。

新規案件だったけれども、USB起動で入れるのが面倒だったので、取り敢えずシングルディスクのみ活性化させて、そこにcentosをインストール。

ダウンロード先はこちら
 http://www.lsi.com/support/Pages/download-search.aspx
レガシーに分類されているので注意。

続けてファームウェアと3dm2_cliをインストール。
 全てrootで行う。
インストールは
3DM2_CLI-linux_10.2.2.1_9.5.5.1.zipを解凍し
unzip ./3DM2_CLI-linux_10.2.2.1_9.5.5.1.zip
その中のinstall.shに実行権限を与え
chmod +x install.sh
起動させる。
sh ./install.sh -i
あとは全部入れるか監視だけ入れるか聞かれるので、全部入り(たしか0を選択)。
そのまま入ってくれるはず。

ファームのアップデートは以下を参考に
http://voicetwo.selfip.com/yashikiba/blog/item_319.html


9650SEのファームは
9650SE_9690SA_firmware_9.5.5.1codeset_fw4.10.00.027.zip
の
prom0006.img
です。
3dm2のコマンドプロンプト呼び出し
tw_cli
//localhost>というプロンプトに変わるので、
/c0 update fw=/(イメージファイルを置いたディレクトリ)/prom0006.img

と叩けば終了。
複数カードがある場合は、先頭のc0だけではなくc1とかにもなるので、
tw_cli info
でカードを確認すること。

2012年で更新ストップなので、今後は辛くなるかな・・・。
一応4TB以上の云々みたいなのがリリースノートに書いてあったので、多分行ける、と思うが・・・。

追記
カードは必ず確認した方がよさそう。ファーム上げたらc0がc4になってた・・・。

2014年6月24日火曜日

LSI Megaraid SAS 9271iでRAIDを組んでcentos6.5をインストールする

設定しながら書いてます。

まず、ブート時にctrl+Hを押して、web biosに入る。前はcttrl+3とかだった気がするんだけど・・・。
RAID1+0(RAID10)で組みたかったのだけれども、どうにも出てこなかったのでgoogle先生に聞いてみると
http://itdoc.hitachi.co.jp/manuals/ha8000/hard/xm2/5_bios/pee3m21500/pee3m21500-1.pdf
流石HITACHI。
HA8000シリーズのマニュアルである。
中にmegaraidが入っているので、こいつ参照でRAID10のやり方が分かった。
解説はP100~で、
ディスク2つずつのアレイを作って、それぞれAccept DGする。
で、次画面で作ったもの全てをaccept to span。
すると、ちゃんとRAID10が出てくる。
なるほど。

ディスクアレイの設定は
http://akira-arets.blogspot.jp/2012/03/megaraid9260-8i-virtualdrive-setting.html
を見ながら設定。
BBUモジュール買わないと、速度は1/10ということか。たしかに今までの3ware製品も、1/10とは言わないまでもスピードが出なかった。
因みにモジュール名は「LSIiBBU09バッテリー・バックアップ・ユニット」。
amazonで25000円也。相変わらずただの電池のくせに、高い。

外付けのDVDドライブでOSを起動。
http://roserogue.blogspot.jp/2011/10/centos62tb.html
を参考に、ビッグドライブにぶち込む。
UEFIでインストールしようとしたら、何故かgrubの黒画面になって、対処法を調べる気が起きず断念したのはヒミツ。誰か教えてください・・・。

/boot 1000MB(痛い目にあった事があるので大きく)
/swap 16000MB(16GBメモリを積んだため。多分10GBも入らないんだけど一応)
/var 50000MB(varさえ別にしておけばオーバーフローが起きないって誰かが言ってた、よ。)
/ 残り全て(夢の10TB)

みたいに切った。

UEFIなら
パーティションは
https://access.redhat.com/site/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s2-diskpartrecommend-x86.html
を見ながらで大丈夫でしょう。

で、問題ないかと思ったら、どうしてもインストールできない。
仕方が無いので、webbiosで、ヴァーチャルディスクを2つに(まず10tbの容量を切ってデータ用、同様の手順を踏んで100GBの容量を切る)して、100GBの方にインストール。
すんなり入る。何故。

あとは何時もな感じで設定して終了。特に詰まるところは無く、そしてEFIでないという。

megaraidのユーティリティは・・・。
http://www.lsi.com/support/pages/download-search.aspx
から検索してダウンロード。
表示が凄く遅いのでじれる。
strage
raid controller
品番
で、サーチすると全て出る。
Management Software and Tools
から、megacliとMegaRAID Storage Manager をダウンロード。
MegaRAID Storage Manager tarの中にインストール用のシェルスクリプトが入っている。
megacliは、RPMを
rpm -ivh XXX.rpm
でインストール。
を参考に、cliはいじる。
MSMは・・・GUIオンリーってそんな・・・。
遠隔でも出来るらしい記述は見えるけど、管理PCを作らなきゃならないのが何とも。。。
 
今回地味にはまったところ。
rc.localが反映されなかった。
rc.localにシェルスクリプトへのリンクを記述して再起動させても、全く動いている感じがしない。
動かないのである。
おかしいなあと実機を見たところ・・・startupが起動してる・・・そういえばインストールしてから見てなかったや・・・。
初回アップデートの後に出てきたので、まあ、初めはSSHのみで作業しちゃ駄目よ、ということか。

2014年6月11日水曜日

squidのblacklist内容。URLだったり

表題の通りで、squidのblacklistを以下に。
参考にしたURLは
 http://yanmoo.blogspot.jp/2011/12/vpsopenbsd-squid.html
人によっては使いにくいかも知れないけど、そこら辺は変えて下さい。
初っ端からdropbox蹴ってます。マカフィーも蹴ってます。皆さん黙ってESET入れておきましょう。
基本方針は、広告系をまず蹴り出す、次に中韓製でやばそうなものを蹴り出す、スパイウェア系を蹴り出す、という拒否リストです。


#squid blacklist 20140611

.getdropbox.
.dropbox.com
^www.dropbox.com:443
.cloudfront.net:443
.adlantis.jp
.googlesyndication.com
.doubleclick.net
.woopiedesktop.com
.impact-ad.jp
.advertising.com
.adjust-net.jp
.serving-sys.com
.linksynergy.com
.valuecommerce.com
.microad.jp
.atdmt.com
.veoh.com
.kh.google.com
.adplan-ds.com
.akamaihd.net
.link-trade.net
.zerofactory.co.jp
.ad-recommend.com
.dmm.co.jp
.adgene.net
.afisapo.com
.blogparts.dmm.com
.ha123.com
.baidu.co.jp
.baidu.jp
.baidu.com
.i-mobile.co.jp
.agilemedia.jp
.kau.li
.ad.adresult.jp
^adcdn.goo.ne.jp
.bearshare.com
.jword.jp
.ai.yimg.jp
.im.c.yimg.jp
.criteo.com
.ads.nicovideo.jp

.baiduime.jp

.gomlab.com
.gomplayer.jp
.testqweasd.tk

.mcafee.com

.vipstar23.com

#2ch_incidents
.vipsister23.com

#yoshida
.lemurleap.info
.babylon.com
.ask.com
.weblayers.co
.browsefox.com
.webconnect.co
.linkswift.co
.swiftbrowse.net
.lizardlink.biz
.saltarsmart.biz
.luckyleap.net
.wunderweb.biz
.rolimno.net
.websparkle.biz
.diamondata.net
.hao123.com
.hao123.jp
.systweak.com


#yamaguchi
.gfxpeers.net
.torrentus.to
.torrentz.pro
.torntv-tvv.org
.netdna-cdn.com
.pinimg.com
.great-appdownloads.com
.downlist.eu
.sendspace.com
.emsisoft.com
.spccint.com
.cheesestream.com
.exelator.com
.56.com
.v-56.com
.liverail.com
.adnxs.com
.userlocal.jp
.nakanohito.jp

#incidents_freephone(viber,LINE)
.viber.com
dl.desktop.line.naver.jp
gd2.line.naver.jp
dl.profile.line.naver.jp
me2day.net
gw-beta.line.naver.jp
nid.naver.com
help.naver.com
appauth.naver.com
ndrive1.nave.com
desk.talk.naver.com
dl.desktop.line.naver.jp.edgesuite.net
a1896.g.akamai.net
openapis.jboard.naver.jp
a1284.g.akamai.net
dl.profile.line.naver.jp.edgesuite.net
cac-dl.profile.line.naver.jp.line-zero.akadns.net

#http://yanmoo.blogspot.jp/2011/12/vpsopenbsd-squid.html
^http://banner
^http://.*Count
^http://count
^http://analyze
e-kaiseki\.com
google-analytics\.com/ga\.js
.*adsense
.*adwords\.google
.*\.google\.*/adfetch
.*google_ad
.*\.googlesyndication
^http://rcm.*\.amazon
.*\.assoc-amazon
.*ws\.amazon\..*/widgets
.*\.amazonaws\..*/widget
.*\.amazon\.*/tipbox
^http://richmedia\.yimg\.
.*\.yimg\.com.*/ysc_csc_
.*\.yimg\.com/ad
.*\.toto\.geo\.yahoo\.
.*\.ov\.yahoo\.
.*\.overture\.
.*/overture_*
.*/ard\.yahoo\.
.*\.geocities\.*/js.*/.*\.js
.*\.yimg\.jp/bdv/
.*/yjaxc\.yahoo\.co\.jp/js/yjaxc\.js
^http://xml\.affiliate\.rakuten\.co\.jp/
^http://.*\.afl\.rakuten\.co\.jp/
^http://.*\.rakuten\.co\.jp/js/.*\.js
^http://api\.rakuten\.co\.jp/.*affiliateId
^http://.*\.ias\.rakuten\.co\.jp/
^http://ad-hatena\.jp/
^http://.*\.avatar\.livedoor\.com/
^http://.*\.blogdeco\.jp/
^http://.*\.blogpartsgarden\.jp/
^http://.*\.blogpet\.net/
^http://.*\.blogranking\.net/
^http://.*\.blogtoy\.net/
^http://.*\.floq\.jp/
^http://.*\.livedoor\.jp/js/
^http://parts\.logoole\.yahoo\.co\.jp/parts/
^http://www\.tweetswind\.com/twitterwind\.php
^http://twitstat\.us/twitstat\.us-min\.js
^http://.*\.sakuratan\.biz/js
^http://rss\.rssad\.jp/rss/
^http://www\.seesaa\.jp/r\.pl
.*\.pheedo\.jp/html
.*\.overture\.
.*/overture_*
.*/ard\.yahoo\.
.*\.geocities\.*/js.*/.*\.js
.*\.yimg\.jp/bdv/
.*/yjaxc\.yahoo\.co\.jp/js/yjaxc\.js
^http://xml\.affiliate\.rakuten\.co\.jp/
^http://.*\.afl\.rakuten\.co\.jp/
^http://.*\.rakuten\.co\.jp/js/.*\.js
^http://api\.rakuten\.co\.jp/.*affiliateId
^http://.*\.ias\.rakuten\.co\.jp/
^http://ad-hatena\.jp/
^http://.*\.avatar\.livedoor\.com/
^http://.*\.blogdeco\.jp/
^http://.*\.blogpartsgarden\.jp/
^http://.*\.blogpet\.net/
^http://.*\.blogranking\.net/
^http://.*\.blogtoy\.net/
^http://.*\.floq\.jp/
^http://.*\.livedoor\.jp/js/
^http://parts\.logoole\.yahoo\.co\.jp/parts/
^http://www\.tweetswind\.com/twitterwind\.php
^http://twitstat\.us/twitstat\.us-min\.js
^http://.*\.sakuratan\.biz/js
^http://rss\.rssad\.jp/rss/
^http://www\.seesaa\.jp/r\.pl
.*\.pheedo\.jp/html
.*\.www\.pheedo\.jp/img\.phdo*
^http://.*\.impact\-ad\.jp/
^http://.*\.2mdn\.net/
^http://.*\.doubleclick\.net/
^http://.*\.atdmt\.com/
^http://.*\.advg\.jp/
^http://.*\.disqus\.com/
^http://.*\.affiliate\.rakuten\.co\.jp/
^http://ad\.yieldmanager\.com/
^http://.*\.dmm\.co\.jp/dmmad/
^http://ads\.adjust-net\.jp/
^http://.*\.admeld\.com/
^http://.*\.advertising\.com/
^http://.*\.trustclick\.ne\.jp/
^http://click\.dtiserv2\.com/
^http://affiliate\.dtiserv\.com/image/
^http://.*\.accesstrade\.net/
^http://ad\.agilemedia\.jp/
^http://spdeliver\.i-mobile\.co\.jp/ad
^http://aqua\.dmm\.co\.jp/dmmad/
^http://www\.google\.com/uds/Gfeeds
^http://ad\.kau\.li/
^http://www\.amiami\.jp/images/
^http://.*\.ziyu\.net/
^http://cast\.ads\.jlisting\.jp/
^http://minkch\.com/js/
^http://mmaaxx\.com/
^http://.*\.i2i\.jp/
^http://.*\.i2iserv\.com/
^http://js\.addclips\.org/
^http://www2\.liveads\.jp/
^http://ranklink\.s2ch\.com/
^http://g-ec5\.images-amazon\.com/images/G/09/ui/loadIndicators/loadIndicator-large\._V192261612_\.gif
.*\.akamaitechnologies\.com/
.*\.amazonaws\.com/
.*\.prod\.millennialmedia\.com
^http://.*\.admob\.com/
^http://.*\.adwhirl\.com/
^http://.*\.mydas\.mobi/
^http://ads\.osdn\.jp/
^http://.*\.adlantis\.jp/
^http://.*\.adimg\.net/
^http://.*\.xmax\.jp/
^http://www\.facebook\.com/plugins/
^http://www\.yomiuri\.co\.jp/i1/
^http://www\.yomiuri\.co\.jp/g2/
^http://l\.popin\.cc/
^http://www\.yomiuri\.co\.jp/.*\.js

windows8.1 updateがアップデートできない(windowsupdateが失敗する)

windows8.1 updateを入れようとすると、エラーが出てアップデートできない。
google先生曰く
http://blogs.technet.com/b/wuj/archive/2014/04/11/windows-update-windows-8-1-update-kb2919355.aspx

流石テックネット。
やり方はURL参照か、
コンパネ>システム>左下のアクションセンター>トラブルシューティング>windows updateで問題を解決する>次へ>管理者としてトラブルシューティングを実行する>閉じる

windows updateで問題を解決する、よりwindows update「の」問題を解決する、の方が分かりやすいんじゃ無いかなあ・・・まあそれ以外の問題も解決するからみたいな言い訳があるんだろうけど・・・。