2010-03-27
proftpdのmod_ifsessionでユーザごとにIP制限 (再挑戦)
以前試したときは複数のIfUserを記述するとうまく動作しなかったとメモったんだけど、記述方法を変えたら正常に動いた。どうもIfUser内のallow fromの書き方が悪かったぽい。bugなんか仕様なんかわかんないけど。
IfUser内のLIMITの設定
複数のアドレスを許可するときに、通常LIMIT内にはコンマで複数書くか、allow from を複数行かくか、どちらでも良い。が、IfUser内で設定する場合はallow from を複数行書くと正常に動作しなかった。以前うまくいかなかったのもこれが原因。
ここにも同じようなtopicが挙がってた。
OKな書き方
<IfUser hoge> <Limit LOGIN> Order allow,deny allow from 192.168.0.0/24, 10.0.0.0/24 deny from all </Limit LOGIN> </IfUser>
NGな書き方
<IfUser hoge> <Limit LOGIN> Order allow,deny allow from 192.168.0.0/24 allow from 10.0.0.0/24 deny from all </Limit LOGIN> </IfUser>
Classによる設定
Classのfromは複数書いても、コンマで繋げても問題ないようだけど。。。。
<Class internal > From 192.168.0.0/24, 127.0.0.1 From 10.0.0.0/24 </Class> <IfUser hoge> <LIMIT LOGIN> AllowClass intenral DenyALl </LIMIT> </IfUser>
別の問題が発生した。
ClassのFrom
複数のClassに同一のnetwork設定を書いてある場合、最初に書いたほうしか有効にならない?この設定で試したら、fugaユーザは10.0.0.0/24からは接続できずに、172.16.0.0/24のみになった。
<Class hogehoge > From 10.0.0.0/24 From 192.168.0.0/24 </Class> <Class fugafuga > From 10.0.0.0/24 ## これがClass hogehogeと重複していて無効になった? From 172.16.0.0/24 </Class> <IfUser hoge> <Limit LOGIN> AllowClass hogehoge DenyALl </Limit> </IfUser> <IfUser fuga > <Limit LOGIN> AllowClass fugafuga DenyALl </Limit> </IfUser>
まとめ
- LIMIT自体はallow fromはコンマで書いても複数行書いても問題ない
- IfUser内のLIMITで許可する場合, allow fromは1行で設定する必要あり
- 複数のnetworkから許可する場合はコンマで接続して書く
- allow fromを複数行で設定するとうまくいかない
- IfUser内でClassを使用する場合は注意が必要
というわけで、userやnetworkが増えると見た目が汚くなりそうだけど、allow fromで設定したほうがよさげ。
トラックバック - http://d.hatena.ne.jp/hogem/20100327/1269783487
リンク元
- 174 http://fragments.g.hatena.ne.jp/hogem/20090523/1243063984
- 126 http://www.google.co.jp/search?q=ユーザ毎 Ip制限 &ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 13 http://www.google.co.jp/url?sa=t&rct=j&q=mod_ifsession&source=web&cd=1&ved=0CB0QFjAA&url=http://d.hatena.ne.jp/hogem/20100327/1269783487&ei=IzmpTviwDMXLmAWmuJyrDw&usg=AFQjCNFCcimQdBTx2EYIkCwkcbcjyJNyPw
- 12 http://delicious.com/kunnpuu/?page=6
- 11 http://www.google.co.jp/search?q=mod_ifsession&ie=utf-8&oe=utf-8&aq=t&hl=ja&client=firefox-a&rlz=1R1GGLL_ja___JP366
- 8 http://search.yahoo.co.jp/search?p=allow+from+茲????&ei=UTF-8&fr=top_ga1&x=wrt
- 8 http://www.google.co.jp/search?hl=ja&lr=lang_ja&tbs=lr:lang_1ja&q=proftpd++mod_ifsession&aq=f&aqi=g1&aql=&oq=&gs_rfai=
- 7 http://www.google.co.jp/search?hl=ja&q=proftpd+ユーザ&sourceid=navclient-ff&rlz=1B3GGGL_jaJP335JP335&ie=UTF-8
- 7 http://www.google.co.jp/url?sa=t&rct=j&q=proftpd mod_ifsession&source=web&cd=2&ved=0CCUQFjAB&url=http://d.hatena.ne.jp/hogem/20100327/1269783487&ei=4n6hTqmgL6jkmAX76ZSVCQ&usg=AFQjCNFCcimQdBTx2EYIkCwkcbcjyJNyPw
- 6 http://www.google.co.jp/search?q=うまい棒&hl=ja&gl=jp&lr=lang_ja&source=zeitgeist&trndrnk=7&trndscr=259&trndutm=4baf53a9


