Archive for the ‘Linux(environment)’ Category

Linuxを再構築

日曜日, 9月 5th, 2010

今まで使用していた、自宅のLinuxサーバ(CentOS使用)の用途が変わったため、OSの再インストールから、各種セキュリティ面の見直しをしました。これはその備忘録ですね。
やり直すと、いつも依然やったことを忘れてしまうので。

1.OSの差異インストール

OSの差異インストールはいつもの通りで、使用したOSはCentOS5.5です。DVDに焼いて、起動して、インストール。この時にやったことは、サーバの各種サービスは一切導入しなかったこと(カスタムインストールで)で、ただし、開発用の各種ツールや環境、管理用のツールのみインストールしました。

2.用途の検討(本来こちらが先ですが)

OSインストールで、サーバ類を一切入れなかったのは、データサーバとしてのみの活用を目的としているからです。以前はWeb(Apache)を入れていましたが、今回は利用する予定が無いので、未インストール。
ただし、データserverとしますので、SSHは入れます。
SSHもOS標準のものではなく、できるだけ新しいものということで「openssh-5.6p1-1」を入れなおしました。
入れなおすに当たり、参考にさせていただいたのは「SSHサーバー構築(OpenSSH) – CentOSで自宅サーバー構築」です。

3.インストールの流れ

OSは表示される画面の指示の通りにインストール。ただし3点ほどオリジナルの設定で。
1つはホスト名、ふつう変えますけれどね。それからIPアドレス。DHCP環境はありますが、IPは固定化しています。自宅内のセグメントの固定用IPで設定。
それから、NTPの設定を変えます。自宅内のADサーバ(Windows2008)でもNTPサービスは動作させていて、自宅内のすべてのPC関係の時刻同期は、必ずADサーバに合わせています。でも、必ず「NICT 独立行政法人 情報通信研究機構」の「ntp.nict.jp」を追加しています。自宅もこの「ntp.nict.jp」を第一の同期先としています。
今でもよく企業で「九州大学」の時計に合わせているということを聞きますが、果たして企業、それもIT企業がそれでいいのかと思いますがね。

4.ユーザー設定

「root」ユーザはインストールでできるので、それ以外のアカウントを今回は2つ用意。1つは自分用で、管理者権限を使えるようにしました。もう一つは、ちょっと社内向けで使う可能性もあるので用意しました。
通常は使う予定はありませんが、自宅にしかない環境やデータ情報を、持ち歩くわけにもいかないので。
今回は、3アカウントだけとしています。
それと、「su」で管理者になれるアカウントを限定しました。「root」のパスワードを知らなければなれないことは当たり前なのですが、必要もないアカウントでの「su」が有効になるのもセキュリティ上の問題もあるので、今回設定を変更し、「su」が使えるユーザを限定しました。
参考にしたサイトは「Linuxユーザのためのチップス: suコマンドの制限」を参考にさせていただきました。

5.その他

「cifs」でWindowsの共有フォルダをマウントしました。前回同様にというよりは、必要な部分をマウントしてという具合でしょうか。ただし、今回は、マウントする際に使用するアカウントを、WindowsのADにも登録し、かつ共有フォルダへのアクセス権もWindows上とLinux上で同様な設定になるようにも調整してみました。

これ以外の設定も多々ありましたが、今回は詳細は省略します。

認証鍵作成手順

日曜日, 11月 22nd, 2009

 先日から再構築していたCetOS5.4でのデータサーバ環境がやっとひと段落です。構築したサーバを再度インストールしなおすというお粗末なことをしてしみましたが、なんとか現在は無事利用再開にまでたどり着きました。

今回の失敗は以下の手順での間違いでしたので参考になれば。

1・ユーザの作成
[root@server ~]#adduser user-name
[root@server ~]#passwd user-name
Changing password for user user-name.
New UNIX password:<-設定したいパスワードを入力
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:<-入力したパスワードを再度入力
passwd: all authentication tokens updated successfully.

2.ユーザの確認

