ラベル OS_アプリケーションHOWTOnTIPS の投稿を表示しています。 すべての投稿を表示
ラベル OS_アプリケーションHOWTOnTIPS の投稿を表示しています。 すべての投稿を表示

2023年3月15日水曜日

GMKtecのIntel 11th Jasper Lake N5105 ミニ PC-- NucBox 5 (Wi-Fi 5 Win 11 Pro)のセットアップとレビュー。

 監視カメラの管理用に、手頃なPCを準備したかったので、GMKtecのミニPCを入手した。こいつがなかなかのくせ者だったので、そのログを書き記す。

一応同じPCを使ったことがあり、これは2台目になる。

ものは

https://www.gmktec.com/products/intel-11th-jasper-lake-n5105-mini-pc-lgvh

の、MEM8GB、SSD256GBのモデルで価格は23000円程度。中華製で、何故かこのスペックでwin11PROにプリインストールという意味が分からない仕様。これを仕込む環境でアクティブディレクトリを使うはずも無く、ビットロッカーで暗号化する意味もなくという。何にしろ、そこそこの速度で動けば良いので気にしないようにする。

中華製PCなので、何を仕込まれているか分からないと言う前提で、OS位はクリーンインストールしておきたいので、以下の手順を踏むことにする。

立ち上げからクリーンインストールまでの流れ

まずは普通に立ち上げて、windowsのスタート画面まで持って行く。letsnoteとは違い、勝手に再起動してローカルアカウントでユーザーを作成させてくれるのは良いが、キーボードレイアウトがUS配列になっているので、色んな入力が非常にやりにくい。

https://pc-karuma.net/how-to-change-keyboard-layout-windows-11/

で設定まで行き着いて、日本語配列を選べば良い。

ここからドライバのバックアップに進む。

一度再起動させた後、ドライバを保存するフォルダを作成し、コマンドプロンプトを管理者権限で立ち上げる。
https://ite-notes.com/os-windows10-command-1/
を参考にコマンドを打ち込もう。具体的には

dism /online /export-driver /destination:"保存先フォルダ"
保存先フォルダの所には、フォルダまでのファイルパスを書くこと。例えばデスクトップに「新しいフォルダ」というフォルダを作成した場合は

dism /online /export-driver /destination:"C:\Users\YOURUSERNAME\Desktop\新しいフォルダ"

みたいな文字列になる。

大体1GBちょっとのファイル群が出来上がるので、これをUSBメモリにバックアップし、あらかじめ作成しておいたwindows11のインストールUSBでwindows11をクリーンインストール。因みにブータブルUSBを刺していると、必ずUSBから立ち上がるので面倒。

インターネット接続を飛ばしてローカルアカウントでインストールしたいので、インストール画面でSHIFT+F10を押下し、コマンドラインを出した後、

cd oobe
BypassNRO.cmd

と打ち込むと再起動してローカルインストールできるようになる。因みにプロダクトコードは内蔵されており、勝手に入力される。

インストール後、バックアップしたドライバフォルダをデスクトップにコピーし、コマンドプロンプトをまた管理者権限で立ち上げ、コマンドを打つ。具体的には

pnputil.exe /add-driver ドライバフォルダ\*inf /subdirs /install

となる。「ドライバフォルダ」はファイルパスを書くところで、例えばデスクトップにドライバが入った「新しいフォルダ」をコピーした場合、

 pnputil.exe /add-driver C:\Users\YOURUSERNAME\Desktop\新しいフォルダ\*inf /subdirs /install

となる。 

問題

無事にドライバを書き戻せたら、あとはwindows updateをやって~という流れになるはずだったのだけれども、一度シャットダウンして別場所で始めようとしたところ、windowsがブートしないという惨事に見舞われることになった。windows updateを削除しようが起動せず、挙げ句の果てには回復オプションで初期化することもままならないという、windows自体が完全に壊れた状態になってしまった。原因は不明。

再度上記を繰り返し、セットアップを完了させたところ、問題なく終了したのだけれども、原因が分からない以上、壊れること前提で使うことをお勧めする。おそらくはSSDに対しての電気的な刺激で飛んだのだとは思うのだけれども・・・。 

レビュー

使用感としては、監視カメラの管理には必要十分。サイネージのような形で使う分には全く問題ない。もたつく場面もあるが、逆にもたつかせるようなことをこの価格のPCにさせるほうがおかしい。ブラウジングやら軽作業なら十分使える。

2020年4月21日火曜日

「販売発送がamazon」に絞り込むためのブックマークレット

https://ngroku.com/?p=4612を以下のように編集。
javascript:var%20hako=location.href;hako+='&emi=AN1VRQENFRJN5';location.href=hako;
ブックマークレットの作り方は、firefoxなら「ブックマーク」>右クリックして「新しいブックマーク」>ウインドウが開くので、名前は適当に、URLの所に当該コードを書いて「追加」ボタンを押して作成。

使い方は、アマゾンで検索して、検索結果画面で当該ブックマークレットを押すと、Amazon.co.jp が販売、発送のみになる。

2019年12月4日水曜日

Megaraid 9721-8iで、リチウムイオン電池が妊娠してRAIDカードを破壊してしまった(RAIDアレイが破損。それを復旧した話)

事実は小説より奇なり。
ある日、「ファイルサーバに繋がらない」と苦情を言われた。
いつもなら、sambaが何かの拍子にへそを曲げただけで、再起動すれば何事もなかったように立ち上がっていたのだけれども、今回は様子が違う。
立ち上げたら、bios画面で、VD(ヴァァーチャルドライブのこと。)が無いぞ、と言ってくる。
ディスク自体も認識していないらしく、ケーブルや電源を確認しろと書いてある。
勿論HDDは問題なく、 電源は尚のこと。
そこで、ケースを開けてみて、絶望した。
RAIDカードが「曲がっている」。

Megaraid 9271は、cache volt(この時期はバッテリーバックアップ、BBUと言っていた)用のリチウムイオン電池を、RAIDカード自体にねじ止めするスタイルだった。
https://www.picclickimg.com/d/l400/pict/192658565134_/LSI-MegaRAID-9271-8i-PCI-E-30-8-Port-6Gbps-SAS.jpg
の黒いのがリチウムイオン電池。
で、これが妊娠して巨大化し、そのままRAIDカードをひん曲げてしまっていたのだ。
電池を外して再起動すると、電池がない旨も表示されるが、そこじゃない。
何にしろ、普通に立ち上げるだけでは一切のディスクが無いことになっているのである。
一応どうもカード自体は生きており、ヒートシンクを付けなおして冷却をガンガンすればなんとかなりそうである。ただ、物理破損だけで無く、raidアレイが完全に死んでいる。これが痛い。

