getenforce
コマンドでSELinuxの動作状況を確認できる。返り値は「enforcing」(アクセス制御が有効)「permissive」(警告が出すがアクセス制限機能自体は無効)「disabled」(アクセス制限機能は無効)のいずれか一つ。[3]
【例】 # getenforce Enforcing
sestatus
コマンドでSELinuxの動作状況に関するより詳しい状況を確認できる。
指定したファイルのセキュリティ設定を変更する。
【書式1】 chcon オプション ... 設定内容 ファイル名 ... 【書式2】 chcon オプション ... -u ユーザ -r 役割 -l 範囲 -t タイプ ファイル名 ... 【書式3】 chcon オプション ... --reference=参照ファイル名 ファイル名 ...
引数
オプション
--dereference
-h, --no-dereference
-uユーザ, --user=ユーザ
-r役割, --role=役割
-tタイプ, --type=タイプ
-l範囲, --range=範囲
-R, --recursive
-v, --verbose
-H
-L
-P
--help
--version
【例1】ApacheのDocumentRootの下にサブディレクトリを作る ※そのままでは、403 Permission Denied になって閲覧できない shell> mkdir subdir shell> touch subdir/index.html ←空のファイルを作成 shell> ls -Z subdir/index.html ←-Z オプションは --context を指定したのと同じらしい -rw-r--r-- apache apache user_u:object_r:user_home_t subdir/index.html shell> ls -Z | grep subdir drwxr-xr-x apache apache user_u:object_r:user_home_t subdir shell> chcon -v --type=httpd_sys_content_t subdir context of subdir changed to user_u:object_r:httpd_sys_content_t shell> chcon -v --type=httpd_sys_content_t subdir/index.html context of subdir/index.html changed to user_u:object_r:httpd_sys_content_t shell> ls -Z subdir/index.html -rw-r--r-- apache apache user_u:object_r:httpd_sys_content_t subdir/index.html shell> ls -Z | grep subdir drwxr-xr-x apache apache user_u:object_r:httpd_sys_content_t subdir
参考文献・サイト:
man chcon, info chcon
)
SElinuxの機能を一時的にON/OFFするにはsetenforce
コマンドを使う。この設定はOSを再起動すると元の値に戻る。
一時的に無効(permissive)→引数は「0」または「permissive」 # setenforce 0 # setenforce permissive 一時的に有効(enforcing)→引数は「1」または「enforcing」 # setenforce 1 # setenforce enforcing
但し後述の設定によりSELinuxがdisabledに設定されていると、その旨出力されて終わる。
# setenforce 0 setenforce: SELinux is disabled
OS再起動後も設定を維持するには/etc/selinux/config
を編集し、SELINUX
の値を変更する。この設定はOSを再起動すると反映される。Disabledの状態からPermissiveまたはEnforcingへの変更(またはその逆)はsetenforceコマンドでは実施できない7。
SELINUX=enforcing | permissive | disabled
【書式1】 restorecon -o 出力ファイル名 -R -v -e ディレクトリ パス名 【書式2】 restorecon -f 入力ファイル名 -o 出力ファイル名 -e ディレクトリ名 -R -n -v -F
オプション
-i
-f 入力ファイル名
-e ディレクトリ名
-R, -r
-n
-o 出力ファイル名
-v
-vv
-F
【例1】/var/www 以下のタイプラベルを初期化する。 restorecon -R /var/www
参考文献・サイト:
man restorecon
)【書式】 audit2allow -adhlrv -t TEファイル名 -i 入力ファイル名 -m | -M モジュール名 -o 出力ファイル名
オプション
-a, --all
audit
とmessage
のログ全てを入力ファイルとして読み込む。-i
オプションと同時に設定することはできない。
-d, --dmesg
/bin/dmesg
の出力を入力として読み込む。auditd
が動作している時は全てのauditメッセージをdmesgから受け取ることはできない。その場合はausearch -m avc | audit2allow
または -a
オプションを使うこと。
-f 内容設定ファイル, --fcfile 内容設定ファイル
-M
オプションも使ってモジュール名を指定する必要がある。
-h, --help
-i 入力ファイル, --input 入力ファイル
-l, --lastreload
-m モジュール名, --module モジュール名
-M モジュール名
-o 出力ファイル名, --output 出力ファイル名
-r, --requires
-R, --reference
-t, --tefile
-v, --verbose
【例】auditログに記録された拒否記録からlocal.pp という参照ポリシーマクロモジュールを作成 audit2allow -M local /var/log/audit/audit.log →その後semoduleコマンドでSELinuxポリシーを修正。
【書式】 semodule -hlnsvBR -iubr モジュールパッケージファイル名
【例】local.pp モジュールパッケージをインストールする semodule -i local.pp
ExecShieldは、Linuxにおいてバッファーオーバーフロー対策を行うための機能。設定状況を確認する方法は以下の通り。
$ cat /proc/sys/kernel/exec-shield または $ sysctl kernel.exec-shield
返り値の意味は以下の通り。
値 | 内容 |
---|---|
0 | 無効 |
1 | 原則無効。但し有効指定された実行ファイルについては有効。CentOS 6はこれが初期値のよう。 |
2 | 原則有効。但し無効指定された実行ファイルについては無効。 |
3 | 有効 |
一時的な変更はこのファイルに書かれた値を変更すればいいらしい。恒久的に変更するには設定ファイルに指定を記述する6
# cat /proc/sys/kernel/exec-shield 1 # echo 3 >/proc/sys/kernel/exec-shield # cat /proc/sys/kernel/exec-shield 3 # cat - >>/etc/sysctl.conf kernel.exec-shield = 3 (Ctrl + D)
実行ファイルや共有ライブラリごとにExec Shieldの有効化・無効化を行ったり現在の設定状況を確認したりするにはexecstackコマンドを使う。
【書式】 execstack オプション ファイル名
【例】 # execstack -q /usr/sbin/httpd - /usr/sbin/httpd # execstack -s /usr/sbin/httpd # execstack -q /usr/sbin/httpd X /usr/sbin/httpd # execstack -c /usr/sbin/httpd # execstack -q /usr/sbin/httpd - /usr/sbin/httpd
ダウンロードしたファイルなどの署名を確認する。
自分で署名を作成する方法。自身で作成したrpmパッケージなどに署名する際あらかじめGPGキーを作成しておく必要がある。
【書式】秘密鍵と公開鍵のセットを作る gpg --gen-key
shell> gpg --gen-key gpg (GnuPG) 1.4.5; Copyright (C) 2006 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. gpg: ディレクトリー「/home/user/.gnupg」ができました gpg: 新しい構成ファイル「/home/user/.gnupg/gpg.conf」ができました gpg: 警告: 「/home/user/.gnupg/gpg.conf」のオプションは起動している間、有効になりません gpg: 鍵輪「/home/user/.gnupg/secring.gpg」ができました gpg: 鍵輪「/home/user/.gnupg/pubring.gpg」ができました ご希望の鍵の種類を選択してください: (1) DSAとElgamal (既定) (2) DSA (署名のみ) (5) RSA (署名のみ) 選択は? ←Enterのみ入力で既定の1を選択 DSA keypair will have 1024 bits. ELG-E keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) ←Enterのみ入力で既定の2048を選択 要求された鍵長は2048ビット 鍵の有効期限を指定してください。 0 = 鍵は無期限 <n> = 鍵は n 日間で満了 <n>w = 鍵は n 週間で満了 <n>m = 鍵は n か月間で満了 <n>y = 鍵は n 年間で満了 鍵の有効期間は? (0) ←Enterのみ入力で既定の0(無期限)を選択 Key expires at 2011年01月05日 09時22分48秒 JST これで正しいですか? (y/N) y あなたの鍵を同定するためにユーザーIDが必要です。 このソフトは本名、コメント、電子メール・アドレスから 次の書式でユーザーIDを構成します: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" 本名: Gpg User 電子メール・アドレス: user@hoge.com コメント: foo 次のユーザーIDを選択しました: “Gpg User (foo) <user@hoge.com>” 名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? o 直接この操作を行うUNIXユーザでログインしておかないと、この先のステップに進めない。 つまり、su や sudo により他のユーザから操作しているとここで処理が打ち切られてしまう[4] 秘密鍵を保護するためにパスフレーズがいります。 今から長い乱数を生成します。キーボードを打つとか、マウスを動かす とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で 乱雑さの大きないい乱数を生成しやすくなるので、お勧めいたします。 +++++..++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++.. +++++.++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++>.+ +++++++++................+++++ 十分な長さの乱数が得られません。OSがもっと乱雑さを収集 できるよう、何かしてください! (あと284バイトいります) 別セッションを開いて、ファイルを編集するなどいろいろ操作をする。それなりに時間がかかる。 今から長い乱数を生成します。キーボードを打つとか、マウスを動かす とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で 乱雑さの大きないい乱数を生成しやすくなるので、お勧めいたします。 ++++++++++.++++++++++++++++++++.+++++++++++++++++++++++ ++....+++++++++++++++++++++++++.++++++++++..+++++.+++++ .++++++++++...+++++.+++++.+++++++++++++++++++++++++>+++ ++.+++++>+++++.............................>.+++++>++++ +.<+++++............................................... ......................................................< +++++...............................>+++++>+++++...<+++ ++................<+++++>..+++++.<..+++++>..+++++...... ..+++++^^^ gpg: /home/user/.gnupg/trustdb.gpg: 信用データベースができました gpg: 鍵A1E58E23を絶対的に信用するよう記録しました 公開鍵と秘密鍵を作成し、署名しました。 gpg: 信用データベースの検査 gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル gpg: 深さ: 0 有効性: 1 署名: 0 信用: 0-, 0q, 0n, 0m, 0f, 1u pub 1024D/A1E58E23 2010-01-05 指紋 = 436A 8205 3476 2103 7723 8AFF 0306 C257 A1E5 8E23 uid Gpg User (foo) <user@hoge.com> sub 2048g/95F968B2 2010-01-05
本名、メールアドレスなどを指定した後、次のようなエラーが出て鍵作成が中断されてしまう場合、以下の対策を行えばいいとのこと[7]。CentOS 6でこの現象が起きた。
名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? o You need a Passphrase to protect your secret key. can't connect to `/home/pdbj/.gnupg/S.gpg-agent': No such file or directory gpg-agent[41275]: command get_passphrase failed: Operation cancelled gpg: cancelled by user gpg: Key generation canceled.
あるいはこんな出力(CentOS Stream 8で確認)
名前(N)、電子メール(E)の変更、またはOK(O)か終了(Q)? O たくさんのランダム・バイトの生成が必要です。キーボードを打つ、マウスを動か す、ディスクにアクセスするなどの他の操作を素数生成の間に行うことで、乱数生 成器に十分なエントロピーを供給する機会を与えることができます。 gpg: agent_genkey failed: 許可がありません 鍵の生成に失敗しました: 許可がありません[user@server ~]$ gpg-agent --daemon --use-standard-socket GPG_AGENT_INFO=/home/user/.gnupg/S.gpg-agent:45853:1; export GPG_AGENT_INFO; [user@server ~]$ sudo chmod a+rwx `tty` [user@server ~]$ gpg --gen-key ... gpg: 鍵12345678を絶対的に信用するよう記録しました 公開鍵と秘密鍵を作成し、署名しました。 gpg: 信用データベースの検査 gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル gpg: 深さ: 0 有効性: 3 署名: 0 信用: 0-, 0q, 0n, 0m, 0f, 3u pub 2048R/18273643 2016-10-14 指紋 = 0072 BD91 2A5A 1EF4 4F6B BDB1 2D01 E4D1 84FA 11C3 uid First Family (comment) <test@example.org> sub 2048R/87654321 2016-10-14 [user@server ~]$ sudo chmod 640 `tty`
【書式】 gpg --list-key 【例】 shell> gpg --list-key gpg: 信用データベースの検査 gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル gpg: 深さ: 0 有効性: 1 署名: 0 信用: 0-, 0q, 0n, 0m, 0f, 1u /home/user/.gnupg/pubring.gpg ------------------------------ pub 1024D/1A9496E0 2010-01-22 uid Hoge Fuga (GroupX) <user@hoge.com> sub 2048g/C68285D1 2010-01-22
公開鍵が手元にない場合に必要
【書式】指定した公開鍵ファイルを取り込む gpg --import 公開鍵ファイル名 【書式】指定したキーサーバ、から指定鍵IDのキーを取り込む gpg --keyserver キーサーバードメイン名 --recv-key 鍵ID
【例】Wikimedia の公開鍵リストをダウンロードして取り込む [user@server ~]$ wget https://secure.wikimedia.org/keys.txt [user@server ~]$ gpg --import keys.txt gpg: 鍵E8A3FEC4:“Tim Starling <tstarling@wikimedia.org>”変更なし gpg: 鍵4D70938E:“Brion Vibber <brion@pobox.com>”変更なし gpg: 鍵F9F8CD79:“Tim Starling <tstarling@wikimedia.org>”変更なし gpg: 鍵9D3BB7B0:“Sam Reed <reedy@wikimedia.org>”変更なし gpg: 鍵4D70938E:“Brion Vibber <brion@pobox.com>”変更なし gpg: 鍵9D3BB7B0:“Sam Reed <reedy@wikimedia.org>”変更なし gpg: 鍵62D84F01: 公開鍵“Chris Steipp <csteipp@wikimedia.org>”を読み込みました gpg: 処理数の合計: 7 gpg: 読込み: 1 gpg: 変更なし: 6 【例】キーサーバから指定鍵IDのキーを取り込む [user@server ~]$ gpg --verify openssh_gzsig_key.pub.asc gpg: 2010年04月16日 09時17分18秒 JSTにDSA鍵ID 86FF9C48で施された署名 gpg: 署名を検査できません: 公開鍵が見つかりません [user@server ~]$ gpg --keyserver keys.gnupg.net --recv-keys 86FF9C48 ←上記メッセージ中にあるIDを指定 a ↑キーサーバは特に指定がなければ「keys.gnupg.net」を指定すればいいみたい? gpg: 鍵86FF9C48をhkpからサーバーkeys.gnupg.netに要求 gpg: 鍵86FF9C48: 重複したユーザーIDの検出 - 併合 gpg: /root/.gnupg/trustdb.gpg: 信用データベースができました gpg: 鍵86FF9C48: 公開鍵“Damien Miller (Personal Key) <djm@mindrot.org>”を読み込みました gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル gpg: 深さ: 0 有効性: 1 署名: 0 信用: 0-, 0q, 0n, 0m, 0f, 1u gpg: 処理数の合計: 1 gpg: 読込み: 1 (RSA: 1) [user@server ~]$ gpg --verify openssh_gzsig_key.pub.asc gpg: 2005年05月24日 15時17分05秒 JSTにDSA鍵ID 86FF9C48で施された署名 gpg: “Damien Miller (Personal Key) <djm@mindrot.org>”からの正しい署名 ←今度は検査OK gpg: 警告: この鍵は信用できる署名で証明されていません! gpg: この署名が所有者のものかどうかの検証手段がありません。 主鍵の指紋: 3981 992A 1523 ABA0 79DB FC66 CE8E CB03 86FF 9C48 【例】Gitの現行PHP5.3 Release ManagerのGnuPG鍵を取り込み PHP Downloadサイトに記述された以下の記述に従い公開鍵を取り込む pub 2048R/FC9C83D7 2012-03-18 [expires: 2017-03-17] Key fingerprint = 0A95 E9A0 2654 2D53 835E 3F3A 7DEC 4E69 FC9C 83D7 uid Johannes Schlüter <johannes@schlueters.de> uid Johannes Schlüter <johannes@php.net> $ gpg --recv-key FC9C83D7 gpg: 鍵FC9C83D7をhkpからサーバーkeys.gnupg.netに要求 gpg: 鍵FC9C83D7: 公開鍵“Johannes Schlüter <johannes@schlueters.de>”を読み込みました gpg: 処理数の合計: 1 gpg: 読込み: 1 (RSA: 1)
下記エラーで鍵が取得できない時。
$ gpg --recv-key 2527436A gpg: requesting key 2527436A from hkp server keys.gnupg.net gpgkeys: HTTP fetch error 7: Failed to connect to 2001:470:b2a7:1:225:90ff:fe93:e9fc: Network is unreachable gpg: no valid OpenPGP data found. gpg: Total number processed: 0
IPv6で接続しに行こうとして接続に失敗しているようだが、IPv4での接続に失敗して次候補としてIPv6での接続を試み、最終的に接続できていないということであれば、IPv6を無効化(→[4])しても問題は解消しないよう。この場合、IPv4での接続に失敗しているというところが問題。既定ではポート11371を使って接続を試みるようだが、ファイアウォールなどで通信が許可されていないと通信に失敗する。80番(http)ポートなど空いているポートを使えばOKとのこと[10][11]。
$ gpg --keyserver hkp://keys.gnupg.net:80 --recv-key 2527436A gpg: requesting key 2527436A from hkp server keys.gnupg.net gpg: key 2527436A: public key "Eric Blake" imported gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1)
あるファイルが改竄されていないことを確認する。なお事前に対応する公開鍵を入手しておく必要がある(→公開鍵の取り込み参照)。
【書式】 gpg --verify 署名ファイル名 署名チェック対象ファイル名... 【例】mediawiki-1.15.3.tar.gz を 署名ファイル mediawiki-1.15.3.tar.gz.sig で検証 [user@server ~]$ gpg --verify mediawiki-1.15.3.tar.gz.sig gpg: 2010年04月07日 09時43分51秒 JSTにDSA鍵ID F9F8CD79で施された署名 gpg: “Tim Starling <tstarling@wikimedia.org>”からの正しい署名 ←これが出ればとりあえずOK gpg: 警告: この鍵は信用できる署名で証明されていません! gpg: この署名が所有者のものかどうかの検証手段がありません。 主鍵の指紋: F7F7 80D8 2EBF B8A5 6556 E7EE 8240 3E59 F9F8 CD79 【例】公開鍵を取り込んでいない例 [user@server ~]$ gpg --verify openssh-5.5p1.tar.gz.asc gpg: 2010年04月16日 09時17分18秒 JSTにDSA鍵ID 86FF9C48で施された署名 gpg: 署名を検査できません: 公開鍵が見つかりません →表示されたIDの公開鍵をインポートする→公開鍵の取り込み参照
引数を何も指定しなかった場合、署名パケットは標準入力から読み込まれる。引数を1つだけ(署名ファイルだけ)指定した場合、署名ファイル名から拡張子「.sig」または「.asc」を取り除いたものが署名対象ファイルに指定されたものとみなして検証処理が行われる。引数が2つ以上指定された場合は、1つ目の引数を署名ファイルとして、2つ目以降の各ファイルに対して署名検証が行われる。 署名対象ファイルを標準入力から読み込む場合、「-」(ハイフン)を2つ目の引数に指定する。なお、セキュリティ上の理由から、これ以外の方法で署名ファイルが署名対象ファイルを標準入力から読み込むことはできない。
【秘密鍵の削除】 gpg --delete-secret-key 鍵ID 【公開鍵の削除】※組となる秘密鍵があると削除できない gpg --delete-key 鍵ID 【秘密鍵と公開鍵の削除】 gpg --delete-secret-and-public-key 鍵ID 【例】 shell> gpg --list-key gpg: 信用データベースの検査 gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル gpg: 深さ: 0 有効性: 1 署名: 0 信用: 0-, 0q, 0n, 0m, 0f, 1u /home/user/.gnupg/pubring.gpg ------------------------------ pub 1024D/1A9496E0 2010-01-22 uid Hoge Fuga (GroupX) <user@hoge.com> sub 2048g/C68285D1 2010-01-22 shell> gpg --delete-key C68285D1 gpg (GnuPG) 1.4.5; Copyright (C) 2006 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. gpg: この公開鍵にたいする秘密鍵“C68285D1”があります! gpg: まず“--delete-secret-keys”オプションでこれを削除してください。 shell> gpg --delete-secret-key 1A9496E0 gpg (GnuPG) 1.4.5; Copyright (C) 2006 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. sec 1024D/1A9496E0 2010-01-22 Hoge Fuga (GroupX) <user@hoge.com> この鍵を鍵輪から削除しますか? (y/N) y これは秘密鍵です! 本当に削除しますか? (y/N) y shell> gpg --delete-key C68285D1 gpg (GnuPG) 1.4.5; Copyright (C) 2006 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. pub 1024D/1A9496E0 2010-01-22 Hoge Fuga (GroupX) <user@hoge.com> この鍵を鍵輪から削除しますか? (y/N) y 【例2】期限の切れた公開鍵を削除する(秘密鍵は手元にない) # gpg --list-key /root/.gnupg/pubring.gpg ------------------------ pub 1024D/4D70938E 2003-11-15 uid Brion Vibber <brion@pobox.com> sub 1024g/965B3548 2003-11-15 pub 1024D/F9F8CD79 2009-08-02 [満了: 2012-08-01] ←期限の切れたこの鍵を削除 uid Tim Starling <tstarling@wikimedia.org> # gpg --delete-key F9F8CD79 gpg (GnuPG) 1.4.5; Copyright (C) 2006 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. pub 1024D/F9F8CD79 2009-08-02 Tim Starling <tstarling@wikimedia.org> この鍵を鍵輪から削除しますか? (y/N) y # gpg --list-key /root/.gnupg/pubring.gpg ------------------------ pub 1024D/4D70938E 2003-11-15 uid Brion Vibber <brion@pobox.com> sub 1024g/965B3548 2003-11-15
その他gpgコマンドのオプション類を記す。
【書式】 gpg オプション コマンド 引数
--export キーIDまたはキー所有者名
--output
オプションを併用することでファイルに出力することもできる? それともこのオプションを使わなくてもリダイレクトでファイルへの出力は可能? 引数は英数字のキーIDで指定することも、「名前 <メールアドレス>」の形式で表記される所有者名のどちらで指定してもOK。なお、ASCII形式で出力するには-a
オプションを合わせて指定する。
【例】 [user@pc1 ~]$ gpg --output 出力先ファイル名 --export キーIDまたはキー所有者名 [user@pc1 ~]$ scp gpg.key user@pc2:~ gpg.key 100% 902 0.9KB/s 00:00 [user@pc2 ~]$ gpg --import ~/gpg.key
-a
--armor
-o ファイル名
--output ファイル名
出典:man genkey (crypto-utils April 2005)
genkey
はSSL証明書や、証明書署名要求(Certificate Signing Requests、CSR)の生成を行うことができる対話的コマンドラインツール。生成されたSSL証明書は/etc/pki/tls/certs/
、対応する秘密鍵は/etc/pki/tls/private/
に保存される。
genkey
は希望するキーのサイズ、CSRを生成するかどうか、暗号化した秘密鍵が必要かどうか、the certificate subject DN detailsを尋ねてきます。
genkey
はtruerandライブラリを使い、ユーザにランダムなテキストを入力させることにより、秘密鍵を生成するためのランダムデータを作る。
【書式】 genkey オプション ホスト名
--makeca
--genreq
--test
--days 日数