ここでは、本番環境へ設置する前にファイアウォールのアクセスポリシーを確認したい場合など、手元の環境でお金をかけずにサーバを構築する方法について説明しています。
僕はLinuxよりもFreeBSDひいきなので、以下の説明は全てFreeBSD(4.X)を使った場合の内容になっています。ディストリビューションの内容やソフトウェアの管理方法はOSによって異なりますが、サーバの設定方法はあまり変わらないと思いますので、適当に読み替えてください。
なお、以下の構築方法はセキュリティを全く考慮しておらず、とりあえず各プロトコルの知識がなくてもテスト用のサーバを構築できるようにすることを目的としています。
実環境に構築する場合は、
といった点に考慮して構築してください。
1. | まず、PortsまたはPackagesで「Apache」をインストールしてください。バージョンは何でも構いません。SSLも対応させたい場合は、「+mod_ssl」と書いてあるパッケージをインストールしてください。 |
2. | 「httpd.conf」という設定ファイルを探してください。 # find / -name httpd.conf /usr/local/etc/apache/httpd.conf |
3. | このファイルをviなどのテキストエディタで開き、「ServerName」という設定部分を探してホスト名を指定してください。 ServerName your.server.name |
4. | 「/etc/hosts」ファイルをviなどのテキストエディタで開き、先ほど設定した「your.server.name」に対するIPアドレスを指定してください。 XXX.XXX.XXX.XXX your.server.name |
5. | 起動スクリプトが置いてあるディレクトリ「/usr/local/etc/rc.d/」に移動し、Apache起動スクリプトに実行権を付けてください。 # cd /usr/local/etc/rc.d/ # mv apache.sh.sample apache.sh # chmod +x apache.sh |
6. | この起動スクリプトを使って、Apacheを起動してください。コンソールに「apache」と表示されてコマンドが終了すればOKです。 # /usr/local/etc/rc.d/apache.sh start |
7. | プロセスの一覧を表示させて、httpdデーモンが起動していることを確認してください。 # ps ax | grep httpd 316 ?? Ss 0:00.17 /usr/local/sbin/httpd -DSSL 317 ?? I 0:00.17 /usr/local/sbin/httpd -DSSL 318 ?? I 0:00.17 /usr/local/sbin/httpd -DSSL 319 ?? I 0:00.17 /usr/local/sbin/httpd -DSSL 320 ?? I 0:00.17 /usr/local/sbin/httpd -DSSL 321 ?? I 0:00.00 /usr/local/sbin/httpd -DSSL |
8. | これで作業は終了です。構築したWebサーバにアクセスして、テストページが表示されることを確認してください。 |
1. | まず、PortsまたはPackagesで「Squid」をインストールしてください。バージョンは何でも構いません。 |
2. | 「squid.conf」という設定ファイルを探してください。 # find / -name squid.conf /usr/local/etc/squid/squid.conf |
3. | このファイルをviなどのテキストエディタで開き、「http_port」という設定部分を探してコメントを解除してから、PROXY用ポート番号を指定してください。 http_port 3128 |
4. | 同様に、「acl all src 0.0.0.0/0.0.0.0」という設定部分を探し、その直下に以下の行を入力してください。
acl all src 0.0.0.0/0.0.0.0 acl all-dst dst 0.0.0.0/0.0.0.0 |
5. | 同様に、「# http_access deny all」という設定部分を探し、その直下に以下の行を入力してください。 # http_access deny all http_access allow all http_access allow all-dst |
6. | 以下のコマンドを実行してください。 # squid -z |
7. | 起動スクリプトを使って、Squidを起動してください。コンソールに「squid」と表示されてコマンドが終了すればOKです。 # /usr/local/etc/rc.d/squid.sh start |
8. | プロセスの一覧を表示させて、squidデーモンが起動していることを確認してください。 # ps ax | grep squid 736 ?? Is 0:00.17 /usr/local/sbin/squid -D 738 ?? R 0:00.00 (squid) -D (squid) |
9. | これで作業は終了です。構築したPROXYサーバを経由して、任意のWEBページが表示されることを確認してください。 |
1. | ftpデーモンは最初からディストリビューションに含まれていますが、起動していません。まず、「/etc/inetd.conf」という設定ファイルをviなどのエディタで開いてください。 |
2. | 以下のようにFTPに関する設定部分があると思いますので(ない場合は入力してください)、先頭の「#」を消してコメント解除し、保存してください。 #ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l |
3. | 「/etc/ftpusers」という設定ファイルをviなどのエディタで開き、以下の行をコメントアウトしてから保存してください。 #root |
4. | 以下のコマンドを実行し、inetdデーモンを再起動してください。 # killall -HUP inetd |
5. | プロセスの一覧を表示させて、inetdデーモンが起動していることを確認してください。 # ps ax | grep inetd 74 ?? Is 0:00.17 /usr/sbin/inetd -wW |
6. | これで作業は終了です。構築したFTPサーバからファイルを取得できることを確認してください。 |
1. | まず、PortsまたはPackagesで「bsdftpd-ssl」をインストールしてください。バージョンは何でも構いません。 |
2. | 「/etc/inetd.conf」という設定ファイルをviなどのエディタで開くと、以下のようにFTPに関する設定部分があると思います(ない場合は入力してください)。先頭の「#」を消してコメント解除し、デーモンのパスをインストールしたものに書き換え、保存してください。 #ftp stream tcp nowait root /usr/local/libexec/ftpd ftpd -l |
3. | SSL用の適当な証明書を作成する必要があります。まず、以下のディレクトリに移動して「certs」というディレクトリを作成してください。 # cd /etc/ssl/ # mkdir certs # cd certs |
4. | 自己署名証明書作成用のスクリプトがありますので、適当な情報を入力して証明書を生成し、指定の場所に移動してください。 # /usr/local/share/doc/bsdftpd-ssl/cert/cert-dummy.sh Making self-signed certificate and RSA Private Key ============================== Generating a 1024 bit RSA private key ....................................++++++ ........................................++++++ writing new private key to 'cert-dummy.pem' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:JP State or Province Name (full name) [Some-State]:Somewhere Locality Name (eg, city) []:Some-City Organization Name (eg, company) [Internet Widgits Pty Ltd]:SomeCorp Organizational Unit Name (eg, section) []:SomeDep Common Name (eg, YOUR name) []:Myname Email Address []:someone@somewhere.com # mv cert-dummy.pem certs/ftpd.pem |
4. | 「/etc/ftpusers」という設定ファイルをviなどのエディタで開き、以下の行をコメントアウトしてから保存してください。 #root |
4. | 以下のコマンドを実行し、inetdデーモンを再起動してください。 # killall -HUP inetd |
5. | プロセスの一覧を表示させて、inetdデーモンが起動していることを確認してください。 # ps ax | grep inetd 74 ?? Is 0:00.17 /usr/sbin/inetd -wW |
6. | これで作業は終了です。FTPSクライアントを使用し、構築したFTPSサーバからファイルを取得できることを確認してください。 |
1. | telnetデーモンは最初からディストリビューションに含まれていますが、起動していません。まず、「/etc/inetd.conf」という設定ファイルをviなどのエディタで開いてください。 |
2. | 以下のようにTELNETに関する設定部分があると思いますので(ない場合は入力してください)、先頭の「#」を消してコメント解除し、保存してください。 #telnet stream tcp nowait root /usr/libexec/telnetd telnetd |
3. | 「/etc/ttys」という設定ファイルをviなどのエディタで開き、以下の行に文字を追加してから保存してください。 ttyp0 none network on secure |
4. | 以下のコマンドを実行し、inetdデーモンを再起動してください。 # killall -HUP inetd |
5. | プロセスの一覧を表示させて、inetdデーモンが起動していることを確認してください。 # ps ax | grep inetd 74 ?? Is 0:00.17 /usr/sbin/inetd -wW |
6. | これで作業は終了です。構築したTELNETサーバにログインできることを確認してください。 |
1. | rshdデーモンは最初からディストリビューションに含まれていますが、起動していません。まず、「/etc/inetd.conf」という設定ファイルをviなどのエディタで開いてください。 |
2. | 以下のようにRSHに関する設定部分があると思いますので(ない場合は入力してください)、先頭の「#」を消してコメント解除し、保存してください。 #shell stream tcp nowait root /usr/libexec/rshd rshd |
3. | リモートからコマンドを実行させるローカルユーザのホームディレクトリで「.rhosts」というファイルを作成し、リモート端末のホスト名(またはIPアドレス)とユーザ名を指定してください。 192.168.1.250 admin01 192.168.1.251 admin02 |
4. | 以下のコマンドを実行し、inetdデーモンを再起動してください。 # killall -HUP inetd |
5. | プロセスの一覧を表示させて、inetdデーモンが起動していることを確認してください。 # ps ax | grep inetd 74 ?? Is 0:00.17 /usr/sbin/inetd -wW |
6. | これで作業は終了です。指定したリモート端末のユーザで、構築したサーバにコマンドを発行できることを確認してください。 |
1. | まず、PortsまたはPackagesで「openldap-client」と「openldap-server」をインストールしてください。LDAPv3に対応していれば、バージョンは何でも構いません。 |
2. | 「/usr/local/etc/openldap/」に移動し、「slapd.conf」ファイルを適当にバックアップしてください。 # cd /usr/local/etc/openldap/ # cp slapd.conf slapd.conf.orig |
3. | 「slapd.conf」ファイルをviなどのエディタで開き、サンプルの行をマネしてドメインツリーの情報を入力してください。 database bdb suffix "dc=somewhere,dc=co,dc=jp" rootdn "cn=Manager,dc=somewhere,dc=co,dc=jp" rootpw secret directory /var/db/openldap-data require none allow bind_v2 |
4. | 以下のコマンドを実行して、ユーザ用パスワードのハッシュ値を計算してください。 # slappasswd -h \{MD5\} -s secret {MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ== |
5. | 以下の内容を、適当なテキストファイルで保存してください。「userPassword」の部分に、生成したハッシュ値を当てはめてください。 dn: dc=somewhere,dc=co,dc=jp objectclass: dcObject objectclass: organization o: Somewhere dc: somewhere dn: cn=Manager,dc=somewhere,dc=co,dc=jp objectclass: organizationalRole cn: Manager dn: ou=users,dc=somewhere,dc=co,dc=jp objectclass: organizationalUnit ou: users dn: ou=groups,dc=somewhere,dc=co,dc=jp objectclass: organizationalUnit ou: groups dn: cn=users01,ou=groups,dc=somewhere,dc=co,dc=jp objectclass: posixGroup cn: users01 gidNumber: 2000 dn: uid=user011,ou=users,dc=somewhere,dc=co,dc=jp objectclass: inetOrgPerson objectclass: posixAccount uid: user011 userPassword: {MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ== uidNumber: 11 gidNumber: 2000 sn: Someone cn: User011 homeDirectory: /home/user011 |
6. | 以下のコマンドを実行して、エントリを登録してください。 # ldapadd -x -D "cn=Manager,dc=somewhere,dc=co,dc=jp" -W -f somewhere.ldif Enter LDAP Password: secret adding new entry "cn=Manager,dc=somewhere,dc=co,dc=jp" adding new entry "dc=somewhere,dc=co,dc=jp" adding new entry "cn=Manager,dc=somewhere,dc=co,dc=jp" adding new entry "ou=users,dc=somewhere,dc=co,dc=jp" adding new entry "ou=groups,dc=somewhere,dc=co,dc=jp" adding new entry "uid=user011,ou=users,dc=somewhere,dc=co,dc=jp" |
7. | 起動スクリプトを使って、slapdを起動してください。コンソールに「Starting slapd.」と表示されてコマンドが終了すればOKです。 # /usr/local/etc/rc.d/slapd.sh start |
8. | プロセスの一覧を表示させて、slapdデーモンが起動していることを確認してください。 # ps ax | grep slapd 228 ?? Ss 0:00.02 /usr/local/libexec/slapd -u ldap -g ldap |
9. | これで作業は終了です。「uid=user011,ou=users,dc=somewhere,dc=co,dc=jp」というDNに対してツリーが閲覧できたり、「secret」というパスワードで認証できることを確認してください。 |
1. | まず、PortsまたはPackagesで「OpenSSL」をインストールしてください。バージョンは何でも構いません。 |
2. | 適当な場所に、認証局構築用のディレクトリを作成してください。 # mkdir CA |
3. | 「CA.sh」というスクリプトを探し、ディレクトリの中にコピーしてください。 # find / -name CA.sh /usr/local/openssl/misc/CA.sh # cp /usr/local/openssl/misc/CA.sh ./CA/ |
4. | 「openssl.cnf」という設定ファイルのサンプルを探し、ディレクトリの中にコピーしてください。 # find / -name openssl.cnf\* /usr/local/openssl/openssl.cnf.sample # cp /usr/local/openssl/openssl.cnf.sample ./CA/openssl.cnf |
5. | コピーした「openssl.cnf」をviなどのテキストエディタで開き、以下の部分を変更してください。 #policy = policy_match policy = policy_anything |
6. | コピーした「CA.sh」をviなどのテキストエディタで開き、以下の部分を変更してください。日数の部分は、環境に合わせて適宜変更してください。 #DAYS="-days 365" # 1 year DAYS="-days 730" #CADAYS="-days 1095" # 3 years CADAYS="-days 7300" #REQ="$OPENSSL req $SSLEAY_CONFIG" REQ="$OPENSSL req $SSLEAY_CONFIG -config ./openssl.cnf" #CA="$OPENSSL ca $SSLEAY_CONFIG" CA="$OPENSSL ca $SSLEAY_CONFIG -config ./openssl.cnf" #VERIFY="$OPENSSL verify" VERIFY="$OPENSSL verify -config ./openssl.cnf" #X509="$OPENSSL x509" X509="$OPENSSL x509 -config ./openssl.cnf" |
7. | 「CA.sh」を実行し、証明書の内容やパスフレーズを入力してください。 # ./CA.sh -newca CA certificate filename (or enter to create) Making CA certificate ... Generating a 1024 bit RSA private key ...............++++++ .............................++++++ writing new private key to './demoCA/private/./cakey.pem' Enter PEM pass phrase:******** Verifying - Enter PEM pass phrase:******** ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:JP State or Province Name (full name) [Some-State]:Some-State Locality Name (eg, city) []:Some-City Organization Name (eg, company) [Internet Widgits Pty Ltd]:Some-Company Organizational Unit Name (eg, section) []:Somewhere Common Name (eg, YOUR name) []:Someone Email Address []:someone@somewhere.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using configuration from ./openssl.cnf Enter pass phrase for ./demoCA/private/./cakey.pem:******** Check that the request matches the signature Signature ok Certificate Details: Serial Number: 0 (0x0) Validity Not Before: Nov 17 02:32:33 2006 GMT Not After : Nov 12 02:32:33 2026 GMT Subject: countryName = JP stateOrProvinceName = Some-State localityName = Some-City organizationName = Some-Company organizationalUnitName = Somewhere commonName = Someone emailAddress = someone@somewhere.com X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: 0E:D2:EF:C3:51:50:2F:36:8A:6C:6B:D5:5C:9D:C5:9B:03:38:3E:8E X509v3 Authority Key Identifier: keyid:0E:D2:EF:C3:51:50:2F:36:8A:6C:6B:D5:5C:9D:C5:9B:03:38:3E:8E Certificate is to be certified until Nov 12 02:32:33 2026 GMT (7300 days) Write out database with 1 new entries Data Base Updated |
8. | これで作業は終了です。ユーザから取得した証明書発行要求(CSR)をベースに証明書を発行してみてください。 # ./CA.sh -newreq Generating a 1024 bit RSA private key .........++++++ ........++++++ writing new private key to 'newkey.pem' Enter PEM pass phrase:******** Verifying - Enter PEM pass phrase:******** ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:JP State or Province Name (full name) [Some-State]:Some-State Locality Name (eg, city) []:Some-City Organization Name (eg, company) [Internet Widgits Pty Ltd]:Some-Company Organizational Unit Name (eg, section) []:Somewhere Common Name (eg, YOUR name) []:Someone01 Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Request is in newreq.pem, private key is in newkey.pem #./CA.sh -sign Using configuration from ./openssl.cnf Enter pass phrase for ./demoCA/private/cakey.pem:******** Check that the request matches the signature Signature ok Certificate Details: Serial Number: 1 (0x1) Validity Not Before: Nov 17 03:10:59 2006 GMT Not After : Nov 17 03:10:59 2007 GMT Subject: countryName = JP stateOrProvinceName = Some-State organizationName = Some-Company organizationalUnitName = Somewhere commonName = Someone01 X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: 1A:69:E2:76:D4:27:CD:E4:4F:E7:7B:5A:AF:1E:0F:5E:A1:66:64:4C X509v3 Authority Key Identifier: keyid:0E:D2:EF:C3:51:50:2F:36:8A:6C:6B:D5:5C:9D:C5:9B:03:38:3E:8E Certificate is to be certified until Nov 17 03:10:59 2007 GMT (365 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=JP, ST=Some-State, L=Some-City, O=Some-Company, OU=Somewhere, CN=Someone/emailAddress=someone@somewhere.com Validity Not Before: Nov 17 03:10:59 2006 GMT Not After : Nov 17 03:10:59 2007 GMT Subject: C=JP, ST=Some-State, O=Some-Company, OU=Somewhere, CN=Someone01 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c2:14:bc:9d:65:a6:50:23:72:55:1c:e4:33:2e: e1:41:73:2b:fe:5a:6b:92:dd:34:ea:eb:6f:c4:97: 25:c1:aa:49:a5:ca:b3:0a:25:f1:4a:68:01:3e:8f: c6:de:81:7b:61:45:b0:4f:6c:f8:5e:db:c5:ef:97: a1:5b:74:f2:ba:36:99:28:be:f6:cc:b3:ab:24:d8: a0:0b:6b:f5:85:85:f1:4b:37:b7:91:16:68:23:79: 3f:7f:f2:8f:3e:eb:59:d0:1f:f5:e5:a2:ef:e1:fe: 1d:23:14:09:33:04:ee:02:50:5a:69:66:d9:cd:90: 27:df:9d:a4:2f:20:05:97:25 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: 1A:69:E2:76:D4:27:CD:E4:4F:E7:7B:5A:AF:1E:0F:5E:A1:66:64:4C X509v3 Authority Key Identifier: keyid:0E:D2:EF:C3:51:50:2F:36:8A:6C:6B:D5:5C:9D:C5:9B:03:38:3E:8E Signature Algorithm: sha1WithRSAEncryption 82:3c:06:ed:91:91:0f:51:4e:e1:d7:83:d4:75:c4:cf:5e:16: 57:2b:79:4e:10:b3:0d:0c:ed:16:39:b9:d5:b8:3e:5c:1c:5c: 1e:86:f1:2d:74:fd:72:a3:0b:e6:96:00:08:2c:86:e0:7e:40: 33:87:0a:19:17:aa:74:67:8e:18:07:cf:67:8a:38:c9:e8:81: b8:0d:8c:10:68:33:30:f8:fe:0c:6d:a5:97:3d:8c:cf:48:8a: 72:81:2b:38:d4:37:b9:fe:a1:7f:80:86:c0:8c:7d:de:6a:c2: 5a:6b:69:9e:41:0b:02:77:23:2c:6e:7f:0b:17:ba:43:0d:12: 47:14 -----BEGIN CERTIFICATE----- MIIC7DCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBmTELMAkGA1UEBhMCSlAx EzARBgNVBAgTClNvbWUtU3RhdGUxEjAQBgNVBAcTCVNvbWUtQ2l0eTEVMBMGA1UE ChMMU29tZS1Db21wYW55MRIwEAYDVQQLEwlTb21ld2hlcmUxEDAOBgNVBAMTB1Nv bWVvbmUxJDAiBgkqhkiG9w0BCQEWFXNvbWVvbmVAc29tZXdoZXJlLmNvbTAeFw0w NjExMTcwMzEwNTlaFw0wNzExMTcwMzEwNTlaMGExCzAJBgNVBAYTAkpQMRMwEQYD VQQIEwpTb21lLVN0YXRlMRUwEwYDVQQKEwxTb21lLUNvbXBhbnkxEjAQBgNVBAsT CVNvbWV3aGVyZTESMBAGA1UEAxMJU29tZW9uZTAxMIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQDCFLydZaZQI3JVHOQzLuFBcyv+WmuS3TTq62/ElyXBqkmlyrMK JfFKaAE+j8begXthRbBPbPhe28Xvl6FbdPK6NpkovvbMs6sk2KALa/WFhfFLN7eR FmgjeT9/8o8+61nQH/Xlou/h/h0jFAkzBO4CUFppZtnNkCffnaQvIAWXJQIDAQAB o3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRl ZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUGmnidtQnzeRP53tarx4PXqFmZEwwHwYD VR0jBBgwFoAUDtLvw1FQLzaKbGvVXJ3FmwM4Po4wDQYJKoZIhvcNAQEFBQADgYEA gjwG7ZGRD1FO4deD1HXEz14WVyt5ThCzDQztFjm51bg+XBxcHobxLXT9cqML5pYA CCyG4H5AM4cKGReqdGeOGAfPZ4o4yeiBuA2MEGgzMPj+DG2llz2Mz0iKcoErONQ3 uf6hf4CGwIx93mrCWmtpnkELAncjLG5/Cxe6Qw0SRxQ= -----END CERTIFICATE----- Signed certificate is in newcert.pem |
1. | まず、PortsまたはPackagesで「freeradius」をインストールしてください。バージョンは何でも構いません。 |
2. | 「/usr/local/etc/raddb/」に移動し、「clients」「users」ファイルをコピーしてください。 # cd /usr/local/etc/raddb/ # cp clients.sample clients # cp users.sample users |
3. | 「clients」ファイルをviなどのエディタで開き、サンプルの行をマネしてRADIUSクライアントのIPアドレスとシークレットキーを入力してください。 XXX.XXX.XXX.XXX your-secret |
4. | 「users」ファイルをviなどのエディタで開き、先頭に以下の行を追加してください。 testuser Auth-Type := Local, Password = "testpass" Service-Type = Framed-User |
5. | 起動スクリプトを使って、freeradiusを起動してください。コンソールに「radiusd」と表示されてコマンドが終了すればOKです。 # /usr/local/etc/rc.d/radiusd.sh start |
6. | プロセスの一覧を表示させて、radiusdデーモンが起動していることを確認してください。 # ps ax | grep radiusd 470 ?? Is 0:00.17 /usr/local/bin/radiusd -y 471 ?? I 0:00.00 /usr/local/bin/radiusd -y |
7. | これで作業は終了です。構築したRADIUSサーバにアクセスして、ユーザ認証が成功することを確認してください。 |
1. | まず、PortsまたはPackagesで「tac_plus」をインストールしてください。バージョンは何でも構いません。 |
2. | 「/usr/local/etc/」に移動し、「tac_plus.conf」ファイルをコピーしてください。 # cd /usr/local/etc/ # cp tac_plus.conf.sample tac_plus.conf |
3. | 「tac_plus.conf」ファイルをviなどのエディタで開き、先頭に以下の行を追加してください。 user=testuser { name = "Test User" login = cleartext testpass } |
4. | 起動スクリプトを使って、tac_plusを起動してください。コンソールに「tac_plus」と表示されてコマンドが終了すればOKです。 # /usr/local/etc/rc.d/tac_plus.sh start |
5. | プロセスの一覧を表示させて、tac_plusデーモンが起動していることを確認してください。 # ps ax | grep tac_plus 427 ?? I 0:00.17 /usr/local/sbin/tac_plus -C /usr/local/etc/tac_plus.conf |
6. | これで作業は終了です。構築したTACACSサーバにCisco機器からアクセスして、ユーザ認証が成功することを確認してください。 |
1. | まず、PortsまたはPackagesで「isc-dhcp3-server」をインストールしてください。バージョンは何でも構いません。 |
2. | 「/usr/local/etc/」に移動し、「dhcpd.conf」ファイルをコピーしてください。 # cd /usr/local/etc/ # cp dhcpd.conf.sample dhcpd.conf |
3. | 「dhcpd.conf」ファイルをviなどのエディタで開き、先頭に以下の行を追加してください。各設定値は、適当な値に読み替えてください。 ddns-update-style none; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.199; option domain-name-servers 192.168.1.200, 192.168.1.201; option domain-name "somewhere.local"; option netbios-name-servers 192.168.1.200, 192.168.1.201; option routers 192.168.1.254; option broadcast-address 192.168.1.255; default-lease-time 600; max-lease-time 7200; } |
4. | クライアント用のデータベースファイルを生成してください。 # touch /var/db/dhcpd.leases |
5. | 「/etc/rc.conf」ファイルをviなどのエディタで開き、以下の行を追加してください。インターフェース名は、適当な値に読み替えてください。 dhcpd_enable="YES" dhcpd_conf=/usr/local/etc/dhcpd.conf dhcpd_ifaces="fxp0" |
6. | 設定を追加したら再起動し、再度ログインしてください。 |
7. | プロセスの一覧を表示させて、dhcpdデーモンが起動していることを確認してください。 # ps ax | grep dhcpd 231 ?? Is 0:00.06 /usr/local/sbin/dhcpd -cf /usr/local/etc/dhcpd.conf fxp0 |
8. | これで作業は終了です。同一ネットワークにDHCPクライアントを接続して、IPアドレスその他の情報を取得できることを確認してください。 |
1. | ntpdデーモンは最初からディストリビューションに含まれていますが、起動していません。まず、「/etc/rc.conf」という設定ファイルをviなどのエディタで開いてください。 |
2. | 以下の行を追加し、保存してください。 xntpd_enable="YES" |
3. | 「/etc/ntp.conf」という設定ファイルを、以下の内容で作成してください。 server 127.127.1.0 fudge 127.127.1.1 stratum 2 driftfile /etc/drift |
4. | 以下のコマンドを実行し、ntpdデーモンを起動してください。 # /usr/sbin/ntpd |
5. | プロセスの一覧を表示させて、ntpdデーモンが起動していることを確認してください。 # ps ax | grep ntpd 601 ?? Ss 0:00.17 ntpd |
6. | これで作業は終了です。構築したNTPサーバを使って時刻同期できることを確認してください(同期できるようになるまでに、しばらく時間が掛かることがあります)。 |
1. | syslogdデーモンは最初からディストリビューションに含まれていますが、デフォルトのままではリモートから受信したログを受け付けません。まず、「/etc/rc.conf」という設定ファイルをviなどのエディタで開いてください。 |
2. | 以下の行を追加し、保存してください。各オプションについては、syslogdのマニュアルを参照してください。 syslogd_flags="-cnvv" |
3. | 「/etc/syslog.conf」という設定ファイルを、受信するログに合わせて適切に設定してください。 local7.* /var/log/router.log |
4. | 設定を追加したら再起動し、再度ログインしてください。 |
5. | プロセスの一覧を表示させて、syslogdデーモンが指定したオプションで起動していることを確認してください。 # ps ax | grep syslogd 85 ?? Ss 0:00.76 /usr/sbin/syslogd -cnvv |
6. | これで作業は終了です。他のネットワーク機器などからSYSLOGを転送し、指定した出力先にログが出力されることを確認してください。 |
1. | まず、PortsまたはPackagesで「PopTop」をインストールしてください。バージョンは何でも構いません。 |
2. | 設定ファイルのサンプルがありますので、ファイル名を変更してください。 # cp /usr/local/etc/pptpd.conf.sample /usr/local/etc/pptpd.conf |
3. | 設定ファイルをviなどのエディタで開き、以下の行でコメント/コメントアウトしてから保存してください。 noipparam #logwtmp |
4. | 「/etc/ppp/options.pptpd」という設定ファイルを作成し、以下の内容を入力してください。 lock debug name pptp auth require-chap proxyarp -chap -chapms +chapms-v2 mppe-128 mppe-stateless |
5. | 「/etc/ppp/ppp.conf」という設定ファイルの中に、以下の内容を入力してください。 「ifaddr」の部分は、ゲートウェイのIPアドレスやプールIPアドレスを適当に入力してください。 pptp: set dial set login set ifaddr 172.31.255.254 172.31.255.100 172.31.255.199 set mppe 128 enable mschapv2 enable mppe enable proxy |
6. | 「/etc/ppp/ppp.secret」という設定ファイルの中に、ユーザ名とパスワードを入力してください。 hogehoge piyopiyo |
7. | 「/etc/rc.conf」ファイルをviなどのエディタで開き、以下の行を追加してください。 pptpd_enable="YES" |
8. | 起動スクリプトに実行権限を付けて、pptpdを起動してください。コンソールに「Starting pptpd.」と表示されてコマンドが終了すればOKです。 # chmod +x /usr/local/etc/rc.d/pptpd.sh # /usr/local/etc/rc.d/pptpd.sh start |
9. | プロセスの一覧を表示させて、pptpdデーモンが起動していることを確認してください。 # ps ax | grep pptpd 578 ?? Is 0:00.00 /usr/local/sbin/pptpd |
10. | これで作業は終了です。WindowsのPPTPクライアントなどを使用して、リモート接続できることを確認してください。 |
1. | pppoedデーモンは最初からディストリビューションに含まれていますが、起動していません。まず、「/etc/ppp/」というディレクトリに移動してください。 # cd /etc/ppp/ |
2. | 「ppp.conf」ファイルをコピーしてください。 # cp ppp.conf ppp.conf.orig |
3. | 「ppp.conf」ファイルをviなどのエディタで開き、以下の内容に修正してください。インターフェース名とDNSサーバは、適当な値に読み替えてください。 pppoe-in: set device PPPoE:fxp0 allow mode direct set mru 1454 set mtu 1454 set speed sync enable lqr pap chap accept dns accept nbns set dns 1.1.1.1 1.1.1.2 accept chap accept pap |
4. | ユーザ用のアカウントファイル「ppp.secret」を作成し、ユーザ名とパスワード、割り当てるIPアドレスを指定してください。 guest00@somewhere.co.jp guest00 2.2.2.1 guest01@somewhere.co.jp guest01 2.2.2.2 |
5. | 「/etc/rc.conf」ファイルをviなどのエディタで開き、以下の行を追加してください。インターフェース名は、適当な値に読み替えてください。 pppoed_enable="YES" pppoed_interface="fxp0" pppoed_flags="-l pppoe-in" |
6. | 設定を追加したら再起動し、再度ログインしてください。 |
7. | プロセスの一覧を表示させて、pppoedデーモンが起動していることを確認してください。 # ps ax | grep pppoed 93 ?? Is 0:00.01 /usr/libexec/pppoed -l pppoe-in -p * fxp0 |
8. | これで作業は終了です。設定ファイル内で指定したインターフェースにPPPoEクライアントを接続して、PPPoEで接続できることを確認してください。 |
ネットワークセキュリティ関係者の部屋 > sERVER