完全にお手上げかと思ったが、粘りに粘ってググった結果、
https://www.ask-corp.jp/faq/index.php?action=artikel&cat=53&id=118&artlang=ja
まだ手はあるらしい、が、Foreign Configurationの扱いがわからない。
https://nas-rescue.com/blog/index.php?QBlog-20160208-1
ということは、コントローラ川さえなんとかなれば、ワンチャンあるということである。
で、さらに調べて

https://yug-oc.jp/serv_blog/archives/245

まじもう愛してる。上記通りにしたわけじゃないけど、光明をもたらしてくれた。

手順的には、webbiosで、
  1. UnconfiguredBadとなっているHDDをUnconfiguredGoodにする。
  2. Scan devicesをクリックして、Foreign Configurationを読み込む
  3. Want to import?で、All configurationsのところの選択ボタンを押下して、コンフィグを選択
  4. previewボタンを押下して内容を確認、よければimportする(clearは何があっても押してはならない)
  5. exitで再起動。再起動時に別のコンフィグ読めるけどどうする?的なことを言われるが、無視する
と繋がった。
兎に角、消さなければraidを構成していたHDDに情報は残っているので、なんとかなる可能性が高いということである。
また、importボタンを押したにもかかわらず、failed importと言いやがったが、実はimportされていた、ということも書いておきたい。
バグらしい。やれやれである。

諦めない心は大事だなあ。

2019年7月3日水曜日

arloの外付けHDDをフォーマットできない

arlo proは外付けHDDをベースステーションに接続でき、バックアップ録画が出来るのだけれども、このHDDをフォーマットできない問題が出た。
フォーマットするとエラーが出て認識しなくなるという・・・。

解決方法は、fat32でフォーマットしてからベースステーションに接続すること。
また、2TB以内のHDDじゃないと、容量が無駄になる(2TBまでしか認識しない)。

ヘルプページ
https://kb.arlo.com/ja/1146857/Arlo%E3%83%99%E3%83%BC%E3%82%B9%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AF-USB%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%B8%E3%81%AE%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%81%AB%E5%AF%BE%E5%BF%9C%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B
を見たら、HDD使用サイクルが残5%じゃなくて20%に変更されていた。流石に無理だったんだなあ・・・。

2019年6月19日水曜日

H81I-plusにUSBでwindows10をインストールできない

古いPCにwindows10を入れようとしたところ、「ドライバーの読み込み」ポップアップウィンドウが出て、
ドライバを読み込まなければインストールできない旨が表示されてしまった。
このトラブルは無かったので、なかなかしんどい。
取り敢えずドライバとbiosをasusからダウンロードしてみるものの、そもそもどうやってインストールするのか見当が付かない(まさかexeファイルを起動できるわけが無く)。
ググっていると、
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10171018090
どうもDVDでインストールすれば大丈夫らしい。
※僕はUSBインストールをしていた。
更に
http://8thway.blogspot.com/2015/01/windows-10-tp-install-error.html
USB3.0に因縁がありそうである。
というか、TPって・・・。

結論としては、USB2.0ポートに繋ぐ→NG、DVDでインストール→OKだったので、
結局光学メディアは手放せない、という結論でしたとさ。
USBメモリが2.0で、接続ポートも2.0なら出来るかもとも思ったが、わざわざ2.0のUSBメモリを調達する気力が無かった。。。

2018年11月13日火曜日

壊れたThunderbirdのメールボックス(mbox)を復旧する

残念なことに、度々Thunderbirdのメールボックスは破損する。
ウイルススキャンのタイミングだったり、再起動中だったりなのだけれども、何にしろ「4GBを超ているinbox」を使用していると壊しがちなので、
何にしろzipの壁である4gbを超えないようにせねばならない。

で、不注意で壊してしまった場合は、だらだらと続く(文字化けした)テキストファイルをみながら、どこまでが1メールなのかを追わなければならなかったりとか、地獄がスタートする(そしてあきらめる)のだが、
最近いいやり方があることを知った。

http://www.multiburst.net/sometime-php/2007/10/mboxthunderbirdbecky/

------------------
このコマンドを用いて下記のようにコマンドを打てば、メール毎にファイル分割してくれる。

csplit -f "x" -b "%04d"  (mbox形式のファイル名) '/^From .*/' '{*}'

オプションについての詳細は上記参考サイトを参照して頂きたい。

が、上記の場合、一つのファイルで一つのメールということになってしまい。すさまじいファイル数になる。いちいちこれを全部Beckyでインポートするのも面倒なので、100通ずつ今度は結合してみた。

cat x1* > mbox1
cat x2* > mbox2
cat x3* > mbox3
cat x4* > mbox4



といった感じ。

このファイルをBeckyでインポートすることでインポートを完了することができた。
-----------------

僕の場合は何故か引用符「>」が頭についてしまったので、
csplit -f "x" -b "%06d" mboxfilename '/^>From .*/' '{*}'
とする。
で、「>From」だと都合が悪いので、sedで
find x0* |xargs sed -i "s/>Fr/Fr/g"
として、引用府をとった。
エラーが出ているメールの部分は、ファイルサイズがおかしくなっていたりするから、バラの時に並べ替えて、内容を変更。
部分で結合していって、エラーが出たらそれを分析でもいい(が、thunderbirdといったりきたりをしないといけない)。
あとは本記事と同じように結合して修了。
cat x00* > inboxx00
cat x01* > inboxx01
cat x02* > inboxx02
.........

thundebirdのMailディレクトリに入れてやれば完了。
これのおかげで、全てのメールをロストするという最悪の事態を初めてまぬがれた。
コメントで感謝を示したかったが、コメントを付けられなさそうだったのでここで。
4gbを超えるとろくなことはない。

2018年6月23日土曜日

Corel Graphics Suiteの御作法が面白い。(adobe photoshopやillustratorに払い続ける必要性は無い)

僕はadobeユーザなのだけれども、サブスクリプション商売に嫌気が差し始めており、Corelに乗り換えようとしている。
まだやり始めたばかりだけれども、ワントップで進める分には十分進められることが分かった。
ポイントとしては、
●CorelDRAWとCorel PHOTO-PAINT共通
・完全互換は諦める
 大体Photoshopとillustrator両方ともバージョン互換が取れないくらいなので、他社ソフトに求めすぎるのは酷。

・ショートカットを極力PhotoshopとIllustratorに合わせる
 まず戸惑うのは拡縮がCTRL+SPACEで出来なかったりすることだけれども(マウス中ボタンとスクロールで拡縮・移動する)、それよりいつも使う選択範囲やパス選択ツールなど、よく使うもののショートカットを変更する。
 変更の仕方は、ツールボックスにあるものならば、変更したいツールアイコンを右クリック>カスタマイズ>ツールバーの項目>プロパティで、コマンドプロパティを表示して、ショートカットキーから新規のショートカットを入力、既存のshortcut keyを削除する。
 勿論オプションからカスタマイズをたどって、コマンドから変更も出来る。
 これで操作性はほぼトレースすることが出来る。