[root@server ~]#ls –l /home
drwx——  3 user-name user-name   4096 11月 22 10:09 user-name
[root@server ~]cat /etc/group | grep user-name
user-name:x:50?:

登録したユーザ用のホームディレクトリとグループの作成状態を確認です。
また処理はすべて「root」でおこなっているので、作成したユーザに一度スイッチ(切り替えます)します。

[root@server ~]#su – user-name
[user-name@Dataserver ~]$ <-このように推知したユーザに慣れればOKでしょうね。

3.鍵の作成(秘密鍵、公開鍵)

鍵の作成はサーバにOpenSSHがインストールされている必要があります。ここではすでにインストールされているということ(必要な環境はそろっている)を条件に話を進めます。

[root@server ~]#su – user-name
—- 鍵の作成(DSA用)—

[user-name@server ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user-name/.ssh/id_dsa):
Created directory ‘/home/user-name/.ssh’. <-デフォルトに作成するので空Enter
Enter passphrase (empty for no passphrase): <-今回は設定しないのでやはり空Enter
Enter same passphrase again:<-ここも同様に空Enter
Your identification has been saved in /home/user-name/.ssh/id_dsa.
Your public key has been saved in /home/user-name/.ssh/id_dsa.pub.
The key fingerprint is:
3b:b4:6b:7b:4c:9e:2b:df:cb:ea:f7:a8:a9:d:93:76 user-name@server.local.local

[user-name@server ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user-name/.ssh/id_rsa):<-デフォルトに作成するので空Enter
Enter passphrase (empty for no passphrase):<-今回は設定しないのでやはり空Enter
Enter same passphrase again:<-ここも同様に空Enter
Your identification has been saved in /home/user-name/.ssh/id_rsa.
Your public key has been saved in /home/user-name/.ssh/id_rsa.pub.
The key fingerprint is:
cc:b3:0d:04:ce:1a:f0:5e:84:3f:62:8a:f9:4b:1a:de user-name@server.local.local
[user-name@server ~]$

これで鍵は作成完了。参考までに

[user-name@server ~]$ ls -al .ssh
合計 48
drwx—— 2 user-name user-name 4096 11月 22 10:18 .
drwx—— 4 user-name user-name 4096 11月 22 10:18 ..
-rw——- 1 user-name user-name  668 11月 22 10:18 id_dsa
-rw-r–r– 1 user-name user-name  627 11月 22 10:18 id_dsa.pub
-rw——- 1 user-name user-name 1675 11月 22 10:18 id_rsa
-rw-r–r– 1 user-name user-name  419 11月 22 10:18 id_rsa.pub

と、できています!

公開鍵を集約する必要があり、私の場合はへそ曲がりで、DSAとRSAを双方設定しているので以下のように集約します。

[user-name@server ~]$ cat .ssh/id_dsa.pub >> .ssh/authorized_keys
[user-name@server ~]$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
[user-name@server ~]$ cat .ssh/authorized_keys
ssh-dss AAAAB3NzaC1kc3MAAACBALBKiENHydpa8qD5Ffr

— 中略 —-

njccjLON8jUnxaYFjP+dPpPOIko2tzUh4yg== user-name@server.local.local
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubufEPr9P8JCattTQv

—- 中略 —-

nShW/OvTyowcqlEBq6jw== user-name@server.ocal.local
二つの鍵を集合させたようなものです。

最後に権限(パーミッション)の変更を行います。

[user-name@server ~]$ chmod 600 .ssh/authorized_keys
[user-name@server ~]$ ls -al .ssh/authorized_keys
-rw——- 1 user-name user-name 1046 11月 22 10:30 .ssh/authorized_keys

これでサーバでの作業は完了です。

その後作成した公開鍵の削除、それから秘密鍵のローカルへの移動とおこないSSHで接続します。

——

前回は公開鍵を作成するときに「id_rsa.pub」で公開鍵を作るのを「id_rsa」のファイルから作成してしまい結局サーバの再インストール後までそのことに気がつきませんでした。やはり確認という作業は重要ですね。