• 締切済み

vsftpdで動的IP制限をかけたい

Ubuntuでvsftpdを使っています。 ftpでIP制限を行うには、tcp_wapperの利用を行い、/etc/hosts.denyや/etc/hosts.allowにより設定すると実行できることは確認できております。 ただし、WEBからの許可IPリストを追加するCGIで、ftpのIP制限を行う事をやりたく、vsftpdから見るIP許可設定(/etc/hosts.allow)を別ファイルを参照するようにする事はできないでしょうか? 別の方法で代替ができるということならば、それも含めて情報をいただけると幸いです。 よろしくお願いします。

みんなの回答

  • nolix
  • ベストアンサー率19% (110/572)
回答No.3

回答1の方の言う通りiptablesですね。 syn flag とtcp/21もしくはtcp/1024:65535のallowは、iptablesのロードshellに組み込めば出来ますね。

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

>テーブルの増減を >考えると難しいかなと思っている次第です。 スクリプトでどうにか出来るんじゃないかな…とは思いますが。 許可リスト(あるいは禁止リスト)の追加だけならそう難しくないですな。 削除や編集があるとちょっと面倒かも知れませんが。 「SSHをiptablesで弾く」とかいうのが検索すると見つかると思われますので、 それの応用である程度処理できるかと。 http://bal4u.dip.jp/mt/server/2004/09/iptables.html とか。 この方のスクリプトがその後どうなったかは見ていませんが。 http://www.aconus.com/~oyaji/security/swatch.htm の後半の方に動的追加する方法とか…。

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

>別の方法で代替ができるということならば、それも含めて情報をいただけると幸いです。 iptables…でしょうかね。 拒否したログがvsftpdのログには出なくなりますが。

goroneko-begin
質問者

お礼

ありがとうございます。 私もiptableを考えてみたのですが、テーブルの増減を 考えると難しいかなと思っている次第です。