・用語の相違に慣れる
 アウトラインを曲線、パス選択ツールが整形ツール、レイヤーをオブジェクト、効果をレンズ、のように、用語が変わっているものが多い。いつものアレが無い、と思うのはしようが無いこと。あとは慣れ。

・ネガティブポイントは、設定を弄っていると何故か落ちる。
 何でだろう。

●Corel PHOTO-PAINT
・選択範囲の御作法が、Photoshopと違うのが、一番驚くところだと思う。
Photoshopの場合、選択範囲を取ることで、色んな基準を作っていくが、なんと選択範囲(長方形マスクツール)やアルファ付きレイヤー(オブジェクト)に吸着しない
いつものびたっと吸着する感じを期待すると、全くしないので戸惑うことがある。特にピクセル単位でいじることが多いと、余計にそう思う。
ただ、結構そこら辺優秀のようで、狙ったところにルーラーを持って行くことはそんなに苦痛では無い。

・互換性には期待しない
psdファイルの互換性は、グループ内グループやラスターデータの保持はしてくれるが、その他の効果(レイヤー効果等)は互換性が無い。
もしadobeユーザと作業するなら、完成データでやりとりするのが適当。
レイヤーは保持する(レイヤー情報は保持しない)ので、マージモードは通常でレイヤーを重ねる分には問題ない。

アドバンテージは、処理が精緻で素早いこと。マージモードはリアルタイムで変わるし、フィルタやレンズの処理も速い。フットプリントが小さいからなのか、最適化が進んでいるのか。
精緻さは、Photoshop以上Gimp未満という感じ。効果・処理をするなら、Photoshopよりもこちらの方が良いと思う。

●CorelDRAW
・パスの考え方がIllustratorとちょっと違う。Illustratorなら、1パス1表示だが、1表示の中に複数のパスを含めることが出来る。
パス内グループとでも言えば良いのだろうか。グループという概念もあるので、グループ内パス内グループのパス、というのもあり得る。
illustratorのように、アピアランスで複数の線を与えるようなことは出来なさそうなので、そういう意味では汎用性の高い(Illustratorに縛られない)データが作れる。
逆に言えば、Illustratorで慣れた作業がすぐにCorelDRAWで実現できないのが難点か。
アドバンテージとしては、Illustratorにはない曲線への対応だろうか。パスの考え方が凄く面白く、Illustratorよりも「パスでイラストを描く」ことについて複雑な心境になることがない。

・画像は必ず埋め込む
Illustratorだと「リンクファイル」という考え方があるが、DRAWにはない。なので、リンク付きaiを開くと、リンク情報はごっそり抜け落ちた状態で表示される。
逆に埋め込んでしまえば、編集はPHOTO-PAINTと連携で編集できる。
Illustratorとは違ってページモノが作りやすい(エクセルのシートのように作れる)ので、indesignライクに使うことも出来る。

●まとめ
基本機能は同じだけれども、設計思想の違いがあるから最終的な出来上がりが異なるのが面白い。
Corel PHOTO-PAINTは、やっぱり写真編集に対して特化している感があるし、CorelDRAWはベクターラインアートや、簡易的なCAD方向に振ってある。
PhotoshopやIllustratorは、そういう意味では凄く中途半端ではある。
中途半端だからこその使い勝手の良さ、というところもあるけれども。
CorelDRAW Graphics Suiteは買い切り5万円程度なので(バージョンアップしたら大抵優待の案内も来る)、adobeユーザーだった人や、adobeに金を払いたくないが同等のGraphics Suiteが欲しい人にはお勧め。
逆に職業訓練の一環としてならば、おとなしくadobeに金を払うべき。
Essentialsを買うのも手だと思おう。ハイアマチュアでなければ、GrapicsSuite程の内容を使わないと思う。
以下は日経が出してるEssentialのニュースリリース。
http://release.nikkei.co.jp/attach_file/0480771_04.pdf
それこそ満足できなければGS買えば良いだけだしね。

2016年12月24日土曜日

microsoftアカウントでログイン(ログオン&サインイン)させたくない(無印windows10でmicrosoft accountの使用を禁止・制限・ブロックする)

いわゆるpro版なら、グループポリシーエディタがあるので、GUIでなんとでも出来るが、こと無印(≒HOME)windows10だとグループポリシーエディタを弄れない。ただ、無印でも機能としては存在するので、それを有効にするtips。

要は、GUI環境が提供されていないなら直接弄ってしまえ、ということ。
そう、レジストリを編集する。

google先生にお伺いを立てまくった結果出てきたのがこちら。

http://www.trainingtech.net/how-to-disable-microsoft-account-in-windows-10/

内容は、
レジストリエディタを起動(regedit.exe)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\Settings\AllowYourAccount

の数値を、デフォルトの1から0にする

これで完了。

するはずだったのだけれども、特に民生のpcで有効にならない。
有効になった場合、アカウント画面に赤字で「一部の設定は組織によって管理されています」と出て、microsoftアカウントをクリック出来るところがグレーアウトする。

更に調べると、別のレジストリもいじらなければならないようで(というか、民生のPCはレジストリキーが削除されていることが多い)、

 http://www.top-password.com/blog/block-or-disable-microsoft-account-in-windows-10-8/

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\NoConnectedUser

値を3にする事が必要になる。

 レジストリキーが存在しない場合、DWORDで、名前をNoConnectedUserとして作成する。

数値の内訳は
  • 0 = Allow Microsoft Accounts
  • 1 = Users can’t add Microsoft Accounts
  • 3 = Users can’t add or log on with Microsoft accounts
 とのことで、状況に合わせて変える必要がある。

この2つのレジストリキーを変更することで、マイクロソフトアカウントでのログインが出来なくなる。

何でこれをやらなければならなくなったかというと、会社で使うPCが、AD組まずにネットワーク構成をしているため、proが入っているPCが少ないこと、また、辞めた社員のPCで、マイクロソフトアカウントを使っていた奴が居たりして、処理が面倒だったことという切ない事情もある。

これ何かおかしくて、マイクロソフトも
https://technet.microsoft.com/ja-jp/library/mt634168(v=vs.85).aspx
とかで

脆弱性

Microsoft アカウントはパスワードで保護されていますが、社外でのより大きな漏えいの可能性もあります。また、Microsoft アカウントの所有者が簡単に識別できない場合、監査およびフォレンジクスが難しくなります。

と言ってるのに、無印だと弄りにくくしているっていう・・・まあ、pro使えということなんだろうけど、中小企業だと価格の割にメリットが少ないので選択から外れるんですよ・・・。

