当社はIT技術のオンライン教育を得意としたセミナー専門会社です。 | 一戸英男

ITエンジニアの技術力UPをお約束します。

IPレンジでブロック By iptables

IPレンジでブロック By iptables


IPアドレスのレンジでブロックしたいときのやり方。

よくあるのはネットワークブロックだけどレンジでやる場合は次のような書式で書けばよい。アメリカのAshburnから謎の通信が大量にアクセスあったので
xmyipで調査してiptablesでブロック。テレコム見るとアマゾン配下のユーザっぽいけどね。botかな。

タグ: , , ,

iptables:User-AgentでブロックしたいときやURLでブロックしたい場合の処方箋


時々、煩いUser-Agnetがあったりするとそれがアクセスの統計を不要に増やしたり、セキュリテイアタックなのでは?と思うことがあります。アクセスログを調べて、時々メンテナンスすることは大切。

iptablesで実はブロックすることはできます。HTTPヘッダにある情報ならば基本フィルタリングは可能です。つまりURLなんかも、HTTPのコマンドも(GET,PUT等)制御できます。許可ならばACCEPT、拒否ならDROPすると良いです。

– -stringはトラップするキーワードを設定します。注意していただきたいのはコンテンツボディのトラップはできないということです。

iptables -Lでルールが適切に追加されたのを確認できたらルールの保存をお忘れなく。

タグ: , , , ,

備忘録:Linux Firewall(iptablesの典型的パターン集)


CentOS7からiptablesからfirewalldにデフォルトfirewallが変わっていますが、実際のところFirewalldの中身はiptablesなので操作体系が変わっただけなんだけどね。個人的には長く使ってきたiptablesが好きなので相変わらずCentOS7の導入後はiptablesに切り替えています。それに今までの蓄積してきたスクリプトなども活用できるのでiptablesでいいんじゃないと思っています。ルールを記述するにも毎度忘れてしまうためメモとして残します。

Firewalldからiptablesへ切り替え

デフォルトポリシー

iptablesのルール保存

iptablesのルールフラッシュ

iptablesの行番号表示

iptablesの行番号削除

iptablesの行番号挿入

特定のIPアドレス拒否

特定のネットワークブロック拒否

特定のネットワークのみSSH許可

全てのSSH許可

マルチプルプロトコル許可

単一プロトコル許可

ループバックアドレスの許可

MySQLサーバの許可

DoS攻撃のブロック

外部からのPing許可

SSL WEBサーバのロードバランシング

強制的なSYNパケットチェック

XMASパケットチェック

NULLパケットのDROP

IPスプーフィングのDROP

スプーフィングを停止する雛形シェルスクリプトダウンロード

カーネルのおすすめ設定変更

/etc/sysctl.confへ書き込んでsysctl -pを実行

タグ: , ,

DoS攻撃激減。 python3.5でiptablesの国内IPのみの接続ルールを生成&適用。


pythonでiptables向けにAPNICが管理しているIP割当ブロック情報から国内IPアドレスの最新情報を集め、自動で追加するプログラムを昨年の夏頃作ったのですが、pythonの環境やライブラリーバージョンが現状と合わなくなってきたので再度作りなおししました。python3.5で動作しました。追加したルールが保存されるように「service iptables save」を実行してください。(Redhat6.x,CentOS6.x系 CentOS7でもiptablesに切り替えで使えます)

2018/6/2 SCRIPTコードを改定しました。

実行する。

非常にデータが大きいため処理に時間がかかります。実行後はiptablesのルールを保存しましょう。

再度ルールを実行したい場合は全ルールを破棄します。iptablesを-Fオプションで実行すると全クリアになります。

タグ: , , , ,

SSHGURDをCentOS6.xで使う


SSH接続のブルートフォースアタックは、どのサイトでも当たり前に攻撃されている。概ね複雑なパスワードだと無理なので放置しても無害と思ってたが、それは意外にも連続して多数のサイトから攻撃されることもあり、ゆっくりコマンド投入してセッションホールドを長くして負荷を与えていることがわかった。解決策としてもう古いソフトだがsshguardを導入する。



この導入するシステムは、OSはCentOS6.xを想定している。Gitやソースでsshguardの導入ができるのだが最新のものやちょっと過去のものだとCentOSで動かない事がわかった。

このバージョンなら間違いなく動作します。

–prefixで指定しなければデフォルトで/usr/local/sbin配下にインストールされる。

必須ではないが使い勝手が良いsyslog-ngを入れて調整しよう。

以下実行して「service iptables save」で保存すると/etc/sysconfig/iptablesにルール設定が保存され次回からの起動は何もしなくてもよい。

最下行付近のChain sshguard (1 references)

のエントリ以下がブロックを自動で行ってくれた実績だ。順調にブロックが効いている。次にsyslog-ngを編集してログを吐くようにしましょう

初回起動でエラーが出ますが気にしないでOK。afsql moduleを使用していないならば。

タグ: , ,