タグ

iptablesに関するkuni92のブックマーク (24)

  • コピペから脱出!iptablesの仕組みを理解して環境に合わせた設定をしよう

    Linuxのファイアウォール「iptables」について入門から実践まで解説 数回に分けてLinuxのファイアウォール「iptables(アイピーテーブルズ)」について解説します。 ネット上に有益な設定が溢れているので、あまり理解しないままコピーペーストで運用している方も多いはず。 しかしそれでは実際に攻撃された際に対処できません。 そこでこのページでは、初めてファイアーウォールについて学ぶ方でも理解できるように、全体像と細かな設定の意味について解説します。 目次 ファイアーウォールの種類 NATについて パケットフィルタリングの概要と書式 テーブルについて チェインについて オプションについて パラメータについて 拡張パラメータについて iptablesの記述順序とルールの適用順について ポリシーについて ファイアーウォールの種類 ファイアウォールと聞いて、まず何を思い浮かべるでしょうか

    コピペから脱出!iptablesの仕組みを理解して環境に合わせた設定をしよう
  • iptablesの設定ファイルをシェルスクリプトを利用して動的に作成

    Ping of Death攻撃と対策 Ping of Death(ピング オブ デス〈PoD〉)攻撃とは、サイズの大きなPingを受け取るとサーバが停止するというバグを利用した攻撃です。Pingとはサーバの動作を確認する際に利用されます。 最新のディストリビューションでは対策が取られており、実害が出ることは稀ですが、攻撃する意図を持ったIPを特定するという意味でログファイルへ記録します。 今回は設定以上のサイズを持つPingを拒否することで対策を取ります。通常pingのサイズはWindowsであれば32バイトで、linuxであれば56バイトです。 実際にはICMPのヘッダ(8バイト)やTCPのヘッダー(20バイト)が付くので、84バイトになります。そこで85バイト以上のPingを破棄します。 この辺から複雑になってきますが、1つ1つの要素に分解すると簡単です。 # Ping攻撃対策 ipt

    iptablesの設定ファイルをシェルスクリプトを利用して動的に作成
  • 【iptables】パケットフィルタリングを設定する

    iptables(8) パケットフィルタリングを設定する 構文 iptables [サブコマンド] [パラメータ] サブコマンド

    【iptables】パケットフィルタリングを設定する
  • heartbleedをiptablesで止めることについて - yasulib memo

    前書き OpenSSLの脆弱性(CVE-2014-0160)が公開されました。 詳細はpiyokangoさんの素晴らしいまとめを参照してください。 OpenSSLの脆弱性(CVE-2014-0160)関連の情報をまとめてみた - piyolog エフセキュアブログにて、トーマツの岩井さんが書いた興味深い記事がありました。 エフセキュアブログ : Openssl Heartbleed 攻撃の検知について #根的な対策ではなく、あくまで攻撃検知という意味で。 iptables log rules iptables -t filter -A INPUT -p tcp --dport 443 -m u32 --u32 "52=0x18030000:0x1803FFFF" -j LOG --log-prefix "BLOCKED: HEARTBEAT" iptables block rules i

    heartbleedをiptablesで止めることについて - yasulib memo
  • 転送中

  • あなたの大量配信サーバip_conntrack 溢れていませんか? | ブログ | 株式会社イー・エージェンシー

    ip_conntrackを設定する理由 パケットフィルタリングツールであるiptablesは、パケットを解析するときにip_conntrackというファイルにトラッキング情報を記録します。 ip_conntrackには、最大トラッキング数があり、それをオーバーすると新規セッションを弾いてしまって、ネットワークパフォーマンスの劣化を招きます。 /var/log/messageにこのようなメッセージが出ていたら、ip_conntrackが溢れている状態です。 大量のトラフィックを捌くロードバランサーやキャッシュなどの目的を持ったLinuxマシンで、iptablesを使っているときには、ip_conntrackの最大トラッキング数を忘れずに設定しておきましょう。 ここでは、手元のマシンCentOS 5と6で設定をしていきます。 検証環境 CentOS 6.3(64bit) CentOS 5.8(

    あなたの大量配信サーバip_conntrack 溢れていませんか? | ブログ | 株式会社イー・エージェンシー
  • iptablesのリスタート時にモジュールをアンロードさせない方法

    最近のlinuxカーネルではデフォルトで、 iptablesリスタートするとiptablesモジュールがいったんunloadされる。 このとき、TCP接続元ホストやそのホストでwindow scale optionが有効になっている場合、 (1) windowサイズを正しく認識できなくなる (2) 張られているTCPセッションがESTABLISHED ⇒ INVALIDとなる (3) TCPセッションが切られる アプリによっては再接続等で問題がわからないかもしれない。 しかし、TCPセッションが切れることで問題が発生するアプリも存在するだろう。 そのため、iptablesモジュールをunloadしない設定にしておくかどうかを検討する必要がある。 ● 確認 ① window scale option の確認 # cat /proc/sys/net/ipv4/tcp_window_scalin

  • 俺史上最強のiptablesをさらす - Qiita

    #!/bin/bash ########################################################### # このスクリプトの特徴 # # 受信・通過については基的に破棄し、ホワイトリストで許可するものを指定する。 # 送信については基的に許可する。ただし、サーバが踏み台になり外部のサーバに迷惑をかける可能性があるので、 # 心配な場合は、送信も受信同様に基破棄・ホワイトリストで許可するように書き換えると良い。 ########################################################### ########################################################### # 用語の統一 # わかりやすさのためルールとコメントの用語を以下に統一する # ACCEPT :

    俺史上最強のiptablesをさらす - Qiita
  • RHEL 6 – ip_conntrack: table full, dropping packet | oSupport

    kuni92
    kuni92 2012/06/28
    redhat6
  • iptables で日本以外のアクセスを全部拒否する: Usoinfo blog

    今日たまたまサーバの様子をmuninで見たら、普段は見かけないCPU usageが出ていたので、どうしたんだろうと思って調べると、sshdが余計に動いている。不審に思ってnetstatしてみると、.cnからのsshブルートフォース攻撃を受けていた。来、JPのアドレスから以外のアクセスはiptablesで叩き落としていたのだが、先日いろいろカーネルをいじっていた時にiptablesの設定を変更して、そのJPフィルターを外したままにしてしまっていたのである。反省しきり。 と、いうのは経験談として、日以外のアクセスを全部拒否する、である。やりたいことは、RIRから日に割り当てられているアドレスだけをリストアップして、iptablesでACCEPTし、該当しないものはDROPへ落とす、ということである。 割り当て済みIPアドレスのリストはAPNICが配布している(http://ftp.apn

  • ip_conntrack_maxの限界に挑む - ひげろぐ

    つい先日管理しているメモリ2GBのウェブサーバーのip_contrack_maxを50万にしてみた。 # echo '500000' > /proc/sys/net/ipv4/netfilter/ip_conntrack_max 不意な事情でアクセスがバーストしてしまい、他に手もなかったのでやむなくの緊急処置として。 結果事態は無事収束。あやういところじゃった。 経過 事態が起きた当初のip_conntrack_maxはデフォルトの65535だったのだが、怒濤のごときアクセスにたちまち上限まで攻め立てられたので10万にして、それでも焼け石に水だったのでダメ元で50万にしてみたという。 ダメ元というのはip_conntrack_maxの上限値がメモリ64MBごとに4096って情報があったので無理かと思っていたため。 でもなんだか普通にいけた。 この情報はもう古いってことかな。 ちなみに15万

  • fail2banでブルートフォース対策 « SawanoBlog.

    以前のものでiptablesのipt_recentをつかって、2行のコマンドでsshのアタックを防ごうという記事があるのだけど、とあるサーバで適用できなかったので別手段を。 (ほぼ)共同で借りているVPSレンサバがあるんだが、OpenVZかVirtuozzoかのコンテナらしくてiptablesのモジュールが自由にできないのがある。 そこではipt_recentをつかうとエラーになってしまい、前述の簡単ブルートフォース対策が使えないのだ。 仕方ないので fail2ban を使うことに。 pythonで動く、アクセス制限操作用のプログラムだ。 ちなみに導入先はCentOS5.4。 fail2banのインストール 開発元のサイトから最新のStableを落とそう、記事の時点では0.8.4だった。 http://www.fail2ban.org/wiki/index.php/Main_

  • 接続元の IP アドレスをラウンドロビン的に変更する方法 | Carpe Diem

    とあるサーバから、あるサーバに接続したとき、あるサーバに残るアクセスログの接続元 IP アドレスをラウンドロビン的に変更することが必要になったので調査してみた。そうすると、iptables を使うとできるというまさにぴったりの記事を発見した。 さっそく、CentOS で試してみると、iptables の libipt_statistic モジュールがないというエラーになってしまった。次に RedHat のページを調べていると、Bug 215361 – iptables is missing /lib/iptables/libipt_statistic.so というまさにぴったりな情報が見つかった。その情報では、iptables バージョン 1.3.6 から追加されたとあったので、さっそく netfilter iptables バージョン 1.3.6 のページの変更点を調べてみると、たしかに

  • natテーブルを利用したLinuxルータの作成

    はじめに 今回は、iptablesのnatテーブル(関連記事)を使ったNATおよびNAPT機能を解説します。こうした機能を使えばパケットのIPアドレス情報を書き換えることができます。つまりiptablesを駆使すれば、市販されているブロードバンドルータと同等、またはそれ以上のルータを作り上げることができるのです。 関連リンク →Linuxで作るファイアウォール[パケットフィルタリング設定編] http://www.atmarkit.co.jp/flinux/rensai/security05/security05a.html →連載記事 「習うより慣れろ! iptablesテンプレート集」 http://www.atmarkit.co.jp/flinux/index/indexfiles/iptablesindex.html →連載記事 「習うより慣れろ! iptablesテンプレート集

    natテーブルを利用したLinuxルータの作成
  • iptablesのownerモジュールでクローラを安全に運用する話 - kazuhoのメモ置き場

    RSSリーダーとかブックマークサービスとかアクセス統計サービスとかを作っていると、クローラの運用は必須。クローラは保護したいから、当然DMZに設置する。でもクローラがDMZ内にある他のホストにアクセスできちゃうとまずいわけで。 で、クローラからのアクセス先を制限する方法として、自分はいままで、squid なのでプロキシを立てて、クローラは必ずプロキシを使うように設定し、かつ、プロキシの設定で DMZ 内へのアクセスを弾くようにしていた。でも DNS Pinning 系の攻撃とかも考えて設定するのは面倒なわけで。 もっと楽な方法がないのかなと irc で聞いたら、id:hirose31 さんが iptables の owner モジュールでできるよ、と教えてくれた。ありがとうございます。 たとえばクローラを uid:crawler で動かすなら、 # sbin/iptables -A OUT

    iptablesのownerモジュールでクローラを安全に運用する話 - kazuhoのメモ置き場
  • tcpdumpとiptablesの関係 - (ひ)メモ

    追記 2009-04-03 まったくもってブコメでいただいた指摘の通りです>< h2onda linux, tcpdump tcpdump(というかlibpcap)は、データリンク層(OSI layer2)レベルでパケットを取得する packet プロトコルを使ってるので、そうなります。参照: man packet(7) 2009/04/02 はてなブックマーク - h2ondaのブックマーク / 2009年4月2日 tt_clown network 細かいけど,図は逆(NIC が下)のが良いかなと思った./ "ip"tables と言う位だから,IP層でパケットをフィルタしてるて事だろうな.tcpdumpはEthernet Frameも見えるので,後は分かるな?・・・てとこか. 2009/04/02 はてなブックマーク - tt_clownのブックマーク / 2009年4月2日 pack

    tcpdumpとiptablesの関係 - (ひ)メモ
  • distance | Take measures to brute force attack

  • 韓国 IP アドレスからのパケットを遮断する

    韓国(.kr)・中国(.cn)・台湾(.tw)・香港(.hk)等,アジア地域からのアクセスを フィルタリングするための iptables を用いたシェルスクリプトです。もちろん Linux 専用です。 APNIC の IP アドレス割り当てリスト に掲載されている上記の国と地域のネットワークからの TCP 接続を遮断します。 ただし,自分から上記の国と地域のネットワークへ接続することはできます。 FreeBSD をお使いでしたら,水無川研究所さんの ipfwとBINDによるNaverRobot対策フィルタ が参考になると思います(というか知ってる人ですが……)。 日の IP 領域にアクセスしてくるワームは,おおかた上記の国と地域からのものです。特に韓国からがひどいといえます。 また,韓国には,悪名高い NaverRobot ように DoS まがいのアクセスを仕掛けてくる自称サ

  • ファイアーウォール用のルール(東アジアフィルター)

    北朝鮮(Democratic People's Republic of Korea)のアドレス範囲について 正直に申し上げますと、現在の所、北朝鮮のアドレス範囲は公式には存在しないようです。 あの国のカントリードメインはKPなのですが、今のところKPに割り当てられたアドレスはありません。 将来的には割り当てられる可能性がありますので、割り当てられた場合は速やかに対応させていただきます。 使い方の一例: OpenBSD pfでここのFWルールを使いたい場合は? 参考程度にしてください。 まずは以下の要領でhttp://www.dayomon.net/fw/iprange.txtをダウンロードします。 wget http://www.dayomon.net/fw/iprange.txt (wgetが無い人はfetch等でも可。) これを/etcにでも置いてください。 あとは、/

  • junoのへたれサーバ管理日記: iptablesのログをとる

    ふとiptablesのログが気になって仕方なくなってしまった。 Firewallなのだから、単純にフィルタするだけでなく、ログくらいとっておこうと思う。 ipspoofing対策やICMP RedirectをDropすることをちゃんと実装しているBLOGも見かけるけど、、、、、偉いなぁ、と思う笑 究めれば奥は深いことがわかった、将来のネタとしてとっておこう^^; まず、ログをとる戦略を考えようっと。 どうもiptablesはsyslogのファシリティ kern でログをだしてくる。 これって、/var/log/messagesに記載されていくわけで、そんなことしたら、何かのときに、messagesを読むのが大変になるじゃないか! iptablesのチュートリアルを読むと、 無用なログがコンソールに直接吐き出されるという現象が見られる場合、それは iptables あるいは Netfilte