求められていないのか、検索してもなかなか見つからなかった件なので、一助になればと。

 

追記

ローカルグループポリシーエディタをwindows 10 HOMEで使う方法が発見される・・・ただ、レジストリ運用して分かったのが、.regでファイルとして可搬出来るところ。悩ましい・・。

2016年3月1日火曜日

Blackberry Passportの使用感とTIPS

Q10ユーザーだった僕は、本当はBlackberry Classicが欲しかったのだけれども、
スペックが上がらなければ意味が無かったので、結局パスポートを買うことにした。

買う前に思っていた懸念点は
・でかそう
・日本語入力がもっさりらしい
・キー配置違いすぎる(ソフトウェアキーボード併用って・・・)

購入後の使用感

×でかい
間違いなくでかい。圧迫感はiphone6s+に匹敵するでかさ。
しかも正方形なので、片手持ちで通話状態(耳に当てる感じ)はなかなかなもの。
ただ、ファブレットだと考えると、仕方が無いといえば仕方が無い。
サイズ感から重く感じるし、実際Q10と比べると重い。

○そのでかさが意外と、というかかなり使いやすい
Q10に比べると倍の解像度で、しかも正方形なのでブラウジングが大変見やすい。
マップアプリも自分を中心として上下左右を把握できるので秀逸。

○日本語もっさりはほぼ無い
最新のアップデートで、かなり改善されているので特に不便を感じないレベル。
若干引っかかり(コンマ数秒)があるが、逆に引っかかっている間に次の文章考えておけ、位。
使用感はQ10とほぼ変わらず。
修正追記
結構引っかかることがあるかも知れない・・・。長文変換になると、1秒程度待たされたこともあった。
ただ、Q10と比べるとどうだろう。Q10も、なんだかんだで引っかかっていたからである。
むしろQ10で単文節変換に慣れていたので、引っかかりが顕在化しなかったと言う方が正解か。
修正修正追記
長文・・・辛いです・・・。
英文打つ分には、すこぶる快適ですが、長文日本語変換は、辛いの一言・・・。
追記追記追記
日本語打ちで、最初の一文字目が必ず確定してしまう病アリ。これもうざい。

言語の切替が長押しで面倒という人へ。
設定>言語及び入力方式>入力言語>クイック切替
を有効にすると、切替キーが出っぱなしになるので便利。読点を打つときに一寸不便になるかな。

○ジェスチャーキーボードがなかなかいい
トラックボード(トラックパッド?)が本当は良かったのだけれども、キーボード全面がトラックボードになっているのも使える。
特に後述のスクリーン回転と併用してブラウジングするのが楽。

○スクリーンが回転する
他のスマートフォンOSと同じように、スクリーンの回転・固定が出来る。
これのお陰で、本体を横にしてジェスチャーキーボードを縦に使うと、ブラウジングが大変はかどる。
しかも長くストロークが取れるので、かなり楽しい。

×落としそう
片手で持つことはほぼ考えられていない、重量感、この二つで落としそうな気がする。
お陰で丁寧に扱おうという気になる、という副次作用が生まれた。
Q10はソファに投げたりしたが、こいつは投げられないなあ・・・。
alumania STRAP TYPE HEADPHONE CAP for 3.5mm PLUG
http://alumania.net/products/strap_hp_cap/
とポケットリング ブラック
http://www.amazon.co.jp/pocketgames-43001-%E3%83%9D%E3%82%B1%E3%83%83%E3%83%88%E3%83%AA%E3%83%B3%E3%82%B0-%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF/dp/B002ZFZ1J8
を買う予定。

○ソフトウェアキーがいい
今までALT(↑)を使ったりshmを使ったりしていた入力が、ソフトウェアキーボード補完で出来てしまう。
ソフトウェアで実装されたSHIFTキーがきちんと動くかどうかも疑問だったが、杞憂に終わった。

あとは思い出したら書くことにする。


TIPS
Q10も同じなので、タグはQ10も入れておく。

現在最新のBBOS10で、Androidアプリが削除できない問題についての修正は
crackberry
http://crackberry.com/if-youve-been-unable-download-android-runtime-update-try-now
に修正版ランタイムへのリンクがあるので、ダウンロードして入れておこう。
これ、実行してもイニシャライズが終わる気配が全くないのでしばらく放置していたが、やっぱり終わらなかった。
多分、入れて実行すればそれでいいんじゃないかと。
副作用としてメールが一切受信しなくなったが、再起動させれば何事も無かったように受信するようになった。

Androidアプリのパーミッションは
同crackberry
http://forums.crackberry.com/android-apps-amazon-store-apk-files-f413/will-new-10-3-feature-app-ops-selective-android-app-permissions-932484/
にあるように、app opsを入れれば「ある程度」制御できる。
特に単一のAndroidアプリケーションを動作させてみれば、何が何を使っているのかが分かるので、適時切っていけば良い。
例えばgoogle mapsは位置情報と通知の投稿+Androidシステムとして位置情報、連絡先の読み取り、及び変更、設定の変更を使っている。
google開発者~を入れないのであれば、連絡先関係は全て切れるので、よりセキュア。
因みに、制御したアプリケーションは(起動させた状態で制御した場合)再起動させないと、前のパーミッションを使い続けるので注意。
また、切りすぎるとクラッシュする可能性があるので、反応を見ながらやって下さい。

アクセサリ
http://www.plantronics.com/jp/product/voyager-legend
でかいので、こういったbluetoothヘッドセットを併用することをお勧めする。
特にLegendは、日本で買える最高のBT片耳ヘッドセットなんじゃないかな。

Nillkinという中華メーカーの液晶保護シートは良いやつだった。
http://jetstream.bz/archives/13357
みたいな。
ジャストサイズでした。
他エントリで書きますが、Shinezoneは輸入代理店みたいね。

IMAKのクリアケースも買ったけど、これもフィット感は完璧。あだ、つるつるで更に落としそうではある。


2015年6月17日水曜日

squid.conf設定(squid3のコンフィグレーションファイル)

一寸前のsquid設定を。
今はこれよりもっと書いてしまっているが、収拾が付かなくなりそうなので一度上げとこうかと。
透過プロキシで、httpアクセラレーター設定。
iptablesでポートの転送設定しないといつまでも繋がらないので注意。
あとhttps(ssl通信)をsquidで乗っ取ろうとしたけど断念。
理由は透過プロキシだとman inthe middleになってしまうので、sslbumpを入れないといけなくなる(入れたら入れたで、証明書が違うと警告がユーザークライアントに多発するので現実的では無いという判断)。
結局iptablesで、どうしてもはじきたい所をはじくという、苦肉の策になる。
どうにかならないものかなあ・・。


http://roserogue.blogspot.jp/2014/12/1e100netgoogle.html

 を参照のこと。


