気ままなつぶやき

おべんきょしたこととか

悶々と CVSのクローズについて考える

gitとかいっといて、cvsまだ閉じてなかったのかとか言わないで。。(・-・)

CVSのクローズにあたって・・・

ちなみにOS古め(年期が感じられるな)

$ cat /etc/issue
CentOS release 4.6 (Final)

移行とか

まあ色々CVSにあるものはsvnやらgitやらに移行しました。

  • 基本はGitHub Enterpriseに。
  • 画像の管理に使ってるのかな的なものはsvnに。

て感じの流れで。

可能な限り臨機応変に。
可能な限りサポート。

CVSの停止

さてはて。移行が一段落おわりました。
CVSクローズ宣言を何度周知したかはわかんないくらいしたけどついにクローズの日を迎えました。

でもチキンだから、実は活かしたまま、みんなアクセスできなくなればいい的な対応をしたかった(・-・)

現状

認証:LDAP
ユーザのアクセス:ext+sshLDAPアカウントを使って操作出来る(各拠点、各データセンターから)
プロジェクトユーザ:ビルドツールとかからは、LDAPとは別に、アカウントがある

作戦

sshのポートをかえる

22以外にする。
ポートスキャンされない限りはばれないのでは。。。

実質何も無効化せずにできる。
その気になれば、ポート戻せば、復活。

でも、実質何もはじいてない辺りが私無理・・。
しかもコワイ。あんまりやりたくない。他の方法がいい(・-・)

iptablesで特定ip以外をはじく

私の管理している特定のサーバからのみアクセスできるようにする
これが一番betterかもって考えた(・-・)

コワいのには変わりないけど(・-・)

$ /sbin/iptables --version
iptables v1.2.11


初期状態は基本的には、すべて受け付けている状態

$ /sbin/iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

特定IPの追加して他を拒否

#IP追加
$ /sbin/iptables -A INPUT -s xxx.xxx.xxx.xxx -j ACCEPT
#他を拒否
$/sbin/iptables -A INPUT -s! xxx.xxx.xxx.xxx -j DROP

ぶっちゃけ他を拒否する段階で!は必要ないかもしれないけど、チキンだったのでやってしまった。

これでいけるじゃーんって思ったけど、これによってLDAPアカウント使えなくなった・・・(・-・)
隠しアカウントでもログインできないジャーンって、サーバ再起動した(・-・)

結局のところ、ローカルユーザでログインできるけどLDAPタイムアウトまで結構待たなきゃ行けないという現象であった。

タイムアウト遅すぎて使えなくなったかと思った(・-・)

LDAP無効化

そんなこんなでiptablesは今回はやりたくないってなった。

NWとかはじかずに、LDAPで認証できなくすればいいじゃん。ってなった。
ビルドツール用のアカウントはログインできないようにだけしておく

事前にLDAPじゃないローカルアカウントを作っておいてログインできることを確認。

#LDAPとLDAP認証無効化
$ authconfig --disableldap --disableldapauth

あとは、不要なローカルユーザの無効化

$/usr/sbin/usermod -s /sbin/nologin hoge

これでひとまず。。。

今日はiptablesのコワさで神経使ったやい

追記

CentOS 6.2でそのまま動かなかった

$cat /etc/issue
CentOS release 6.2 (Final)
$LANG=en_US.UTF-8 authconfig --disableldap --disableldapauth --updateall
nslcd を停止中:                                            [  OK  ]
nscd を起動中:                                             [  OK  ]


#確認
$authconfig --test | grep ldap
nss_ldap is disabled
 LDAP server = "ldap://xxx.xxx.xxx.xxx/,ldap://xxx.xxx.xxx.xxx/"
pam_ldap is disabled
 LDAP server = "ldap://xxx.xxx.xxx.xxx/,ldap://xxx.xxx.xxx.xxx/"
##何もかえってこないはず
$ grep ldap /etc/nsswitch.conf