[memo] iptablesが使えないのでkernel再構築 & sshdへのアタックをどうにかする

はてなブックマーク - [memo] iptablesが使えないのでkernel再構築 & sshdへのアタックをどうにかする

なんつーかね、某krからのsshdへのBrute force attacksが酷すぎる。auth.logを埋め尽くすほどのアタックを食らったので対策することに。だが普通にインストールするとiptablesが動いてくれないので、カーネル再構築に挑戦する。

別に今回はkernelのバージョンを上げたいわけではなく、単純にカーネルのオプションを変えたいだけなので、emerge gentoo-sourcesはやらない。以下、rootになって作業を行う。あとmenuconfigはscreenの中でやると表示が乱れて酷いことになるので、screenをデタッチするなり抜けるなりしてからやったほうがいい。

cd /usr/src/linux
make menuconfig

Confgurationが立ち上がったら、まずLoad an Alternate Configuration Fileを選ぶ。”.config”が入力されているはずなので、そのままOKすると現在の設定が読み込まれる。そしたら

Networking  --->
  Networking options  ---> 
    Network packet filtering (replaces ipchains)  --->
      Core Netfilter Configuration  --->
         Netfilter Xtables support (required for ip_tables)

を選択。その下に色々あるが、よくわからないならMにしといてあとでModuleとして読めるようにしておくと吉。必要なのに何もチェックしないでおくと、再度カーネル再構築が必要になって面倒なので。チェックしたら1つ戻ってIP: Netfilter Configurationの中に入る。とりあえず必須なのはIP tables support (required for filtering/masq/NAT)と、IP range match support、Packet filtering、REJECT target support、address type match support、Full NAT、MASQUERADE target supportとかそのへん。終わったらTOPまで戻って、念のため設定ファイルをなんか名前付けて保存しておいたほうがいい。

あとはその辺のサイトに書いてあるとおり、お約束でOK。

make && make modules_install
cp arch/x86_64/boot/bzImage /boot/なんか適当な名前
vi /boot/grub/grub.conf

grub.confの設定では、元々書いてあるものを絶対に消さないこと。消しちゃうと万が一再構築したカーネルで起動できなかったときに面倒。

[sourecode lang=“text”] title=Gentoo Linux 2.6.17-r8 root (hd0,0) kernel /さっきbootの下にcpしたファイル名 root=/dev/sda3 vga=ask


とかで問題なし。vga=askの部分はまぁお好みで。/usr/src/linux/Documentation/fb/vesafb.txtとかを参考に。基本的にはこれでrebootして、上のtitleでつけた名前を選択して起動してやればとりあえずOKなはずだ。失敗したら残しておいた方で起動して修正すべし。消してしまったお馬鹿さんはinstall cdから起動して/dev/sda1とかをmountして編集すれば戻せる。あとvgaとかvideoのオプションは、間違うと画面に何も表示されなくなるので注意。まぁリモート操作がメインならそれでもいいのかも知れないけど、何かあったときにアレなんで…心配ならaskにしておいて選択するのが間違いない。

そこまで出来たらDebian GNU/Linux 3.1(sarge)運用ノートの<a href="http://www.musicae.ath.cx/diary/?200506c&to=200506272#200506272" target="_blank">SSH Brute force attacks</a>の通りに設定してから

```bash
/etc/init.d/iptables save
/etc/init.d/iptables start
rc-update add iptables default

以上で終了。エラーが出てiptablesが動かない場合は必要なモジュールが選択漏れでコンパイルされていないとか、Mを選択したのにmodprobeなりinsmodしてない。てか俺もこの手順にたどり着くまで5回くらい再構築してこんな時間に…もう寝る!


comments powered by Disqus