#squid3
#
#http://squid.robata.org/
#が一番情報載ってる
#
# Recommended minimum configuration:
# ここら辺はデフォルト設定をそのまま
#
#acl cache object localhost
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1


#acl ipv4local address ipv6 local unicast address
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT

#
# Recommended minimum Access Permission configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager

# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed

#user user
cache_effective_user squid
cache_effective_group squid



###########################################
#user blacklist
###########################################
#接続させたくないURL、IPアドレス、URLパス
#
#dstdomain ドメイン名を正規表現で表記。ドットから始めればサブドメインも含まれる
#ダブルクォーテーションでくくってファイル参照
#regex
#path
#user blacklist

acl blacklist dstdomain "/etc/squid/blacklist"
acl blacklist_regex url_regex "/etc/squid/blacklist_regex"
acl blackpath urlpath_regex -i "/etc/squid/blackpath"
#blacklist deny list
http_access deny blacklist
http_access deny blacklist_regex
http_access deny blackpath


###########################################
#deny user
###########################################
#接続させたくない特定のユーザー(クライアント)を指定。ローカルIPアドレスで指定する。

acl deny_userlist src "/etc/squid/userlist_deny"
#acl deny_userlist src 192.168.1.255 192.168.1.254
http_access deny deny_userlist


###########################################
#limit user
###########################################
#限定的に接続させたい任意のユーザー(クライアント)を指定。ローカルIPで指定する。

acl limit_userlist src "/etc/squid/userlist_limit"
acl limit_domain_url dstdomain "/etc/squid/url_limit_domain"
acl limit_regex_url url_regex "/etc/squid/url_limit_regex"
http_access allow limit_userlist limit_domain_url
http_access allow limit_userlist limit_regex_url
http_access deny limit_userlist


###########################################
#特定URL等。遅延プール
###########################################
#http://www.itmedia.co.jp/enterprise/articles/0812/01/news024_2.html

#acl peakperiod time 10:00-16:00

#Delay_Pool
delay_pools 3

#-----------pool 1 ----------------
#userlist_delayの中のIPアドレスユーザーを遅延させる
delay_class 1 1 # pool 1 is a class 1 pool
acl delay_userlist src "/etc/squid/userlist_delay"
#
# SPEED
delay_parameters 1 320/320
#
delay_access 1 allow delay_userlist
delay_access 1 deny all


#-----------pool 2 ----------------
#リストに表記されているURLなどへのアクセスを遅延させる
delay_class 2 1 # pool 1 is a class 1 pool

acl dstdelaylist dstdomain "/etc/squid/delaylistdst"
acl regex_delaylist url_regex "/etc/squid/delaylist_regex"
acl pathdelaylist urlpath_regex -i "/etc/squid/delaylistpath"

#1408kbit/s
delay_parameters 2 176000/176000
#896kbit/s
#delay_parameters 2 112000/112000
# 64 Kbit/s
#delay_parameters 2 8000/8000

delay_access 2 allow dstdelaylist
delay_access 2 allow regex_delaylist
delay_access 2 allow pathdelaylist
delay_access 2 deny all


#-----------pool 3 ----------------
#特定のブラウザ使用者を遅延させる
delay_class 3 1 # pool 1 is a class 1 pool
acl delaybrowser browser -i Chrome
acl delaybrowser browser -i Safari
# 128 Kbit/s
delay_parameters 3 16000/16000

delay_access 3 allow delaybrowser
delay_access 3 deny all


#----------delaypool end------------------#

###########################################
#user FTP
###########################################

acl FTP proto FTP
always_direct allow FTP


###########################################
#最終許可
###########################################

http_access allow localnet
http_access allow localhost

# And finally deny all other access to this proxy
http_access deny all

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


# Squid normally listens to port 3128
#user
#http_port 3246
http_port 3246 transparent
#http_port 3128 transparent
#http_port 3128

# We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?

#--------------------------
# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16 256
#user

#cache_dir 32GB
cache_dir aufs /var/spool/squid/cache_l 32768 16 256

#maximum_object_size 128MB
maximum_object_size 131072 KB

#cache_mem 1GB(total 3GB or so)
cache_mem 1024 MB
memory_pools_limit 0

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid
#--------------------------------

# Add any of your own refresh_pattern entries above these.
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
#refresh_pattern .              0       20%     4320
##################################
#USER ADD REFRESH PATTERN
##################################
refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ 10080 80% 43200 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.(iso|avi|wav|mp3|mp4|mpeg|3gp|swf|flv|x-flv)$ 43200 90% 432000 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.(deb|rpm|exe|msi)$ 10080 90% 43200 override-expire ignore-no-cache ignore-no-store ignore-private

refresh_pattern -i \.index.(html|htm)$ 0 40% 10080
refresh_pattern -i \.(html|htm|css|js)$ 1440 40% 40320
refresh_pattern . 0 40% 40320
##################################


#user
#LOG
logfile_rotate 14
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
access_log /var/log/squid/access.log

#user
#auth_param basic program
auth_param basic children 10
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

#user
pipeline_prefetch on

###########################################
#user anonymize
###########################################
icp_port 0
forwarded_for off
client_db off
#user HEADER ANONYMIZING
#header_accessは30系で無くなったらしい
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all


###########################################
#SQUID3 HEADER REPLACE###
###########################################

request_header_access From deny all
request_header_access Referer deny all
request_header_access User-Agent deny all
header_replace User-Agent Mozilla/5.5 (Windows NT 55.0; Win64; x64) AppleWebKit/555.55 (KHTML, like Gecko) Chrome/55.0.0005.05 Safari/555.55 Edge/15.0

#user
visible_hostname none

#header_replace Referer google.com

2015年6月8日月曜日

Windows Phone 8.1 Update 2にアップデートするには

Windows Phone 8.1 Update 2(GDR2)に、windowsphoneを8.1update2にアップデートするにはどうすればいいのか。

http://www.onetechstop.net/2015/04/11/screenshots-how-to-install-windows-phone-8-1-update-2-on-any-windows-phone-device/

をざっくり翻訳することにする。

1.設定>電話の更新>この電話の更新プログラムが利用可能になったとき通知する、のチェックボックスを外す

2.windows insiderプログラムに参加し、かつWindows Insiderアプリをダウンロードする

3.Windows Insiderを起動。設定する

4.設定>電話の更新でオフにしたチェックボックスをオンにする。更新の確認を押す

5.バージョンの確認をする(8.10.15116.125)
 確認したらダウンロード。

6.Windows Insiderをアンインストールする

7. インストール


3はWindows Insiderのバージョンによって違うらしい。虫眼鏡マークのpreview~を押下して、windows 10 mobileのテクニカルプレビューを選択するというのもある。

