今年最後のエントリは今更感のあるsshのセキュリティについて.
最近になって,とあるIPから頻繁にsshへユーザ名を変えながらのアクセスがあるようになり,連日auth.logがそのログで埋まってしまうようになりました.
このまま放置しておくとログ確認するのも面倒だし,何より不安なので,今更ながらsshのセキュリティ強化をすることにしました.
続きを読む
今年最後のエントリは今更感のあるsshのセキュリティについて.
最近になって,とあるIPから頻繁にsshへユーザ名を変えながらのアクセスがあるようになり,連日auth.logがそのログで埋まってしまうようになりました.
このまま放置しておくとログ確認するのも面倒だし,何より不安なので,今更ながらsshのセキュリティ強化をすることにしました.
続きを読む
nginxは標準ではDigest認証に対応していません.
そのため,Digest認証をするために,samizdatco氏の作ったnginx-http-auth-digestというサードパーティモジュールを利用します.
FreeBSDのportsで,HTTP_AUTH_DIGESTオプションをオンにすると導入されるモジュールも同じです.
このモジュールですが,とあるバグを抱えています.(2012/10/20現在)
URIによっては認証が正常に行われず,401←→認証の無限ループが発生するというものです.
例えば,以下のようなURLにアクセスした際に問題が発生します.
http://example.com/hoge.php?param=foo
このバグを修正するためのパッチを作成してみました.
FreeBSDを使って,自宅にL2TP/IPsecなVPNサーバを構築してみます.
使用したFreeBSDのバージョンは8.2-RELEASE.
続きを読む
FreeBSD には, jail という文字通り,プロセスを”監獄”に閉じ込める仕組みがある.
閉じ込めてしまうことで,もし仮にそのプロセスが乗っ取られてしまっても,被害がサーバー全体に及ぶのを防ぐことが出来る.
今回は,それを使って,ネームサーバーを立ててみる.
デフォルトのままではいろいろと作業がやりにくいので、portsで追加のソフトをインストールしたり、設定をしたりする。
デフォルトで入っているviは削除した文字が画面上では消えずに残ってたり、カラー表示が出来なかったりするので、portsからvimをインストールして使うようにする。
# cd /usr/ports/editors/vim # make install clean NO_GUI=yes
このとき、NO_GUIを指定しておかないと、X関係のパッケージを勝手に大量にインストールし始めるので注意。
インストールが完了したら、ホームディレクトリに.vimrcファイルを作成して設定する。
いろいろ設定しておきたいところだけど、とりあえずこれだけ。という設定。
set fileencoding=utf-8 set number syntax on set smartindent set tabstop=4
たったこれだけの設定でも結構違う。
あとはaliasを書き加えておく。
export EDITOR=/usr/local/bin/vim alias vi='/usr/local/bin/vim'
Linuxでは大体、デフォルトでlsしたときフォルダや実行ファイルがカラーで表示されるけれど、FreeBSDはデフォルトでは全部白文字。しかも何の記号もついていないので全く区別がつかない。
デフォルトのlsでも-Aオプションを付ければ記号がつくので一応判別できるようになるけど、カラーの方が見やすいのでカラー化する。
色を付けるには、いろいろ方法があるみたいだけど、今回はgnulsを使用する方法をとった。
まずは、portsからインストールする。
# cd /usr/ports/misc/gnuls # make install clean
あとは、シェルの設定ファイルにaliasを追加するだけ。
alias ls='/usr/local/bin/gnuls --color=auto'
FreeBSDは、シェルは初めはsh,csh,tcshしかはいっていない。
自分はbashに慣れているので、portsでインストールして使いやすいようにカスタマイズした。
portsで行う。
# cd /usr/ports/shells/bash # make install clean # cd ../bash-completion # make install clean
まず、ログインシェルを変更する。
chpassでログインシェルを/usr/local/bin/bashに変更する。
※以前の環境で組んだシェルスクリプトを使用する際などに面倒にならないように、
# ln -s /usr/local/bin/bash /bin/bash
した場合でも、/usr/local/bin/bashを指定する。もしくは、/etc/shells を書き換える。でないとエラーが出る。
次に、ホームディレクトリへ設定ファイルを配置する。
まず始めに書くのは、.bash_profile。
これには、とりあえず次に書く.bashrcの内容を読み込むだけの記述をしておく。
source .bashrc
.bashrcの中身はこんな感じにした。
set -o vi ulimit -c 0 if [ -f /usr/local/etc/bash_completion ]; then . /usr/local/etc/bash_completion fi export LANG=ja_JP.UTF-8 export LC_ALL=ja_JP.UTF-8 alias ..='cd ..' alias ll='ls -lh' alias mv='mv -i' alias cp='cp -i' alias rm='rm -i' alias ports='cd /usr/ports'
あとは色を付けたら大分見やすくなりそう。
部屋の模様替えをきっかけに、サーバーのOSをUbuntuからFreeBSDへ変更することにした。
構築中はWikiに書き込んだり出来ないので、メンテナンス中に使用しているXREAサーバーにWordPressをインストールして臨時の鯖構築日記にすることにした。
LinuxからBSD系へ初めての移行なので、分からないことがあったりしたらどんどん書いていくつもり。