BLOGTIMES
» ArchiveList (Tag for "linux" )
«Prev || 1 · 2 · 3 · 4 · 5 · 6 · 7 · | Next»
2014/09/29

SELinux で httpd から DB 接続設定を許可する

linux  centos  systemmanagemant 

久しぶりに PHP でちょっとしたウェブアプリを書いたのですが、どうやっても DB に繋がらないので困ってしまいました。
しばらく考え込んでしまいましたが、SELinux が有効化したままだったことを思い出したので、DB への許可属性を追加してみました。

以前、試したように audit2allow を使う方法もありますが、audit2allow で調べてみたところ httpd_can_network_connect を使うことができるよ!という表示が出てきたので、setsebool を使って httpd_can_network_connect を有効化してみました。不思議な感じもしますが、 PHP -> DB 接続も考えてみたら httpd からのネットワーク接続に入るんですよね。

# setsebool -P httpd_can_network_connect 1 # getsebool httpd_can_network_connect httpd_can_network_connect --> on

今度からは何か不思議な現象が起きたときは /var/log/audit/audit.log もチェックするのを忘れないようにしたいと思います。


    at 14:46 |
    2014/06/07

    /var/log/messages に出る imuxsock begins to drop messages というログ

    systemmanagemant  linux 

    ちょっとしたバッチのログは logger コマンドで syslog にメッセージを吐くようにしているのですが、ふと /var/log/messages を覗いてみたら imuxsock begins to drop messages というメッセージが出てすべてのログが取得できていないという失態をやらかしてしまったので rsyslog の設定を変更しました。

    これまで1、2行くらいしかログを出力するものがなかったので、こういう落とし穴があることに気づいていませんでしたが、以外とハマりやすいポイントなのかもしれません。設定の変更にあたっては以下の NRI セキュアのウェブを参考にしました。

    ログを紛失していないか? | NCSIRTアドバイザリ | 情報セキュリティのNRIセキュア

    メッセージの原因はこうだ。最近のLinuxディストリビューションであれば、その多くにsyslogdあるいはsysklogdを置き換えるrsyslogが付属している。しかし、rsyslogのバージョン5.7.1から、rate-limitingという機能が追加され、5秒間に/var/log/messagesへ200以上のメッセージ(rsyslogのデフォルト設定)を送信したプロセスID(PID)があれば、rsyslogはメッセージを捨て始め、/var/log/messagesに以下のような警告を出力する。
    Feb 5 13:07:52 plugh rsyslogd-2177: imuxsock begins to drop messages from pid 12105 due to rate-limiting

    設定の書き換えは1カ所なので簡単です。後は service rsyslog restart で OK。

    /etc/rsyslog.conf

    --- rsyslog.conf.org 2013-08-15 20:24:42.000000000 +0900 +++ rsyslog.conf 2014-06-07 16:56:12.419989489 +0900 @@ -30,6 +30,7 @@ # Include all config files in /etc/rsyslog.d/ $IncludeConfig /etc/rsyslog.d/*.conf +$SystemLogRateLimitInterval 0

      at 20:43 |
      2014/05/15

      CentOS 6 で SELinux の許可設定を追加する

      linux  centos6  systemmanagemant 
      SELinux System Administration

      CentOS 6 では SELinux がデフォルトで有効化されていますが、設定が面倒なのでインストール直後に disabled に変更していました。今回立てるサーバはちょっとセキュリティに気を使いたいので、一念発起して Enforce モードでの運用できるように、デフォルトの状態かに許可設定を追加する方法を調べてみました。

      使い方についての詳細は Redhat が公開しているマニュアル「Security-Enhanced Linux」などを参照すればよいのですが、「EZ-NET: SELinux に新しい許可設定を追加する (CentOS 5.4) : SELinux の使い方」で紹介されているように、とりあえず今回はシステムを Permissive モード(Enforce モードでは拒否されるような操作を行っても、ログだけを記録するモード)にして、そのログを元に許可属性を再構成するというお手軽な方法をとります。

      昔、Tripwire を設定したときも同じような方法でルール変更を行っていたことを思い出しますね。
      以下、作業メモ。

      [CentOS 6 で SELinux の許可設定を追加する の続きを読む]

        at 19:03 |
        2014/03/13

        ls -f と Dir.glob()

        linux  cli  ruby 

        Linux などで ls -l とするとファイル名はきちんと辞書順で表示されるのに、他のプログラムでディレクトリをなめると出てくる順番がバラバラになるということにはずっと前から気になっていました。例えばタイムスタンプや日付でファイルを生成して、古い方から逐次処理しているつもりが・・・・・・というバグを出してしまったこともあります。

        そんなちょっと不思議な挙動の理由がやっと分かったのでメモ。例えば find コマンドの結果やRuby のプログラムで Dir.glob() を使ったりすると下記のような結果になります。

        $ mkdir bbb $ mkdir ccc $ mkdir eee $ ls bbb ccc eee $ find . -mindepth 1 -type d ./eee ./bbb ./ccc $ ruby -e 'puts Dir.glob("*")' eee bbb ccc

        これについては下記のエントリで ls のソースコードはもちろんのこと、 strace による解析や Perl の内部構造についても詳細に解説されています。これはとても良い教材になりそうです。結論としては ls がデフォルトで、ls が出力結果をソートするようになっているだけということのようです。ちなみにこのソートは -f オプションをつけるとオフにできるとのこと。

        ls のソースを読んでプログラマになりました - ablog

        こちらも getdents を呼んでいる。Perl の readdir も ls も getdents システムコールを呼んでるけど、ls はソートしていると思われる。ls の man を見ると、デフォルトでアルファベットでソートされ、-f オプションをつけるとソートされないと書かれている。
        ls に -f オプションをつけると Perl の readdir と同じ順になった。

        試しに ls に -f をつけてみると、find や Dir.glob() の結果と同じになりました。
        まだまだプログラマとしては青いことを痛感させられますね。


          at 22:12 |
          2013/10/01

          LPI-Japan が Linux セキュリティ標準教科書を公開

          systemmanagemant  linux  iptables  reference 
          Linuxセキュリティ標準教科書

          これまでにもLinux 標準教科書などを公開している LPI-Japan が新たに Linuxセキュリティ標準教科書(Ver1.0.0) を公開しました。

          目次を眺めてみると慣れないと(というか、原理を理解しないと)使うのが難しい iptables や SELinux、ACL、OpenSSH などが網羅されているようです。Linux 標準教科書などと同じく、CC ライセンスなので PDF 版や EPUB 版は無償でダウンロードして読むことが可能になっています。基本的な事柄ばかりですが Linux を使って公にサービスを運用している場合には一度目を通しておいて損はなさそうです。

          LPI-Japan、「Linuxセキュリティ標準教科書」を公開、無償での配布を開始 ~最低限必要となるセキュリティの知識を体系的に学びたい方に最適な教科書~|Linux技術者認定機関 LPI-Japan [エルピーアイジャパン]

          「Linuxセキュリティ標準教科書」はLinuxにおけるセキュリティを学習・再認識するために最低限必要となる知識を体系的にまとめた内容となっています。LPI-Japanでは、本教材の無償提供により教育機関や企業研修でのOSS/Linuxにおけるセキュリティ教育の質向上の一助となることを目的としています。

            at 20:35 |
            2013/08/08

            Linux 上で Windows のアプリを動かす

            linux  windows 

            Windows 上で動かしていたコマンドラインアプリを Linux に簡単に移植する方法がないかと思って調べていたら、Windows アプリを Linux 上で動かすことができる Wine*1 というプロダクトが使えたのでメモ。

            この Wine はエミュレーターではなく、Win32 API の互換レイヤーを提供してくれるというちょっと変わったソフトウェアで、存在自体は前々から知っていたものの、キワモノの域を出ないものだと思っていました。ところが、いつの間にか互換性も上がっていて Office 2010 が動かせるレベル*2 になっていました。最近は 1.6 がリリースされたようです*3

            今回はお手軽に導入するために yum install wine でインストールしました。
            使い方は簡単で、wine というコマンドの引数に windows の exe を渡してやるだけで OK。

            たとえば wget はこんな感じで実行することができます。
            まぁ wget は始めから linux 用があるのでこんなことする必要はありませんが、他のソフトでも同じように実行できます。

            $ wine wget.exe -O - "http://checkip.dyndns.org/" --2013-08-08 23:25:59-- http://checkip.dyndns.org/ Resolving checkip.dyndns.org... 216.146.38.70, 91.198.22.70, 216.146.39.70, ... Connecting to checkip.dyndns.org|216.146.38.70|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 105 [text/html] Saving to: `STDOUT' 0% [ ] 0 --.-K/s <html><head><title>Current IP Check</title></head><body>Current IP Address: 219.94.197.99</body></html> 100%[======================================>] 105 --.-K/s in 0s 2013-08-08 23:25:59 (1.24 MB/s) - `-' saved [105/105]

            ちょっとした Windows のアプリをどうしても Linux で動かしたいけど、VMWare などの仮想環境はちょっと仰々しいというときには良さそうですね。


            at 23:03 |
            2013/04/01

            ZFS on Linux が 実用段階に

            linux  zfs 

            ZFS on Linux が実用段階に入ったというのでメモ。
            ライセンスの関係で導入が面倒なので、 ZFS を使うとすればSolaris の血を引く OpenSolaris もしくは OpenIndiana で、という感じですが、折りを見てこちらも試してみようと思います。

            LinuxでZFSを利用するための「ZFS on Linux」、「実用段階」というバージョン0.6.1が公開される | SourceForge.JP Magazine

            ZFSがLinux上で実際に利用できる段階となってから2年以上が経過しており、zfs-0.6.1ではデスクトップからスーパーコンピューターまで幅広い環境で利用できる段階に達したと報告している。また、バグフィックスに加えて新たに「snapdev」プロパティが導入された。これはzvolスナップショットデバイスの可視性を管理するもので、表示(「visible」)/隠す(「hidden」)の設定が可能。デフォルトでは「hidden」に設定されており、この場合は/devディレクトリ下にzvolスナップショット用の領域を作成できなくなるという。Linux 3.9サポートも加わった。

              at 18:55 |
              2013/02/21

              Linux 、i386 のサポートを終了

              linux 

              Linux 3.8 がリリースされた*1ようですが、このカーネル 3.8 から i386 のサポートが打ち切られたようです。

              ファイルシステム周りでいくつかの改善:さらば386プロセッサ――Linuxカーネル 3.8、リリース - @IT

              Linuxカーネルの最新版となる「Linux 3.8」が2月18日に公開された。極めて小さなサイズのファイルをinodeに組み込み、ディスクの仕様効率を改善させるファイルシステム、Ext4のサポートなどが特徴だ。また事前に伝えられていた通り、386プロセッサのサポートは打ち切られた。

              386 で動く OS としてスタートした Linux としては1つの節目になりますね。とはいえ、 i386 を現役で使っている人は既にいないでしょう。僕くらいの年齢でも i386 の PC を所有していたことはないくらいですし。まだ i486 はサポートされるようですが、ベースラインが i686 以降もしくは x86_64 あたりになるのもそんなに遠くはないような気がします。

              ちなみにこれは最新のカーネルの話なので、今使っているディストリビューションが i386 対応の場合には特に影響はないはずです。


              at 23:55 |
              2013/02/14

              Mondo Rescue で Linux マシンのフルバックアップを取る

              linux 

              先日構築した Linux マシンをベアメタルリストアするために、 Mondo Rescue*1 を使ってバックアップを取ってみました。
              Scientific Linux 6.3 なので rpmforge を使って簡単にインストールできます。

              yum -y install rpmforge-release yum -y install mondo

              こんな感じでコマンドを叩くと、 /opt/backup 直下に .iso イメージでバックアップが取れます。
              あとは、これを DVD 等に焼いておけば簡単にベアメタルリストアできるはずです。

              mkdir -p /opt/backup cd /opt/backup mondoarchive -Oi -L -N -s 4200m -d /opt/backup -E /opt/backup

              at 19:20 |
              2013/01/22

              exFAT を linux から読み書きできる「fuse-exfat 1.0」がリリース

              linux 

              exfat プロジェクトが Linux 等で利用可能な exFAT のフリーな実装 fuse-exfat 1.0 がリリースされました。

              FUSEベースのMicrosoft「exFAT」実装、「fuse-exfat 1.0」がリリース - SourceForge.JP Magazine : オープンソースの話題満載

              米Microsoftが開発したファイルシステム「exFAT」のフリーな実装を開発するexfatプロジェクトは1月21日、初の正式版となる「fuse-exfat 1.0.0」を公開した。読み込みと書き出しをサポートするフリーのexFAT実装ドライバは初という。

              exFAT は SDXC (64GB以上のSDカード) のフォーマットに採用されたりと利用範囲が着々と広がっているファイルシステムですが、デスクトップ OS では Windows Vista から標準搭載という新しいファイルシステムなので、Windows XP では別途ドライバをインストールする必要があったりしました。今回の fuse-exfat のリリースで Linux 等でも使えるようになったので、やっとまともにリムーバブルメディアのファイルシステムとして使えるようになりましたね。

              週末にでもインストールして動作を確認してみようと思います。


                at 19:23 |
                «Prev || 1 · 2 · 3 · 4 · 5 · 6 · 7 · | Next»
                » ArchiveList (Tag for "linux" )