6のアンインストールは、バージョン確認してダウンロードを始めれば、途中であろうがアンインストールして良い。というか、他の記事ではアンインストールしろと書いてある。

 いわゆるwin10mobileに対応する機種に適応できるよう。
MADOSMAで是非やってみたいが、残念ながら購入予定無し。誰かやってみて欲しい。

因みにGDRとは、
http://www.sql-master.net/articles/SQL887.html
GDRとはGeneral Distribution Releaseの略
だそうで。

2015年5月18日月曜日

linuxサーバ上からDS_Storeファイルを削除する

windows/linux環境に、何故か持ち込まれるmacのDS_Storeファイルを消去するtips。
やり方としては、findコマンドで当該ファイルを見つけ出して、消してしまう。
たまに意味が分からないDS_Storeファイルがある(._.DS_Store等)ので、
いっそのことDS_Storeと名前のつくもの全てを消してしまうことにした。

以下は/foo/bar/ディレクトリ以下のDS_Storeファイル、及び必要なさそうなファイル(Thumbs.dbやAdobeのゴミ等も含めて)消してしまうシェルスクリプト。
これをcronに読ませて自動化。
以下はmonthlyに入れるので、月一で消去。

vi /etc/cron.monthly/deletedsstore.sh
以下を書く

#!/bin/sh

find /foo/bar/ -name '*DS_Store*' -exec rm -f {} \;
find /foo/bar/ -name '*CATALOG.VIX*' -exec rm -f {} \;
find /foo/bar/ -name '.Bridge*' -exec rm -f {} \;
find /foo/bar/ -name 'Thumbs.db' -exec rm -f {} \;

そのあと実行権限をつけることを忘れないように

chmod +x /etc/cron.monthly/deletedsstore.sh

tipsとしては、間違ったファイルを消さないように、rm以下ナシで一度実行しておくこと。
たとえば
find /foo/bar/ -name '*DS_Store*'
だけ実行して、意図したものが検索されているかどうかを確認する。

参考は
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231052/
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230777/
http://www.linuxmaster.jp/linux_skill/2012/10/post-117.html

2015年1月22日木曜日

windowsの管理者パスワードを忘れたときの対処法。パスワードをクリアしてしまえ。





共用PCのメンテナンスをする際、adminパスが分からないという事態に遭遇した。

その時の顛末。



まずは試したのがパスワードクラックを謳うophcrack




livecdイメージをダウンロードしようとするが、待てど暮らせどダウンロードできない。

そこでftpで直に覗いてみたところ、なんとデータ自体がそもそも存在していない(3.6.0)。

仕方なく前バージョンの3.4.0をダウンロードして起動するも、

No partition containing hashes found

と表示される。

対処法は







まあいわゆるC:\ドライブがマウントされるようにしてやるというのがキモ。

GUIならそれ+

Windows/System32/configの場所をEncrypted SAMでロードする。



とまあ対処法は分かったが、肝心のophcrackが立ち上がらなくなり断念。原因不明。



そこで更に手立てを探すと、


が出てくるが、面倒だったのでパス。

むしろこれと同じようなことをやってくれるものがあるはずだと、また探せばやっぱりあった。

Offline NT Password & Registory Editor




使い方は




を参考にする(若干操作が違う)が、基本対話式で進むのですごく楽である。

英語読もうぜ!

Windows88.1にも対応済み。

注意点としては、clear user passwordはやるとして、たまにlockされてたりするので、それも外すこと(Unlock and enable~)。


因みにこいつはadministrator(実際はあるが表には出なくなってる)を表に出す(有効にする)ことも可能なので、何かと有用である。

2014年12月15日月曜日

virtualboxで仮想PCが立ち上がらない、DMMとかDRMを使用したコンテンツを再生できないはKB3004394のせい。

windows7上にvirtualboxでlinuxをインストールして使っているのだけれども、どうにも立ち上がらない。

virtualboxは結構不具合があるイメージだったので、仕方ない、再インストールするか、と思い立って再インストールしたのだけれども、やはりエラーを吐いて落ちる。

おかしい、と探し回ったら
http://www.infoworld.com/article/2858014/operating-systems/botched-kb-3004394-triggers-uacs-diagnostic-tool-error-0x8000706f7-amd-catalyst-driver-fail-defende.html

だそうで。

windows updateのKB3004394が入っていると、仮想マシンを立ち上げられないようである。

対処法は、
1・まずKB3004394をコンパネ> プログラム>インストールされた更新プログラムを表示>KB3004394をアンインストール(結構時間かかる)

2・再起動

3・virtualboxをアンインストール。この際、ディスクイメージなど設定は残しておくように。ダイアログが表示される(念のため再起動)

4・virtualboxをインストール。設定を残しておいたら普通に立ち上がる

この手順が書かれた英語サイトがあったけれども失念してしまった。

また、KB3004394はDRMを使用したコンテンツの再生にも引っかかるらしく、知り合いから「DMMのコンテンツをwindows media playerで再生できない」と問い合わせられて、「もしかして」的なノリで削除して貰ったら再生できたという。

一応どれがはまったのか分からないので、その際の手順(試した順序的には実は逆だった)を書いておくが、まず間違いなくKB3004394の削除のみで対応出来そうな気がする。

1・KB3004394を削除して再起動する。これでも駄目なら2へ

2・マイクロソフトからDRMのリセットツールをダウンロードし、実行する
http://support.microsoft.com/kb/976590/ja
より、ResetDRM.exeをダウンロードし、「管理者権限で」実行する。
 詳しくはurlにて。
再起動して再生できなければ3へ

3・windows media playerコンポーネントを一度外し、再度入れる
コンパネ>プログラム>windowsの機能の有効化または無効化>メディア機能の中のwindows media playerとmedia centerのチェックを外す
>再起動
>さっきチェックを外した2つにチェックを入れる
>念のため再起動
更に、2を実行する

これで大丈夫の筈。

ざっくり見ているとwin7のみでこの問題が起きるようで、8.1だとIEの動作が軽くなるのだとか。
へえ。

他に見つけたリンク
http://d.hatena.ne.jp/wakwak_koba/20141210

もしや7に見切りを付けさせるマイクロソフトの、的な陰謀論も邪推したくなる。

2014年6月11日水曜日

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「の」問題を解決する、の方が分かりやすいんじゃ無いかなあ・・・まあそれ以外の問題も解決するからみたいな言い訳があるんだろうけど・・・。

2014年1月29日水曜日

torからのアクセスだったりをiptablesで検知・拒否して接続させないようにしたい

何か物騒な世の中なので、一応対策らしいものもしなければ、ということで、iptablesで拒否してみることにした。
iptablesにはいつも通りシェルスクリプトで読ませることにする。

