FedoraCore2でiptablesを使い、特定のポートを閉じる方法を教えてください。


具体的にはmysqlサービスを止めず、
3306ポートだけ閉じようと考えています。

tcp/ipパケットでのmysqlへのアクセスだけはじき、unix内部での通信でのみmysqlにアクセスできるようにしたいです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/04/12 10:13:07
  • 終了:--

回答(2件)

id:typista No.1

typista回答回数359ベストアンサー獲得回数72005/04/12 10:57:10

ポイント25pt

サーバ内部のみのアクセスを許可するのであれば、mysqldの起動オプションでも可能です。

どうしてもiptablesを使いたいということであれば、上記URLで、

「STEP01 IPchainsの停止」→「STEP02 IPtablesの基本ポリシーを設定」→ ・・・

を順番に見ていってください。

セキュリティ的には、全ポートを閉じた状態(デフォルト)から、必要なポートのみを開けていくのが良いです。

ので、kunitz さんの環境でweb、smtp、popサーバ等を外部公開しているのであれば、それらを開けます。(3306を閉じるというよりは、開けないということですね)


プライベートネットワークからのアクセスが必要であれば、

「Webmin(10000ポート) /同一ネットワーク内からの接続を許可」

を参考に、10000ポート→3306ポートと読み替えてください。

→ これはMySQLサーバとApache(ほかにはTomcatなど)が別サーバとして本格的に分散している場合です。同一サーバだけであればmysqldの起動オプションだけでも充分かと。

id:kunitz

ありがとうございます!

my.cnf の[mysqld] セクション内に

skip-networking

2005/04/12 11:01:52
id:nomocho No.2

nomocho回答回数6ベストアンサー獲得回数02005/04/12 21:04:31

ポイント25pt

要点のみに絞りますが

・基本的に全てのインバウンドパケットを受け付け

# iptables -P INPUT ACCEPT

・TCPのポート3306宛のパケットをドロップ

# iptables -A INPUT -p tcp --dport 3306 -j DROP

上記2つのコマンドで期待している効果が得られると思います。

再起動時にこのルールがきちんと定義されるよう、保存しておいて下さい。

id:kunitz

ありがとうございます!

おぉ

2005/04/12 21:21:41

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

  • 3306ポートをとじる いまサーバを借りてCatalystとMySQLをいれていろいろ遊んでいるのだけれど、MySQLのポートってどうなってるんだろうと思い立って確かめてみた。 # netstat -a tcp 0 0 *:mysql *:* LI
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません