ISC製のdhcpd(多分ほぼ全部のLinuxに入っている?)でのログローテートの際、"kill -HUP"が効かないため、サービスでrestartする必要性がある。
postrotate /bin/kill -HUP `cat /var/run/dhcpd.pid 2> /dev/null` 2> /dev/null || true
postrotate /etc/init.d/dhcpd restart 2> /dev/null
RedHat系では普通にセットアップ後、/etc/sysctl.conf にてnet.ipv4.ip_forward == 1 に変更する。
※備考 フォワーディングとは、 他のネットワーク宛に届いたパケットを、 もう1枚のネットワークカードを使って別のネットワークに転送することです。 インターネットではデータ-をバケツリレー方式で転送しますが、 このリレーを行うのがフォワーディング
0857を含む前後5行を表示
0857を含む後5行を表示
0857を含む前5行を表示
上記オプションはリファレンスにのってない。"-o"オプションはマッチした箇所だけ出力される。
tar -xzvf package.tar.gz
gunzip filename
tar czvf hogehoge-1.1.tar.gz hogehoge/
tar zcvf /root/hogehoge-1.1.tar.gz /var/www/html/ --exclude /var/www/html/testtest
chage op date User chage -E 2008/04/17 i_kaori
chage -l アカウント
crontab [ -u ユーザ名 ] { -l | -r | -e }
時間の設定は以下。
記入例 | 分 | 時 | 日 | 月 | 曜日 | コマンド | 動作 |
0 3 * * 2-6 /work/bin/check.sh | 火曜~土曜の3時0分に「/work/bin/check.sh」が自動実行されるcronが登録されています。 | ||||||
0-59 or * | 0~59で指定。*を使うと毎分 | ||||||
0-23 or * | 0~23で指定。*を使うと毎時 | ||||||
1~31 or * | 1~31で指定。*を使うと毎日 | ||||||
1~12 or jan~dec or * | 1~12またはjan~dec指定。*を使うと毎月 | ||||||
0~7 or sun~sat or * | 0~7(0,7は日曜日)またはjan~dec指定。*を使うと毎週? | ||||||
0,15,30,45 | 1-5 | リスト指定も可能 |
シェルの強制中断を行ったとき、実行状態のままとまっている。
それを確認するには、
jobs
と打つ。
出力例 [1]+ Stopped aaa.sh
これをとめるには
ps aux | grep aaa
とかでプロセス番号を指定する。たくさんあってめんどくさいときは出力例の中にある「[*]」の*部を引数にして下記コマンドでとめることができる。
kill %*
これをしたあと、jobsで見ると、終了しましたと表示され、プロセスを正常に終わらせることができる。
$ split -l 2 test out.そのほかは以下参照
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230888/
ping6 IPv6Address -I eth1 -i 0.01 -c 1000 -s 480
-Iでインターフェース指定 -iで送信間隔指定 -cで送信回数指定 -sでサイズ指定
grep -r パターン パス
sort [オプション] ファイル名
sort -k 3 aaa.txt
find ディレクトリ名 -type f -exec grep -c 検索パターン {} /dev/null \; | grep -v ^/dev/null
find ディレクトリ名 -type f -exec awk '{count +== gsub(/検索パターン/, "")} END {print FILENAME " : " count}' {} \;
source ~/.bashrc
tcpdump -w test.pcap "not port(22)"
インタフェイスを指定するときは
tcpdump -D
で確認後、
tcpdump -i 1
等で指定。
tcpdump -s 1600 -w out.pcap -sはサイズ。16進の部分を多く表示させるため
tcpdump -C 10 -s 1600 -w out.pcap -Cで設定する。
echo 'Date Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg';while [ 0 ]; do echo -n `date +'%F %T'` ' ';netstat -i | grep eth0; sleep 1;done
tc
追加:tc qdisc add dev eth0 root netem delay 1000ms 削除:tc qdisc delete dev eth0 root netem delay 1000ms
http://www.playing-engineer.com/?p==222
デフォルトではipv6に対応していないため、main.cfにipv6対応するよう追記する
mynetworksに追加したいipv6の範囲を追加する。今回はリンクローカルを追加する例。
mynetworks == 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.0/24 [fe80::]/64
inet_protocolsにipv6の表記を記載(追記)する
inet_protocols == ipv4, ipv6
最後にpostfixの再起動を行い完了。
cd /etc/pki/tls/misc/ ./CA ?newca
でCA構築完了。
構築されたCAは/etc/pki/CAに作成される。
構築したCAを削除するには、
rm -rf /etc/pki/CA
ディレクトリをそのまま削除でよい。
openssl genrsa -out ./key.pem 2048 -> これで確認済み openssl genrsa -des3 -out ./key.pem 2048 openssl genrsa -des3 -out ./key.pem 1024
openssl req -new -key ./key.pem -out ./csr.pem
csrと秘密鍵はpostfixで参照するディレクトリで行う(どこでもいい)。
今回の場合は、
/etc/pki/tls/certs
これはpostfixでパスを設定する。
cd /etc/pki/tls/misc openssl ca -out /etc/pki/CA/certs/cert.pem -infiles /etc/pki/tls/certs/csr.pem
これでサーバー証明書完成。
作成される個所は、
/etc/pki/CA/certs/cert.pem
(cat IP.pem;cat IPkey.pem) > IPmail.pem
で作成する。作成された証明書と秘密鍵をつなげるイメージでおk
master.cfの下の行をコメントアウトする。
-o smtpd_tls_wrappermode==yes
cd /etc/pki/CA openssl x509 -inform pem -outform der -in cacert.pem -out ca.der
"l"で確認するとca.derが作成されていることを確認する。
その後、winscpで落として拡張子をcerに変更。
各種デバイスにインストールで完了。
openssl ca -gencrl -revoke ./certs/***.pem
crlnumberがないと言われたときは
echo "00" > crlnumber
で作成すればいい。
/etc/pki/CAで行う。
openssl ca -gencrl -out ***.crl
で作成。
index.txtを利用して作成している様子。
index.txtを削除したあと、
touchコマンドでindexファイルを作成しなおすとうまくいく。
データベースエラー系?
仮想環境上(VMPlayer)にインストール
OS : CentOS 5.6 OpenSSL : 1.0.0d
今回の環境に利用したOS(CentOS5.6)にバンドルされているopensslのバージョンは"openssl-0.9.8e-12.el5_5.7"である。
このバージョンの場合、ECDSAは対応していない。
---------- [root@localhost ssl_Create]# openssl ciphers -v ECDSA Error in cipher list 18020:error:1410D0B9:SSL routines:SSL_CTX_set_cipher_list:no cipher match:ssl_lib.c:1188: [root@localhost ssl_Create]# ---------- そこで現在(20110720)の最新バージョン、"openssl-1.0.0d"を利用するとECDSAが利用できることがわかる ---------- [root@localhost ssl_Create]# /usr/local/ssl/bin/openssl ciphers -v ECDSA ECDHE-ECDSA-AES256-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA1 ECDHE-ECDSA-DES-CBC3-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=3DES(168) Mac=SHA1 ECDHE-ECDSA-AES128-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA1 ECDHE-ECDSA-RC4-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=RC4(128) Mac=SHA1 ECDHE-ECDSA-NULL-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=None Mac=SHA1 [root@localhost ssl_Create]# ---------- したがって新規に"openssl-1.0.0d"をインストールする必要があるため、次に手順を記載する
openSSLのサイト ( http://www.openssl.org/ ) から openssl-1.0.0d.tar.gz をダウンロードする。
ダウンロード後解凍してインストール、「 ./configure make make install 」でインストールできる。
インストールのみではバンドルされたopensslを使用してしまう。
--- [root@localhost ssl_Create]# whereis openssl openssl: /usr/bin/openssl /usr/lib/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz ---
今回は環境変数に登録せず、1.0.0dを利用するときは、フルパスで入力することにした。
したがって、0.9.8eを利用するときは"openssl command"、1.0.0dを利用するときは"/usr/local/ssl/bin/openssl command"で行う。
キーペアのみを生成(CAの鍵対)を作成する。 上記は楕円曲線を使用&prime256v1bitでCAの秘密鍵を生成する(多分)。 prime256v1はRSAで言うところの3072bitと同等(http://www.atmarkit.co.jp/fsecurity/rensai/crypt05/crypt03.html)。 ここで利用するパラメータは"/usr/local/ssl/bin/openssl ecparam -list_curves"で表示できる。 この中から選択すればいいが、windowsでは、「prime256v1」、「secp384r1」、「secp521r1」の対応しか出来ていないみたい(未確認)。 windows未対応の証明書を利用すると、OIDの判断が出来なくなると予想(未確認)。
自己署名証明書を作成する パラメータは適宜変更可能 1.0.0dでは署名する際のbit数が256も可能なため、sha256
CSR作成方法 今回に関してはこのコマンドはなくても問題はない #一応すべて通しても通るようにはしてある
CSRから署名を通すときに使用 今回はコマンド3で生成したCSRに対してサインした 別のデバイスなどでCSRを作成する際はopenssl.cnfのpolicy設定を緩くする必要がある
正直おまじない "newreq.pem"でも動くが作成したcakey.pemをコピーするほうがいい気がする…/dev/nullだから平気? まとめると、CA.plスクリプトを使って認証機関を構築出来る
一応、openssl.cnfをnsCertType = server としておく ネットスケープ対応だが、証明書を確認したときにサーバ証明書とわかりやすい これで動作がおかしい場合は、extensionsでサーバ証明書だと明示する必要があるかもしれない(未確認) (802.1Xで認証サーバが使用する証明書は明示しないとwindowsXPの場合は認証できないため)
サーバの秘密鍵生成
秘密鍵なので一応暗号化
CSR作成
CAに発行(署名)してもらう この際の引数"-md"がないと、なぜかsha1になってしまう模様
pkcs12に準拠した方式でp12/der/pemの作成 これら(特にp12)を作成しておくと、融通が利くため便利(∵必要な情報がすべて入っているため)
tmpファイルを消すイメージ
一応、openssl.cnfをnsCertType = client, email としておく ネットスケープ対応だが、証明書を確認したときにサーバ証明書とわかりやすい これで動作がおかしい場合は、extensionsでクライアント証明書だと明示する必要があるかもしれない(未確認) (802.1Xでサプリカントが使用する証明書は明示しないとwindowsXPの場合は認証できないため)
クライアント証明書秘密鍵
秘密鍵なので一応暗号化
CSR作成
CAに発行(署名)してもらう この際の引数"-md"がないと、なぜかsha1になってしまう模様
pkcs12に準拠した方式でp12/der/pemの作成 これら(特にp12)を作成しておくと、融通が利くため便利(∵必要な情報がすべて入っているため)
tmpファイルを消すイメージ
[root@localhost ~]# /usr/local/ssl/bin/openssl ecparam -list_curves secp112r1 : SECG/WTLS curve over a 112 bit prime field secp112r2 : SECG curve over a 112 bit prime field secp128r1 : SECG curve over a 128 bit prime field secp128r2 : SECG curve over a 128 bit prime field secp160k1 : SECG curve over a 160 bit prime field secp160r1 : SECG curve over a 160 bit prime field secp160r2 : SECG/WTLS curve over a 160 bit prime field secp192k1 : SECG curve over a 192 bit prime field secp224k1 : SECG curve over a 224 bit prime field secp224r1 : NIST/SECG curve over a 224 bit prime field secp256k1 : SECG curve over a 256 bit prime field secp384r1 : NIST/SECG curve over a 384 bit prime field secp521r1 : NIST/SECG curve over a 521 bit prime field prime192v1: NIST/X9.62/SECG curve over a 192 bit prime field prime192v2: X9.62 curve over a 192 bit prime field prime192v3: X9.62 curve over a 192 bit prime field prime239v1: X9.62 curve over a 239 bit prime field prime239v2: X9.62 curve over a 239 bit prime field prime239v3: X9.62 curve over a 239 bit prime field prime256v1: X9.62/SECG curve over a 256 bit prime field sect113r1 : SECG curve over a 113 bit binary field sect113r2 : SECG curve over a 113 bit binary field sect131r1 : SECG/WTLS curve over a 131 bit binary field sect131r2 : SECG curve over a 131 bit binary field sect163k1 : NIST/SECG/WTLS curve over a 163 bit binary field sect163r1 : SECG curve over a 163 bit binary field sect163r2 : NIST/SECG curve over a 163 bit binary field sect193r1 : SECG curve over a 193 bit binary field sect193r2 : SECG curve over a 193 bit binary field sect233k1 : NIST/SECG/WTLS curve over a 233 bit binary field sect233r1 : NIST/SECG/WTLS curve over a 233 bit binary field sect239k1 : SECG curve over a 239 bit binary field sect283k1 : NIST/SECG curve over a 283 bit binary field sect283r1 : NIST/SECG curve over a 283 bit binary field sect409k1 : NIST/SECG curve over a 409 bit binary field sect409r1 : NIST/SECG curve over a 409 bit binary field sect571k1 : NIST/SECG curve over a 571 bit binary field sect571r1 : NIST/SECG curve over a 571 bit binary field c2pnb163v1: X9.62 curve over a 163 bit binary field c2pnb163v2: X9.62 curve over a 163 bit binary field c2pnb163v3: X9.62 curve over a 163 bit binary field c2pnb176v1: X9.62 curve over a 176 bit binary field c2tnb191v1: X9.62 curve over a 191 bit binary field c2tnb191v2: X9.62 curve over a 191 bit binary field c2tnb191v3: X9.62 curve over a 191 bit binary field c2pnb208w1: X9.62 curve over a 208 bit binary field c2tnb239v1: X9.62 curve over a 239 bit binary field c2tnb239v2: X9.62 curve over a 239 bit binary field c2tnb239v3: X9.62 curve over a 239 bit binary field c2pnb272w1: X9.62 curve over a 272 bit binary field c2pnb304w1: X9.62 curve over a 304 bit binary field c2tnb359v1: X9.62 curve over a 359 bit binary field c2pnb368w1: X9.62 curve over a 368 bit binary field c2tnb431r1: X9.62 curve over a 431 bit binary field wap-wsg-idm-ecid-wtls1: WTLS curve over a 113 bit binary field wap-wsg-idm-ecid-wtls3: NIST/SECG/WTLS curve over a 163 bit binary field wap-wsg-idm-ecid-wtls4: SECG curve over a 113 bit binary field wap-wsg-idm-ecid-wtls5: X9.62 curve over a 163 bit binary field wap-wsg-idm-ecid-wtls6: SECG/WTLS curve over a 112 bit prime field wap-wsg-idm-ecid-wtls7: SECG/WTLS curve over a 160 bit prime field wap-wsg-idm-ecid-wtls8: WTLS curve over a 112 bit prime field wap-wsg-idm-ecid-wtls9: WTLS curve over a 160 bit prime field wap-wsg-idm-ecid-wtls10: NIST/SECG/WTLS curve over a 233 bit binary field wap-wsg-idm-ecid-wtls11: NIST/SECG/WTLS curve over a 233 bit binary field wap-wsg-idm-ecid-wtls12: WTLS curvs over a 224 bit prime field Oakley-EC2N-3: IPSec/IKE/Oakley curve #3 over a 155 bit binary field. Not suitable for ECDSA. Questionable extension field! Oakley-EC2N-4: IPSec/IKE/Oakley curve #4 over a 185 bit binary field. Not suitable for ECDSA. Questionable extension field! [root@localhost ~]#
apache2.2*は楕円曲線の証明書に対応しておらず2.3から対応予定とのこと(未リリース)
nginx0.8も対応せず
lighttpdは対応しているみたいだが、ssl自体の設定がうまくいかない(yumで入るものは未対応の様子、tarからインストール)
yum/wget使用時にプロキシが必要な場合に設定
/etc/yum.confに以下を記載
proxy=http://IP:PORT
proxy_username=username
proxy_password=password
/.wgetrcに以下を記載
http_proxy=http://IP:PORT
proxy_user=username
proxy_password=password
複数のサーバーに対してsshするとき、各サーバーのIP、ユーザー名、パスワードの入力が億劫なため、
クリックするだけで自動で接続してくれるようにしてみた。
プラスα、root権限も取得する感じ。
ざっくりとやりかたは、teraterm用マクロを準備してそれを実行する方法。
以下を適当な名前付けて*.ttlという名前で保存する
;;;;192.168.1.1 //コメントで接続先IPを記載しておくといいかも ;各種値設定 ;接続先ホスト Host2 = '192.168.1.1' ;ログインするユーザー User1 = 'user' ;ユーザーパスワードとルートパスワードのファイル指定。初回接続時に作成される。2回目からは自動。 getpassword 'C:\uerpass.dat' 'usrpass' inputstr getpassword 'C:\pass.dat' 'rootpass' inputstr2 ;各種定義 Prompt1 = '$' PromptPW = 'Password:' Ini = 'TERATERM_org.INI' Df = 'df' ;いろんなおまじない Cmd = '' strconcat Cmd Host2 strconcat Cmd ' /ssh /1 /auth=password' strconcat Cmd ' /user=' strconcat Cmd User1 strconcat Cmd ' /passwd=' strconcat Cmd inputstr strconcat Cmd ' /f=' strconcat Cmd Ini ;接続 connect Cmd ;対話的処理スタート(dfコマンド発行) wait Prompt1 sendln 'df -h' wait '$' sendln 'su -' wait ':' sendln inputstr2