この前
http://roserogue.blogspot.jp/2014/01/centosiptablesip.html
で海外からのアクセスを禁止したい記事を入れたのでこちらも参照のこと。

参考は
http://d.hatena.ne.jp/rudeboyjet/20070226/p1

内容としては、IPDENYTORという名前のユーザー定義チェインを作成(-N)して、
ログを取りアクセスはドロップする設定を書き、
if文で/root/denytorlistの中に書いてあるIPアドレスをDROPする。

vi /root/iptables_denytor.sh

#!/bin/sh
################################################
#DENY TOR
################################################
iptables -N IPDENYTOR
iptables -A IPDENYTOR -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES IPDENYTOR]: '
iptables -A IPDENYTOR -j DROP
if [ -s /root/denytorlist ]; then
  for ip in `cat /root/denytorlist`; do
    iptables -A INPUT -s $ip -j IPDENYTOR
  done
fi

chmod 700 /root/iptables_denytor.sh

denytorlistという、torのIPアドレスを貼り付けたものを作る
touch /root/denytorlist
vi /root/denytorlist
ipアドレスは、以下のサイトからIPアドレスのcsvを取ってきて貼る。
http://torstatus.blutmagie.de/index.php
csvへの直リンクが出来なそうなので、wgetで取得するのは無理そう?

chmod 700 /root/denytorlist

あとは/etc/rc.d/rc.localに
sh /root/iptables_denytor.sh
を入れればOKのはず。

ただ、読ませるのに相当時間がかかるので、これやる必要あるのか?というのも勿論ある。
まあ禁止リストの一環と思えば・・・。

修正。
denytorlistは実行できん・・・多分脳が寝ていた。。

2014年1月27日月曜日

linuxを丸ごとバックアップをしたい(ddかdumpか、それが問題だ)

何故かmondo rescueが激調子悪い今、どうしようか、
ということで、ddとdumpを使うことにする。

方法:dd
ddはセクター単位でバックアップをしていく(簡単に言うと、ディスクに書き込まれているデータを「そのまま」バックアップする)ようなので、
「まさに正しいバックアップを取れる」が、その代わりぶち壊れることもある(認識しなかったりする)らしい。
しかし、imgファイルとしてバックアップすれば、中身はマウントしてみられるので、まあ悪くはないと思う。

http://takuya-1st.hatenablog.jp/entry/20101025/1288002819

の通りで、コマンドは
dd if=バックアップするディスク(例:/dev/sda1) of=バックアップ先(例:/media/mountdisk/backup.img)

if=がバックアップ元指定、of=がバックアップ先指定。


dd でディスクからイメージファイルへ

HDDに空き容量があるなら、イメージファイルを作っちゃうのが後で使いやすい。

dd if=/dev/sdb of=/var/disk-img/some-winXp-hdd.img

とURLでは書かれているので、ドライブ丸ごとバックアップも可能だろう。

バックアップの途中経過は
killall -USR1 dd
で見られる。他詳しくはURL参照のこと。

imgファイルのマウント方法は、
mount -o loop マウント先 マウントしたいimg
たとえば
mount -o loop /media/image/ /media/mountdisk/backup.img

方法:dump
dumpは恥ずかしながら一階も触ったことがない。
大抵のドキュメントが、詳しいのかそうで無いのかよく分からない説明ばかりだから。
一応
http://www.usupi.org/sysad/122.html
http://chidipy.jpn.com/server/other/ext3backuprestore.html
を見て、

dump -0 -f バックアップファイル バックアップ対象のパス
というのは分かった。
dump -0f /media/backup/sda5.dump /dev/sda5
こんな感じでバックアップを取る。

また、パーティション構造も記録(UUIDが違うと駄目だったりするらしいのでuuidも)

fdisk -l > /<任意の場所>/fdisk_<デバイス名>.txt
df -k > /<任意の場所>/df.txt # cat /etc/fstab > /<任意の場所>/fs.txt
ls -l /dev/disk/by-uuid/ > /<任意の場所>/by-uuid.txt
#以下はあるのとないのがある。
pvdisplay > /<任意の場所>/lv.txt
vgdisplay > /<任意の場所>/vg.txt
lvdisplay > /<任意の場所>/vp.txt

さて書き戻し方だけど、
http://www.atmarkit.co.jp/ait/articles/0301/07/news001_3.html
とか、他諸々を参考に・・・実は未だ書き戻していなかったりする。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1332476248
は、ddでバックアップを取るか、dumpでバックアップを取るか、どちらが良いかの参考になる。

好みは、ddかな・・・。

2014年1月22日水曜日

兎に角海外からのアクセスを制限、遮断したい(centos上でiptablesを使ったIPアドレスアクセス制限)

サーバ立てていると、兎に角どこから沸いてきたのか辞書攻撃をばんばんする輩がいる。
勘弁してください・・・ddosとか掛けられると速攻落ちるくらいの貧弱スペックで運用してる奴に限って、
何故か半端ない・・・。





環境は
centos(サーバはcentos5とcentos6)とiptables。


hosts.allowとhosts.denyで制限するという方法も散見されたが、正直どうだろう。
正しいと思うけど、複雑なことをさせようとすると凄いことになりそう。

で、その対処法。
まず考えたのは、SSHを通しているので、こいつに辞書攻撃を仕掛けられていること。

http://blog.browncat.org/2007/07/sshiptables2.html

を参考に、2行書いてやればかなり収まる。
60秒間に8回SSH接続しようとしたIPをはじく、とある。

-A RH-Firewall-1-INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
-A RH-Firewall-1-INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP

がcentosには適応する。

が、それだけでは怒りが収まらない。
こうなったらと、日本以外の外国からアクセスを遮断することにする。

http://vogel.at.webry.info/201306/article_1.html

http://vogel.at.webry.info/201306/article_2.html
を参考に(というか丸パクりして)設定。

以下は僕の環境下で使ったmemoなので、ちゃんとしたものと解説はURLの方参照してください。

