Last Update 2005.06.01 

  •  Fedora Core 3による自宅サーバー構築(CUIベース)
    •  ソフトウエア編(インストール)
      • 私見ですが完璧なセキュリティ設定は存在しないんじゃないか?と思っています。
        ウイルスの定義ファイルが日々更新されるように、ハッカーなどの悪意のある人達も新しい攻撃方法を探しています。
        その攻撃のネタのひとつでもある見つかっていないソフトウエアの脆弱な部分も沢山あるでしょう。
        日々、他のサイトも参考にするなど最新の情報にアンテナを高くして対策を実施して下さい。
        なお、この構築の記録は我が家の環境での記録であり、皆さんの環境で全く同様に再現できる保証はありません。
        留意願います(無保証です)

      •  Microsoft Windows Networkサーバー(samba)のインストールと設定
        •  Sambaのインストール -2005年01月08日
          wizd(Linux上で動作するMediaWiz用サーバソフト)用のコンテンツ(Mpeg1/2やMP3
          ,Jpeg)を私や家族がWindowsから更新し易くする為にSambaをインストールします。
          更新したコンテンツをAVeL LinkPlayerで再生させ、いつでもリビングのテレビで
          映画を見たり音楽を聴いたり家族旅行の写真を見れるようにします。
          [root@station ~]# yum -y install samba
          Setting up Install Process
          Setting up Repo:  crash-hat
          repomd.xml                100% |=========================|  951 B    00:00
          Setting up Repo:  base
          repomd.xml                100% |=========================| 1.1 kB    00:00
          Setting up Repo:  updates-released
          repomd.xml                100% |=========================|  951 B    00:00
          Reading repository metadata in from local files
          crash-hat : ################################################## 65/65
          base      : ################################################## 2622/2622
          primary.xml.gz            100% |=========================| 180 kB    00:00
          MD Read   : ################################################## 408/408
          updates-re: ################################################## 408/408
          Resolving Dependencies
          --> Populating transaction set with selected packages. Please wait.
          ---> Downloading header for samba to pack into transaction set.
          samba-3.0.10-1.fc3.i386.r 100% |=========================|  97 kB    00:00
          ---> Package samba.i386 0:3.0.10-1.fc3 set to be installed
          --> Running transaction check
          --> Processing Dependency: samba-common= 0:3.0.10 for package: samba
          --> Restarting Dependency Resolution with new changes.
          --> Populating transaction set with selected packages. Please wait.
          ---> Downloading header for samba-common to pack into transaction set.
          samba-common-3.0.10-1.fc3 100% |=========================|  34 kB    00:00
          ---> Package samba-common.i386 0:3.0.10-1.fc3 set to be installed
          --> Running transaction check
          
          Dependencies Resolved
          Transaction Listing:
            Install: samba.i386 0:3.0.10-1.fc3
          
          Performing the following to resolve dependencies:
            Install: samba-common.i386 0:3.0.10-1.fc3
          Downloading Packages:
          samba-3.0.10-1.fc3.i386.r 100% |=========================|  13 MB    00:16
          samba-common-3.0.10-1.fc3 100% |=========================| 5.1 MB    00:06
          Running Transaction Test
          Finished Transaction Test
          Transaction Test Succeeded
          Running Transaction
          Installing: samba-common 100 % done 1/2
          Installing: samba 100 % done 2/2
          
          Installed: samba.i386 0:3.0.10-1.fc3
          Dependency Installed: samba-common.i386 0:3.0.10-1.fc3
          Complete!
          [root@station ~]#
          

           「yum」がダウンロードした残骸を消します -2005年01月08日
          「yum」がダウンロードしたファイルがディスクに溜まっているので消します。
          [root@station ~]# yum clean packages
          Cleaning up Packages
          2 packages removed
          [root@station ~]#
          
          すっきり♪

           設定ファイルの変更 -2005年01月08日
          ポリシーとしては家族の誰でも編集可能なwizd用の共有フォルダ「smbshare」を
          1つと各個人用にwizdとは無関係なフォルダを1つ使えるようにします。
          各個人のフォルダはユーザーのホームにフォルダ「smbhome」を作成し、そのフォ
          ルダ内を使う仕様とします。 これによりシステムが使うメールフォルダや各種
          設定ファイルを誤って消してしまう事を回避出来ると思います。
          [root@station ~]# vi /etc/samba/smb.conf
          
          17〜18行目
          # workgroup = NT-Domain-Name or Workgroup-Name
             workgroup = MYGROUP
           
          # workgroup = NT-Domain-Name or Workgroup-Name
             workgroup = MSHOME ← Windowsのワークグループ名を指定
          
          28行目
          ;   hosts allow = 192.168.1. 192.168.2. 127.
           
             hosts allow = 192.168.1. 127. ← 「192.168.1.」を家のネットワークに合わせる
          
          51行目
          #   log file = /var/log/samba/smbd.log
           
             log file = /var/log/samba/smbd.log
          
          54行目
              max log size = 50
           
              max log size = 0 ← ログの尻切れ対策(2005.05.24)
          
          79〜81行目
          ;  unix password sync = Yes
          ;  passwd program = /usr/bin/passwd %u
          ;  passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
           
            unix password sync = Yes
            passwd program = /usr/bin/passwd %u
            passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
          
          179〜181行目
          ;  case sensitive = no
          
          #============================ Share Definitions ==============================
           
          
          ;  case sensitive = no
          
          dos charset = CP932 ← 追加(Windows側日本語漢字コード)
          unix charset = EUC-JP ← 追加
          unix charset = eucJP-ms ← クライアント機(Windows)との相性を考慮(優先)し変更(2005.06.01)
          display charset = EUC-JP ← 追加
          display charset = CP932 ← クライアント機(Windows)との相性を考慮(優先)し変更(2005.06.01)
          netbios name = WIZD ← 追加(コンピュータ名「station」をWindowsのネットワーク上で「WIZD」と名乗らせる時)
          
          #============================ Share Definitions ==============================
          
          182〜185行目(上で5行追加しているので実際は+5行)
          [homes]
             comment = Home Directories
             browseable = no
             writable = yes
           
          ;[homes]
          ;   comment = Home Directories
          ;   browseable = no
          ;   writable = yes
          
          最終行に追加
          [%U]
             comment = %U Home Directory
             path = /home/%U/smbhome
             writeable = yes
             browseable = yes
             force user = %U
          
          [%G]
             comment = %G Group Directory
             path = /home/%G
             writeable = yes
             browseable = yes
             force group = %G
             create mask = 0660
             directory mode = 0770
          

           共有フォルダの設定 -2005年01月08日
          家族用共有のためのグループを作成します。
          [root@station ~]# groupadd smbshare
          [root@station ~]#
          

          家族用共有のためのファルダを作成し、権限などを与えます。
          [root@station ~]# mkdir /home/smbshare
          [root@station ~]# chown root:smbshare /home/smbshare
          [root@station ~]# chmod 770 /home/smbshare
          [root@station ~]#
          

          ユーザー追加時に各個人のフォルダがユーザーのホームに作成されるよう設定し
          ます。
          [root@station ~]# mkdir /etc/skel/smbhome
          [root@station ~]# chmod 700 /etc/skel/smbhome
          [root@station ~]#
          

           Sambaサービスの起動と設定 -2005年01月08日
          [root@station ~]# /etc/init.d/smb start ← Sambaサービス起動
          SMB サービスを起動中:                                      [  OK  ]
          NMB サービスを起動中:                                      [  OK  ]
          [root@station ~]# chkconfig smb on ← Sambaサービス自動起動設定
          [root@station ~]# chkconfig --list smb ← 設定の確認
          smb             0:off   1:off   2:on    3:on    4:on    5:on    6:off ← run level 2〜5の「on」を確認
          [root@station ~]#
          

           ユーザーの登録 -2005年01月08日
          各個人ユーザーをグループ「smbshare」で登録します。
          [root@station ~]# useradd -g smbshare user1 ← 「user1」は任意の名前で
          [root@station ~]# passwd user1 ← 「user1」のパスワード設定
          Changing password for user user1.
          New UNIX password: ← パスワード入力(表示はされない)
          Retype new UNIX password: ← 同じパスワードを再入力
          passwd: all authentication tokens updated successfully.
          [root@station ~]#
          

          Samba側でもユーザー登録します。
          [root@station ~]# pdbedit -a user1 ← 「user1」は上記設定と同じ名前で
          new password: ← passwdと同じパスワードを入力(表示はされない)
          retype new password: ← 同じパスワードを再入力
          Unix username:        user1
          NT username:
          Account Flags:        [U          ]
          User SID:             S-1-5-21-309628356-488392932-1424420336-2002
          Primary Group SID:    S-1-5-21-309628356-488392932-1424420336-2003
          Full Name:
          Home Directory:       \\wizd\user1
          HomeDir Drive:
          Logon Script:
          Profile Path:         \\wizd\user1\profile
          Domain:               WIZD
          Account desc:
          Workstations:
          Munged dial:
          Logon time:           0
          Logoff time:          土, 14 12月 1901 05:45:51 GMT
          Kickoff time:         土, 14 12月 1901 05:45:51 GMT
          Password last set:    日, 26 12月 2004 17:22:31 GMT
          Password can change:  日, 26 12月 2004 17:22:31 GMT
          Password must change: 土, 14 12月 1901 05:45:51 GMT
          Last bad password   : 0
          Bad password count  : 0
          Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
          [root@station ~]#
          
          ※2つの作業を使う家族の人数だけ名前を変えて繰り返します。

           設定の反映 -2005年01月08日
          [root@station ~]# /etc/init.d/smb restart
          SMB サービスを停止中:                                      [  OK  ]
          NMB サービスを停止中:                                      [  OK  ]
          SMB サービスを起動中:                                      [  OK  ]
          NMB サービスを起動中:                                      [  OK  ]
          [root@station ~]#
          

           使ってみる -2005年01月08日
          「マイネットワーク」をクリックして「wizd」をクリックすると「ユーザー名」
          と「パスワード」を聞いて来ます。 登録したユーザーで共有が見えるはずです。

          「マイネットワーク」に「wizd」が見えなかったら以下のように検索して下さい。




        Create DATE : 2005.01.08
        ログサイズがローテーション前に50KBを超えると別名で保存されてしまい尻切れになる事への対応 : 2005.05.24
        クライアント機(Windows)との相性を考慮(優先)し文字コードを変更 : 2005.06.01


      • 以上、ftpなどでウイルスを拾って来てしまうなど内部から外部へのアクセスを前提としたセキュリティを意識しています。
        サーバーPCを直接操作してローカル環境での使用を前提としています。


      • 以下、外部から内部(家サーバー)へアクセスが発生します。
        ルーターに穴あけの設定も必要となります。 外部からの不正アクセスを十分意識して作業を進めて下さい。