#author("2021-12-22T11:06:33+09:00","anz","anz") #author("2022-02-01T16:12:36+09:00","anz","anz") #norelated ---- *目次 [#q4566e10] #contents ---- *dhcpdでのログローテートでの注意事項 [#b11ef2f0] ISC製のdhcpd(多分ほぼ全部のLinuxに入っている?)でのログローテートの際、"kill -HUP"が効かないため、サービスでrestartする必要性がある。 **例 [#u87a040e] -''NG例(/etc/logrotate.d/dhcpd)'' postrotate /bin/kill -HUP `cat /var/run/dhcpd.pid 2> /dev/null` 2> /dev/null || true -''OK例(/etc/logrotate.d/dhcpd)'' postrotate /etc/init.d/dhcpd restart 2> /dev/null *Linuxでのルータ設定 [#l0db26cf] RedHat系では普通にセットアップ後、/etc/sysctl.conf にてnet.ipv4.ip_forward == 1 に変更する。~ ~ ※備考 フォワーディングとは、 他のネットワーク宛に届いたパケットを、 もう1枚のネットワークカードを使って別のネットワークに転送することです。 インターネットではデータ-をバケツリレー方式で転送しますが、 このリレーを行うのがフォワーディング ~ *grep [#aa1ef636] **grep -C -5 0857 [#p23ebd56] 0857を含む前後5行を表示 **grep -A -5 0857 [#sf95552e] 0857を含む後5行を表示 **grep -B -5 0857 [#s869d4e9] 0857を含む前5行を表示 **grep -o [#nd3a5e5a] 上記オプションはリファレンスにのってない。"-o"オプションはマッチした箇所だけ出力される。 *tar.gz,gz圧縮、解凍 [#k866455c] **tar.gz解凍 [#qe55f94b] tar -xzvf package.tar.gz **gz解凍方法 [#uff59ed0] gunzip filename **tar圧縮方法(zをつけるとgzip) [#ha1e411d] tar czvf hogehoge-1.1.tar.gz hogehoge/ ~ **tarで特定ディレクトリを除く圧縮 [#ce2744fd] -exclude をつける tar zcvf /root/hogehoge-1.1.tar.gz /var/www/html/ --exclude /var/www/html/testtest ~ *chageコマンド [#f209e6cf] chage op date User chage -E 2008/04/17 i_kaori **アカウント有効期間の表示(検索用:有効期間、有効期限) [#b3f89fad] chage -l アカウント *crontabの書き方 [#s61572d6] 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|||||リスト指定も可能| *シェルの強制中断 ( Ctl + Z ) [#e9b5ee42] シェルの強制中断を行ったとき、実行状態のままとまっている。~ それを確認するには、 jobs と打つ。~ ~ 出力例 [1]+ Stopped aaa.sh ~ これをとめるには~ ps aux | grep aaa とかでプロセス番号を指定する。たくさんあってめんどくさいときは出力例の中にある「[*]」の*部を引数にして下記コマンドでとめることができる。~ ~ kill %* ~ これをしたあと、jobsで見ると、終了しましたと表示され、プロセスを正常に終わらせることができる。~ ~ *splitコマンド(分割、cut) [#cc0bf476] -testファイルを2行ごとに切り出し,"out."で始まるファイルに順次書き出す $ split -l 2 test out. そのほかは以下参照 http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230888/ ~ *IPv6におけるPing連打 [#ge27161a] ping6 IPv6Address -I eth1 -i 0.01 -c 1000 -s 480 -Iでインターフェース指定 -iで送信間隔指定 -cで送信回数指定 -sでサイズ指定 ~ *grepを再帰的に行う [#s946c7ab] grep -r パターン パス ~ *sortコマンド [#x92fd5a6] **sortの書式 [#jd1d9ea0] sort [オプション] ファイル名 -\-k n,n列目のソート -\-n,数値のソート ~ 例 sort -k 3 aaa.txt ~ *ディレクトリ以下を検索 [#x3fe8b63] **検索にヒットした行そのものや行数を知りたい [#ae31b816] find ディレクトリ名 -type f -exec grep -c 検索パターン {} /dev/null \; | grep -v ^/dev/null **1行に複数マッチした場合もカウントしたい [#zaab47ff] find ディレクトリ名 -type f -exec awk '{count +== gsub(/検索パターン/, "")} END {print FILENAME " : " count}' {} \; ~ *bashrcを即反映== [#xfeddb20] source ~/.bashrc ~ *tcpdumpでssh以外のパケットキャプチャ [#s85fd11b] tcpdump -w test.pcap "not port(22)" インタフェイスを指定するときは tcpdump -D で確認後、 tcpdump -i 1 等で指定。 ~ *tcpdump使い方基本 [#v68ce7b8] tcpdump -s 1600 -w out.pcap -sはサイズ。16進の部分を多く表示させるため ~ **10メガごとに分割 [#f822bc04] tcpdump -C 10 -s 1600 -w out.pcap -Cで設定する。 ~ **垂れ流し [#v22a71bc] 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 ~ *帯域制御(帯域制限)コマンド [#m9f739e7] tc **全部1秒遅延させる (追加と削除) [#t5436d02] 追加:tc qdisc add dev eth0 root netem delay 1000ms 削除:tc qdisc delete dev eth0 root netem delay 1000ms ~ **その他 [#p8541a47] http://www.playing-engineer.com/?p==222 ~ *PostfixにおけるIPv6設定 [#h414ed7f] デフォルトではipv6に対応していないため、main.cfにipv6対応するよう追記する **main.cf [#cc53781b] 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の再起動を行い完了。 ~ *opensslによるCA構築 [#p5072ed0] **★CA構築 [#hfc5f3fa] cd /etc/pki/tls/misc/ ./CA ?newca でCA構築完了。~ 構築されたCAは/etc/pki/CAに作成される。~ 構築したCAを削除するには、~ rm -rf /etc/pki/CA ディレクトリをそのまま削除でよい。~ **★秘密鍵(Key)の作成 [#x2bc69f7] openssl genrsa -out ./key.pem 2048 -> これで確認済み openssl genrsa -des3 -out ./key.pem 2048 openssl genrsa -des3 -out ./key.pem 1024 **★csr作成 [#d4dbf9d7] openssl req -new -key ./key.pem -out ./csr.pem csrと秘密鍵はpostfixで参照するディレクトリで行う(どこでもいい)。~ 今回の場合は、~ /etc/pki/tls/certs これはpostfixでパスを設定する。~ **★署名(サーバー証明書作成 -> メールサーバにおいとくやつ) [#s8c5f8da] 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 **★メール用証明書作成(SMTPSでの動作確認した/starttlsも) [#n1243178] (cat IP.pem;cat IPkey.pem) > IPmail.pem で作成する。作成された証明書と秘密鍵をつなげるイメージでおk~ **★STARTTLS対応 [#p2b0b330] master.cfの下の行をコメントアウトする。 -o smtpd_tls_wrappermode==yes **★ルート証明書をcer形式出力(ルート証明書 -> iRエージェントやコンパクトサーバーにおいとくやつ) [#xaa536c2] cd /etc/pki/CA openssl x509 -inform pem -outform der -in cacert.pem -out ca.der "l"で確認するとca.derが作成されていることを確認する。~ その後、winscpで落として拡張子をcerに変更。~ 各種デバイスにインストールで完了。~ **★証明書失効 [#hd5d0c4c] openssl ca -gencrl -revoke ./certs/***.pem crlnumberがないと言われたときは~ echo "00" > crlnumber で作成すればいい。~ /etc/pki/CAで行う。~ ~ **★失効リスト作成 [#oabe8f5f] openssl ca -gencrl -out ***.crl で作成。~ index.txtを利用して作成している様子。~ **◆index error が出たとき [#da4fc0f6] index.txtを削除したあと、~ touchコマンドでindexファイルを作成しなおすとうまくいく。~ データベースエラー系?~ *OpenSSLで楕円曲線暗号方式の鍵を作成する方法 [#w4664d04] **環境 [#i1679be3] 仮想環境上(VMPlayer)にインストール OS : CentOS 5.6 OpenSSL : 1.0.0d ~ **openSSLのバージョン [#y2e9cae0] 今回の環境に利用した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インストール方法 [#ucd9885f] 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"で行う。~ **認証局構築及び認証局の自己証明作成 [#sa3e2201] ***コマンド [#x18fce51] +/usr/local/ssl/bin/openssl ecparam -genkey -name prime256v1 -out cakey.pem +/usr/local/ssl/bin/openssl req -new -x509 -days 3650 -sha256 -key cakey.pem -out cacert.cer +/usr/local/ssl/bin/openssl req -new -key cakey.pem -out careq.csr +/usr/local/ssl/bin/openssl x509 -req -in careq.csr -signkey cakey.pem -out cacert.cer -days 3650 +echo "newreq.pem"| /usr/local/ssl/misc/CA.pl -newca > /dev/null ***コマンド説明 [#g4149399] -コマンド1について キーペアのみを生成(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の判断が出来なくなると予想(未確認)。 -コマンド2について 自己署名証明書を作成する パラメータは適宜変更可能 1.0.0dでは署名する際のbit数が256も可能なため、sha256 -コマンド3について CSR作成方法 今回に関してはこのコマンドはなくても問題はない #一応すべて通しても通るようにはしてある -コマンド4について CSRから署名を通すときに使用 今回はコマンド3で生成したCSRに対してサインした 別のデバイスなどでCSRを作成する際はopenssl.cnfのpolicy設定を緩くする必要がある -コマンド5について 正直おまじない "newreq.pem"でも動くが作成したcakey.pemをコピーするほうがいい気がする…/dev/nullだから平気? まとめると、CA.plスクリプトを使って認証機関を構築出来る **サーバ証明書作成方法] [#n15fcb3f] 一応、openssl.cnfをnsCertType = server としておく ネットスケープ対応だが、証明書を確認したときにサーバ証明書とわかりやすい これで動作がおかしい場合は、extensionsでサーバ証明書だと明示する必要があるかもしれない(未確認) (802.1Xで認証サーバが使用する証明書は明示しないとwindowsXPの場合は認証できないため) ***コマンド [#y6a55ec9] +/usr/local/ssl/bin/openssl ecparam -genkey -name prime256v1 -out server.pem +/usr/local/ssl/bin/openssl ec -in server.pem -out server.des.pem -des +/usr/local/ssl/bin/openssl req -new -key server.des.pem -out server.req.csr +/usr/local/ssl/bin/openssl ca -policy policy_anything -keyfile cakey.pem -cert cacert.cer -md sha256 -out newcert.pem -infiles server.req.csr +/usr/local/ssl/bin/openssl pkcs12 -export -in newcert.pem -inkey server.des.pem -out server.p12 +/usr/local/ssl/bin/openssl pkcs12 -in server.p12 -out server.pem -passin pass:PASSWORD -passout pass:PASSWORD +/usr/local/ssl/bin/openssl x509 -inform PEM -outform DER -in server.pem -out server.der +rm -rf newcert.pem ***コマンド説明 [#m70e8e8f] -コマンド1について サーバの秘密鍵生成 -コマンド2について 秘密鍵なので一応暗号化 -コマンド3について CSR作成 -コマンド4について CAに発行(署名)してもらう この際の引数"-md"がないと、なぜかsha1になってしまう模様 -コマンド5~コマンド7について pkcs12に準拠した方式でp12/der/pemの作成 これら(特にp12)を作成しておくと、融通が利くため便利(∵必要な情報がすべて入っているため) -コマンド8について tmpファイルを消すイメージ ~ ~ **クライアント証明書作成方法 [#jfc2a371] 一応、openssl.cnfをnsCertType = client, email としておく ネットスケープ対応だが、証明書を確認したときにサーバ証明書とわかりやすい これで動作がおかしい場合は、extensionsでクライアント証明書だと明示する必要があるかもしれない(未確認) (802.1Xでサプリカントが使用する証明書は明示しないとwindowsXPの場合は認証できないため) ***コマンド [#gbe44f0a] +/usr/local/ssl/bin/openssl ecparam -genkey -name prime256v1 -out client.pem +/usr/local/ssl/bin/openssl ec -in client.pem -out client.des.pem -des +/usr/local/ssl/bin/openssl req -new -key client.des.pem -out client.req.csr +/usr/local/ssl/bin/openssl ca -policy policy_anything -keyfile cakey.pem -cert cacert.cer -md sha256 -out newcert.pem -infiles client.req.csr +/usr/local/ssl/bin/openssl pkcs12 -export -in newcert.pem -inkey client.des.pem -out client.p12 +/usr/local/ssl/bin/openssl pkcs12 -in client.p12 -out client.pem -passin pass:PASSWORD -passout pass:PASSWORD +/usr/local/ssl/bin/openssl x509 -inform PEM -outform DER -in client.pem -out client.der +rm -rf newcert.pem ***コマンド説明 [#jc64f466] -コマンド1について クライアント証明書秘密鍵 -コマンド2について 秘密鍵なので一応暗号化 -コマンド3について CSR作成 -コマンド4について CAに発行(署名)してもらう この際の引数"-md"がないと、なぜかsha1になってしまう模様 -コマンド5~コマンド7について pkcs12に準拠した方式でp12/der/pemの作成 これら(特にp12)を作成しておくと、融通が利くため便利(∵必要な情報がすべて入っているため) -コマンド8について tmpファイルを消すイメージ **その他 [#ad31089e] [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のプロキシ設定 [#q304e3d9] yum/wget使用時にプロキシが必要な場合に設定 **yum [#i468329c] /etc/yum.confに以下を記載~ proxy=http://''IP'':''PORT''~ proxy_username=''username''~ proxy_password=''password''~ **wget [#bc280633] ~/.wgetrcに以下を記載~ http_proxy=http://''IP'':''PORT''~ proxy_user=''username''~ proxy_password=''password''~ *Teratermでのssh接続自動化 [#za360fae] 複数のサーバーに対してsshするとき、各サーバーのIP、ユーザー名、パスワードの入力が億劫なため、~ クリックするだけで自動で接続してくれるようにしてみた。~ プラスα、root権限も取得する感じ。~ ざっくりとやりかたは、teraterm用マクロを準備してそれを実行する方法。~ **準備するマクロ [#l0063e5d] 以下を適当な名前付けて''*.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 バージョン違いのエラーが出たら strconcat Cmd ' /ssh /1 /auth=password' の1を strconcat Cmd ' /ssh /2 /auth=password' などに変更し、バージョンを合わせる *John The Ripper でのpdf解析方法 [#na733b5e] pdfに書けたパスワードを解くときに使う。開いた瞬間にパスワードを求められるファイルに対して有効だが、パスワードの文字数によって、解析時間がかなり掛かる。 **準備 [#x79b783a] 簡単に行う為に、VirtualBoxを準備して、そこにKaliLinuxをインストールする。~ KaliLinuxには解析ソフトが最初からインストールされているため、構築後にすぐに使用出来る。 **手順 [#o296f163] +pdfファイルをハッシュ化するスクリプトを持ってくる https://github.com/magnumripper/JohnTheRipper/archive/bleeding-jumbo.zip +解凍し任意のディレクトリに置く +コマンド pdf2john.py 解析対象の.pdf > Hash.txt +上記でハッシュファイルが作成される +一応バックアップをとっておくと確実 cp hash.txt hash.txt.back +作成されたハッシュファイルを編集する※重要 ++viなどで開き、":"を取り除く ++":"前、":"後を削除する ++保存する $pdf$4*4*128...(略)...a35eff と言った形式にする。前と後ろの":"とファイル名を取り除くイメージ。 +この変更を加えたファイルに対して解析をかける john hash.txt +KaliLinuxはjohnnyというGUIツールもあり、これを使ってもOK *Ubuntuでのdockerでpull時のプロキシ設定 [#r0c14eb2] 調べてよくでてくるプロキシ設定では通らなかった時の設定方法。~ su前提で行う **一般的な方法 [#sad5307c] +/etc/default/dockerの編集 vi /etc/default/docker +追加 export http_proxy=http://IP:PORT/ export https_proxy=http://IP:PORT/ +再起動 ---- NGだった **自分の環境での方法 [#of45a71d] +ディレクトリ作成 mkdir /etc/systemd/system/docker.service.d +ファイル作成 vi /etc/systemd/system/docker.service.d/http-proxy.conf +中身 [Service] Environment="HTTP_PROXY=http://IP:PORT" Environment="HTTPS_PROXY=http://IP:PORT" +再起動 systemctl daemon-reload systemctl restart docker +確認 docker search linux *リアルタイムでネットワーク監視 [#pbfd42f7] 現状の通信状態を確認したい時に使用 yum -y install iftop iftop で行ける。どれくらい速度が出ているか知りたい時に便利。 * lessコマンド行表示と行番号ジャンプ [#k1d4fe64] lessコマンドにて、開く時に ''-N''を指定すると、行番号が表示される。~ 開いた後でも '':-N''後、Enterを押すと表示、'':-n''後、Enterを押すと、非表示になる。~ ~ 特定行へ飛ぶときは、'':300g''後、Enterで飛ぶことができる。 * 各OS(ディストリビューションごと)のアプリ管理コマンド一覧表 [#c64a5e6f] |CENTER:''FreeBSD(pkgコマンド)''|CENTER:''(Redhat系)yum''|CENTER:''(Ubuntu系)apt''|CENTER:''処理内容''| |pkg update|–|apt update|パッケージリポジトリを更新する| |pkg upgrade|yum update|apt upgrade|パッケージを更新する| |pkg search|yum search|apt search|パッケージを検索する| |pkg install|yum install|apt install|パッケージをインストールする| |pkg delete|yum remove|apt remove|パッケージをアンインストールする| |pkg autoremove|yum autoremove|apt autoremove|不要なパッケージを削除する| |pkg info -a|yum list installed|apt list –-installed|インストールされているパッケージを一覧表示する| |pkg show|yum show|apt show|パッケージの情報を表示する| |pkg clean|yum clean|apt clean|ダウンロードしたパッケージを削除する| |pkg which|yum provides|apt-file search|特定のファイルがどのパッケージに含まれているのかを調べる| |pkg info -e|rpm -q|–|パッケージがインストールされているかどうかを調べる| |-|yum upgrade|–|不要になったパッケージを考慮しながらパッケージを更新する| ※参考サイト:https://freebsd.seirios.org/doku.php?id=ports:pkg_yum_apt * imapのMaildirの日本語文字化けをターミナル上で確認する [#d4e0fd20] 日本語フォルダ名を作成して、imapサーバを使っている場合、ターミナル上からはUTF-7-IMAPで変換された状態で表示される。~ ターミナル上で正しい日本語を確認したいときは以下コマンドを実行。 ls -asl | inkf --ic=UTF-7-IMAP -w