#!/bin/sh
#COPYRIGHT
#http://vogel.at.webry.info/201306/article_1.html
#http://vogel.at.webry.info/201306/article_2.html
#http://blog.browncat.org/2007/07/sshiptables2.html
IPTABLES=/sbin/iptables
if [ $# -eq 1 ]
then
    if [ $1 = "stop" ]
    then
        $IPTABLES -F
        $IPTABLES -Z
        $IPTABLES -X
        $IPTABLES -P INPUT ACCEPT
        $IPTABLES -P OUTPUT ACCEPT
        $IPTABLES -P FORWARD DROP
        echo stopped..
        exit
    fi
fi
$IPTABLES -F
$IPTABLES -Z
$IPTABLES -X
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -N ACCEPT_FILTER
$IPTABLES -A ACCEPT_FILTER -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW,ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type source-quench -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type redirect -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type parameter-problem -j ACCEPT

$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT_FILTER

$IPTABLES -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset

#SSH Accept(上2行は別から)
$IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
$IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
$IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT_FILTER

#WWW Accept
#$IPTABLES -A INPUT -p tcp -m multiport --dport 80,443 -m state --state NEW -j ACCEPT_FILTER

#日本のIPからのみアクセス出来る
wget -N http://nami.jp/ipv4bycc/cidr.txt.gz
gunzip -q -f -c cidr.txt.gz > cidr.txt
if [ -f cidr.txt ]; then
    $IPTABLES -F ACCEPT_FILTER
    sed -n 's/^JP\t//p' cidr.txt | while read address; do
        $IPTABLES -A ACCEPT_FILTER -s $address -j ACCEPT
    done
    $IPTABLES -A ACCEPT_FILTER -j DROP
fi
#eof
シェルスクリプトなので、実行可能な場所において、ファイル名.shで保存(もういっそ/rootとか)、
chown root.
chmod 700
(rootの持ち物(ドットまで入れるとグループもrootになる)で、アクセス権はルートのみフルアクセス)
/etc/rc.d/rc.local

sh /ファイルまでの絶対パス/ファイル名.sh
とかの形式で書いてやれば、起動時に読み込んでくれる。

これで収まった。
味噌は、有志がIPアドレスレンジのファイルを公開してくれてるところ。凄いよなあ・・・。

追記
torのアクセス遮断を別記事で

2014年1月21日火曜日

中途半端に旧バージョンのphpをcentosにインストールしたい(外部リポジトリだけどolds内にある時)

いまいちyumの仕組みが分かっていないけど、旧バージョンのphp関係をインストールしなければならなくなったので、そのメモ。

今回はcentos5指定だったので、centos5.10(i386版)にphpの旧バージョン5.3をインストール。


ここを参考にする。
http://blog.hello-world.jp.net/?p=584
http://d.hatena.ne.jp/omiyan/20110114/p1

remiリポジトリを登録して、更に

http://rpms.famillecollet.com/enterprise/5/olds/i386/
(URLはremiリポジトリのディレクトリ)
からパッケージをダウンロードしておかなければならない。

外部リポジトリの追加方法は
http://oxynotes.com/?p=4792
を参照。

remi    Fedora プロジェクトのコントリビュータでもある Remi Collet 氏が運営しているリポジトリhttp://www.1x1.jp/blog/2013/12/how-to-install-php-rpm-on-centos-5-and-6-amazone-linux.html
epel    レッドハット(fedoraプロジェクト)提供のリポジトリ。https://fedoraproject.org/wiki/EPEL/ja
ius    PHPとMySQLの普及振興を目的としたリポジトリ。http://iuscommunity.org/pages/About.html

ダウンロードして置かないと、yum install php-5.3*とか入れても、そんなパッケージは無いと怒られる。
釈然としないがそんなものなのだろう(多分oldsの中だからと勝手に推測する)。

i386版なので、参考URLのシェルスクリプトをいじって、i386版をダウンロードするようにする。

#! /bin/bash
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-cli-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-common-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-bcmath-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-dba-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-devel-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-gd-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-imap-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-ldap-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-mbstring-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-mysql-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-odbc-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-pdo-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-pear-1.9.4-7.el5.remi.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-pecl-ncurses-1.0.2-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-pgsql-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-process-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-snmp-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-soap-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-xml-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-xmlrpc-5.3.23-1.el5.remi.i386.rpm
wget http://rpms.famillecollet.com/enterprise/5/olds/i386/php-pecl-apc-3.1.13-3.el5.remi.i386.rpm

ダウンロードできたら、

yum install --enablerepo=remi,epel php-common-5.3.23* php-cli-5.3.23* hp-5.3.23*

とかでインストール。
rpmコマンドでも多分インストールできるが、必要パッケージがないとか言われることがある。


勘所は、
remiだけでなくepelもリポジトリとして登録しておくこと。
なんとremiだけだと、libeditを見つけられずにエラーが出た。
うへえ。

2013年11月14日木曜日

port53番ポートが兎に角開かない(iptablesでは開放しているのに、外から見ると閉じている)

CentosにBINDを突っ込んで設定していたところ、どうしても53番ポートが開かない。
というか、サーバ的には53番は開放しているのだけれども、外から見た場合、closedに見えるという切ない状況。
iptablesとしては、53番開放済み。
nmapをわざわざインストールして見ても、53番は開いている。
dig @192.168.XXX.XXX google.com(XはサーバのIP) も通る。
でも外からwindowsで見た場合、
nslookup google.com 192.168.XXX.XXX
はタイムアウトするし、windowsからnmapでサーバを見ても、port 53はclosed。
困りに困ってまたまたgoogle先生にお伺いを立て続けたところ、

http://q.hatena.ne.jp/1296524427

が出てきた。
named.conf に
listen-on port 53 { 127.0.0.1; };
という行がありませんか? つまり、localhost のインタフェースでしか Listent していない状態です。
この行を外せば、全てのインタフェースで Listen するようになります。
間違いない。
これのせいだ。ということで、
vi /etc/named.conf


// listen-on port 53 { 127.0.0.1; };
という風にコメントアウト。
無事外からも見えるようになりましたとさ。

ただ、ポートがふさがっているということになると、やはり疑うのはfirewall。
iptablesの内容を何度もさらった。

iptables -A INPUT -p udp -s $internal_ip --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp -d $internal_ip --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -s $internal_ip --dport 53 -j ACCEPT

で大丈夫なんだろうけど、もっと良い書き方有ったら教えてください。

また、named.confにforwardの設定をしているのだけれど、
Nov 14 21:50:40 servername named[1876]: error (no valid DS) resolving 'XXX.XXX.168.192.in-addr.arpa/PTR/IN': 8.8.4.4#53
Nov 14 21:50:40 servername named[1876]: error (no valid RRSIG) resolving '168.192.in-addr.arpa/DS/IN': 8.8.4.4#53
Nov 14 21:50:40 servername named[1876]: error (no valid RRSIG) resolving '168.192.in-addr.arpa/DS/IN': 8.8.8.8#53
 みたいなログをmessagesに吐き出されてげんなり。
8.8.8.8と8.8.4.4と192.168.XXX.XXX
をforward先として設定しているのだけれども、全部エラー。しかもgoogle先生教えてくれない。

追記
と思ったら出てきた。
http://jsapachehtml.hatenablog.com/entry/2014/01/13/113229

ということで、DNSSECの問題らしい。が、それはそれで気持ち悪いなあ・・・。
named.confを書き換える。

vi /etc/named.conf

dnssec-enable no;
dnssec-validation no;
//dnssec-lookaside auto;
chrootしている場合はファイルの場所が違うので注意。