関連するQ&A

  • 新規ユーザーだとvsftpdにログインできない

    vsftpdをインストール時に既に登録されていた ユーザーはftpに接続できるのですが useradd hogehoge passwd hogehoge のように後からコマンドで登録したユーザーでftpに接続できません。 hosts.allowやdenyの設定はしていません。 ログインしようとすると # ftp 192.168.1.1 # hogehoge # password 331 Please specify the password. 530 Login incorrect. のようでてログインできません。 パスワード要求まできているのでpasswdで設定した パスワードが有効になっていないのかと思って su - hogehoge でログインを試みましたが問題なく入れました。 初歩的な事かもしれませんが宜しくお願いします。 userlist_deny=NOにしてvsftpd.ftpusers に登録しましたがやはり駄目でした。 vsftpd.confの設定は anonymous_enable=NO userlist_deny=NO と変更した以外はデフォルトです。 rpm -e vsftpd rpm -ihv vsftpd・・・で再インストールしましたがそれでも同じでした。

  • ファイアウォールは必要?hosts.allow と hosts.deny だけではダメ?

    ネットで調べたところ、次のことが分かりました。 ●TCP Wrappers (/etc/hosts.{allow,deny} で設定)は inetd または xinetdで制御されていないプロセスへのアクセスをブロックできない。 ●とはいえ、sshd, sendmail は inetd/xinetdで制御されていないものの、/etc/hosts.{allow,deny}を自ら読みに行って、ここで許可されてないアクセスは拒否することができる。 sshd や sendmail も hosts.allow と hosts.deny で守ることができるとすると、Firewall(iptables)は、なぜ必要なのでしょうか?hosts.allow と hosts.deny で守ることができないデーモンがあるのでしょうか?

  • hosts.allowのIPアドレスの記述ついて

    Red Hat Linux9を使用して勉強しています。 SSHを動かしていて、hosts.deny と hosts.allowを使い IPアドレスの接続制限をかけようと思っています。 hosts.denyはALL:ALLにしてあるのでhosts.allowに 接続を許可するIPを記述するのですが、例えば許可する範囲を 「192.168.1.90~192.168.1.99」とする場合は、どうやって 記述すればいいのでしょうか。 まさか1個ずつカンマで区切って記述するということではないですよね。 宜しくお願いします。

  • vsftpd:特定のドメインでアクセスのみ接続

    サーバはDHCP。 ドメインを取得していますが、 同じIPに複数のドメインをひもづけています。 サーバにftp接続の際、複数のドメインの中から 任意のドメインでアクセスしてきた場合のみ、 接続を許可し、他は排他する方法はないでしょうか。 環境は centos5.6 vsftpd: version 2.0.5 /etc/vsftpd/vsftpd.conf (抜粋) anonymous_enable=NO userlist_enable=YES userlist_deny=NO tcp_wrappers=YES

  • htaccess:制限IPのうち特定のIPのみ許可

    .htaccessで、 order allow,deny allow from all deny from deny from 118.243.0.0/16 のようにネットマスクを利用して複数のIPアドレスからのアクセスを制限した上で、そのうち(制限したIPアドレスに含まれるうち)の一つのIPアドレス (例:118.243.126.243)にのみアクセスを許可したい場合、.htaccessに具体的にどのように記述すればよいのでしょうか? どのように記述するか分からないのですが、118.243.126.243をとばした「118.243.0.0から118.243.126.242」と「118.243.126.244から118.243.255.255」を別々に制限すればよいように思います。ただし、記述の仕方が分からないので教えてください。 よろしくお願いします。

  • CentOS6.2でのvsftpdについて

    いつもお世話になります。 WordPressフォーラムと一部マルチポストになっていることはご容赦ください。 CentOS6.2でWordPressを使おうとFTPの設定を始めました。 # yum install vsftpd # yum install ftp ファイアウォールの設定でFTPにチェックを入れました。 /etc/sysconfig/iptables-config に IPTABLES_MODULES="nf_conntrack_ftp" と追加した後で # service iptables restart しました。 /etc/hosts.allow に fvftpd: ALL を追加した後で # service vsftpd start # chkconfig vsftpd on # setsebool -P ftp_home_dir on # service vsftpd restart まで作業しました。 そこでターミナルからFTPを試してみました。 >FTP localhost Trying ::1... ftp: connect to address ::1接続を拒否されました Trying 127.0.0.1... Connected to localhost (127.0.0.1). 220 (vsFTPd 2.2.2) Name(localhost:ユーザ名): ここからユーザ名とパスワードを入力すると普通にFTPが利用できます。  どうも最初の接続を拒否されましたという部分が原因でWordPressのプラグインの扱いに失敗しているようです。  WindowsのFFFTPからつなげると普通に接続できます。 「接続を拒否されました」という部分の解決方法がお分かりでしたら、ぜひご教示ください。

  • VNCへのアクセス制限

    WindowsXP(192.168.1.12)からSuSE Linux(192.168.1.5)に対してVNCでログインしています。 この192.168.1.12以外からはVNCでログインできないようにするために、hosts.allowとhosts.denyを以下のように書き換えました。 ・/etc/hosts.deny ALL : ALL ・/etc/hosts.allow ALL : 192.168.1.12 この状態でWindows(192.168.1.12)からVNCでアクセスすると、エラーメッセージが表示されてログインできません。 The connection closed unexpectedly Do you wish to attempt to reconnect to 192.168.1.5:5901? hosts.allowを以下のように書き換えると、VNCでログインできるようになります。 ・/etc/hosts.allow ALL : ALL 192.168.1.12からだけのアクセスを許可させるには、どのようにすればよいのでしょうか? ■環境 SuSE Linux10.0 WindowsXP SP2 VNC Viewer Free Edition 4.1.1

  • vsftpd でのユーザーに対するパスワードの設定の仕方

    chroot_list_file=/etc/vsftpd.chroot_list として/etc/vsftpd.chroot_list には goo userlist_deny=NO として /etc/vsftpd.user_listには # vsftpd userlist # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file, and # do not even prompt for a password. # Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers # for users that are denied. useradd goo passwd goo とかいていますがgooでログインしてもパスワード がgooでいきませんどこがおかしいのでしょうか? よろしくおねがいします。

  • Sambaセキュリティについて

    smb.confに設定されるhosts allow、hosts denyについての質問です。 手元の資料に、設定においてはhosts allowが優先されるので、hosts denyで拒否が設定されているホストであってもhosts allowで許可されていれば、接続が許可されるとあります。 以下の場合は、グループkeiriにホストsoumuが含まれている場合、soumuからのアクセスは許可されるのでしょうか? hosts allow = @keiri hosts deny = soumu

  • /etc/hosts.allow 及び /etc/hosts.deny について

    /etc/hosts.allow 及び /etc/hosts.deny は Tcp Wrapper のみが参照するファイルなんでしょうか? それとも inetd が参照するファイルなんでしょうか? 素人な質問ですみません。