ネットワークセキュリティ導入の
背景:
初期のインターネット- 1980年代、我々は、データを共有するために、データの伝送を必要とし、データは平文の両方によって送信や共有、
インターネットの発展に伴い、安全な国の戦略的資源として知られている。
我々はやります;手工芸品-そのようなプログラミング、運用、保守など
; -安全なアルゴリズムが研究のための基礎としての数学の問題に必要とされるセキュリティは、科学研究の形で
、独自の暗号化アルゴリズムを研究するために各国が狂って、解読するために他の人暗号化アルゴリズム、米国は- 256ビットの暗号化アルゴリズムよりも長いの輸出を禁止しました。
背景:
初期のインターネット- 1980年代、我々は、データを共有するために、データの伝送を必要とし、データは平文の両方によって送信や共有、
インターネットの発展に伴い、安全な国の戦略的資源として知られている。
我々はやります;手工芸品-そのようなプログラミング、運用、保守など
; -安全なアルゴリズムが研究のための基礎としての数学の問題に必要とされるセキュリティは、科学研究の形で
、独自の暗号化アルゴリズムを研究するために各国が狂って、解読するために他の人暗号化アルゴリズム、米国は- 256ビットの暗号化アルゴリズムよりも長いの輸出を禁止しました。
データのセキュリティを確保するために、我々は4点で満たしている必要があります(4、証明書システムをopensslのは、使用され、ソース認証3;;、整合性チェック(ハッシュ、一方向の暗号化、指紋)2 1は、データが暗号化されなければなりませんPKI証明書は、このアーキテクチャを実現するために、それは三輪車が含まれています。)
1、データ暗号化
データは暗号化されている必要があり
、暗号化対称秘密鍵
秘密鍵で暗号化と復号化用の秘密鍵とを;
利点:高効率
短所:キーのメンテナンスが非常に困難であり、鍵交換は非常に困難である;
2、非対称秘密鍵暗号化された
秘密鍵ペア(公開プライベート)
B - Aの
秘密鍵、公開鍵
、Bは、公開鍵Aを用いてデータを暗号化し、その後に転送することができる
メンテナンスキー;データ:利点より安全な;
短所:非効率的(非常に低い)、および対称暗号化は、ギャップは約1000倍です。
データは暗号化されている必要があり
、暗号化対称秘密鍵
秘密鍵で暗号化と復号化用の秘密鍵とを;
利点:高効率
短所:キーのメンテナンスが非常に困難であり、鍵交換は非常に困難である;
2、非対称秘密鍵暗号化された
秘密鍵ペア(公開プライベート)
B - Aの
秘密鍵、公開鍵
、Bは、公開鍵Aを用いてデータを暗号化し、その後に転送することができる
メンテナンスキー;データ:利点より安全な;
短所:非効率的(非常に低い)、および対称暗号化は、ギャップは約1000倍です。
2つの暗号化フォーム
1、ストリーム暗号
01010100100101011100100101001010
のCisco 0101
01010101010101010101010101010101
XOR ------------------------------------ -------
00000 ...(同じことが0から1とは異なります)
1、ストリーム暗号
01010100100101011100100101001010
のCisco 0101
01010101010101010101010101010101
XOR ------------------------------------ -------
00000 ...(同じことが0から1とは異なります)
機密
00000 ...
シスコ0101
01010101010101010101010101010101
XOR ---------------------------------------- ----
01010100100101011100100101001010
00000 ...
シスコ0101
01010101010101010101010101010101
XOR ---------------------------------------- ----
01010100100101011100100101001010
1101 0010
1111 1111
----- -----
1101 0010
1111 1111
----- -----
1101 0010
2、ブロック暗号
0101 0100 1001 0101 1001 0100 1010 1100である
VL値/ | / | ... ... ... ...
0000 | / |
---------------- ------------------------------------------------
01010001
0101 0100 1001 0101 1001 0100 1010 1100である
VL値/ | / | ... ... ... ...
0000 | / |
---------------- ------------------------------------------------
01010001
- 2は、整合性チェック指紋
、そのデータを確保するためのテストデータの整合性が改ざんされていない
原理は:機械のデータBのハッシュ値を取得し、マシンデータの取得が再度ハッシュし、そのハッシュ結果を取ります取得されたハッシュ結果B機比較して、
同じ場合、データは完了し、そうでない場合、データは信頼できません。
、そのデータを確保するためのテストデータの整合性が改ざんされていない
原理は:機械のデータBのハッシュ値を取得し、マシンデータの取得が再度ハッシュし、そのハッシュ結果を取ります取得されたハッシュ結果B機比較して、
同じ場合、データは完了し、そうでない場合、データは信頼できません。
ハッシュ機能:
1、不可逆性-道の暗号
2、アバランシェ効果-文字の修正結果、出力は完全に異なっています
1、不可逆性-道の暗号
2、アバランシェ効果-文字の修正結果、出力は完全に異なっています
MACメッセージ認証コード
ランダムに生成された鍵のペア、および、データ・メッセージ・ハッシュとキーを追加- HMAC
も完了原インテグリティチェック認証を完了するためのそのような方法。
ランダムに生成された鍵のペア、および、データ・メッセージ・ハッシュとキーを追加- HMAC
も完了原インテグリティチェック認証を完了するためのそのような方法。
3、ソース認証
非対称鍵別の役割:
デジタル署名(データ暗号化(遅すぎる、使用しない)、鍵交換)は、
鍵交換は、我々が使用されるときに行う-パブリック機密秘密鍵を復号化するために
デジタル署名秘密鍵の暗号化-復号化する公開鍵
のみ、自分のデータを暗号化するための独自の秘密鍵で、プライベート;
あなたは、データ・ソースが正しい復号化するために説明できるならば、復号化するために、独自の公開鍵を使用して、ピアを、そうでない場合、信頼することはできません。
* 4、証明書のメカニズム- PKI(OpenSSLの)*
上記の3つの認証メカニズムを達成するために、PKI(公開鍵基盤)アーキテクチャは、我々 、
PKIが含まれます:
CA -証明書サーバーのCAサーバーを、証明書発行のために使用され、
RA -体が金融機関の登録のCAの証明書を設定し、
CRL -整数失効リストを、
非対称鍵別の役割:
デジタル署名(データ暗号化(遅すぎる、使用しない)、鍵交換)は、
鍵交換は、我々が使用されるときに行う-パブリック機密秘密鍵を復号化するために
デジタル署名秘密鍵の暗号化-復号化する公開鍵
のみ、自分のデータを暗号化するための独自の秘密鍵で、プライベート;
あなたは、データ・ソースが正しい復号化するために説明できるならば、復号化するために、独自の公開鍵を使用して、ピアを、そうでない場合、信頼することはできません。
* 4、証明書のメカニズム- PKI(OpenSSLの)*
上記の3つの認証メカニズムを達成するために、PKI(公開鍵基盤)アーキテクチャは、我々 、
PKIが含まれます:
CA -証明書サーバーのCAサーバーを、証明書発行のために使用され、
RA -体が金融機関の登録のCAの証明書を設定し、
CRL -整数失効リストを、
建築原則PKI証明書システム(図を参照)
OpenSSLの
OpenSSLの管理ツール
ライブラリ- 2つの暗号化手続き呼び出しインタフェースが
理解----------------------------------- -------
DH -非対称アルゴリズムの秘密鍵(ワーク:鍵交換)
A - Bの
A - > X
P = G ^ X-X%
P%G ^ Y ^ X ^ P = XY %G 2と同じ結果、一方は同じ番号を取得することができ、これは同じ結果である
B - > Y
P Yの%のG = Y ^
P ^ X ^ Y%G%G = P ^ XY
---- -----------------------------------------
共通のファイル:
の/ etc / PKI / TLS
拡張- 1995年にNetscape社が開発した、SSH 2.0
1996 SSH 3.0 //広く使用されているが
、1999年にNetscapeが迅速にsshを維持する能力がないので、電話を切った-公共団体の維持に> sshがプロトコルをTLS 1.0
TLS 1.1を開発するために2006年に
2008年には1.2 // sshが現在広くインターネット環境/ TLS契約で使用されるTLS開発
1.3 TLSを開発するために2018年に
メインの設定ファイルデフォルト- /etc/pki/tls/openssl.cnf
は/ usr / binに/ OpenSSLを-コマンドファイル
は/ etc / PKI / CA -サーバの証明書の証明書サービスのルートディレクトリ
に/ etc / PKI / CA / certsの - 証明書ストアディレクトリ
の/ etc / PKI / CA / CRL -
の/ etc / PKI / CA /プライベート
インデックス。 TXT //証明書のインデックス情報をファイル
シリアル//証明書のシリアル番号
cakey.pemファイル// CA証明書の申請書類を
// CAルート証明書ファイルをこのcacert.pem
OpenSSLの管理ツール
ライブラリ- 2つの暗号化手続き呼び出しインタフェースが
理解----------------------------------- -------
DH -非対称アルゴリズムの秘密鍵(ワーク:鍵交換)
A - Bの
A - > X
P = G ^ X-X%
P%G ^ Y ^ X ^ P = XY %G 2と同じ結果、一方は同じ番号を取得することができ、これは同じ結果である
B - > Y
P Yの%のG = Y ^
P ^ X ^ Y%G%G = P ^ XY
---- -----------------------------------------
共通のファイル:
の/ etc / PKI / TLS
拡張- 1995年にNetscape社が開発した、SSH 2.0
1996 SSH 3.0 //広く使用されているが
、1999年にNetscapeが迅速にsshを維持する能力がないので、電話を切った-公共団体の維持に> sshがプロトコルをTLS 1.0
TLS 1.1を開発するために2006年に
2008年には1.2 // sshが現在広くインターネット環境/ TLS契約で使用されるTLS開発
1.3 TLSを開発するために2018年に
メインの設定ファイルデフォルト- /etc/pki/tls/openssl.cnf
は/ usr / binに/ OpenSSLを-コマンドファイル
は/ etc / PKI / CA -サーバの証明書の証明書サービスのルートディレクトリ
に/ etc / PKI / CA / certsの - 証明書ストアディレクトリ
の/ etc / PKI / CA / CRL -
の/ etc / PKI / CA /プライベート
インデックス。 TXT //証明書のインデックス情報をファイル
シリアル//証明書のシリアル番号
cakey.pemファイル// CA証明書の申請書類を
// CAルート証明書ファイルをこのcacert.pem
接続プロセスのSSL、TLSプロトコル;
例では、HTTPS
、HTTP - > 80
クライアント-サーバー
TCP 3ウェイハンドシェイク
HTTPリクエスト- >
< - HTTPレスポンス
のhttps - > 443
クライアント-サーバー
TCP 3ウェイハンドシェイクの
SSL手を振ります
例では、HTTPS
、HTTP - > 80
クライアント-サーバー
TCP 3ウェイハンドシェイク
HTTPリクエスト- >
< - HTTPレスポンス
のhttps - > 443
クライアント-サーバー
TCP 3ウェイハンドシェイクの
SSL手を振ります
SSLハンドシェイクプロセスがある:
1、TCPセッションを確立するプロセスは、SSLはTCPセッションを使用する必要がある-スリーウェイハンドシェイクプロセス
2を、SSLハンドシェイク認証
サーバは、クライアント証明書を送信します
(発行者の名前を確認し、クライアント認証のための見つけ復号化するための公開鍵を発行者、発行元を検証)
サイト名をチェックして、証明書の名前の名前が、その後、ない同じですが、そうでない場合は、
情報が完全な検査の整数であり、一方向の暗号化によって、証明書情報が完全であることを確認し、
最後に証明書が失効しているかどうかを検出するステップと、それは証明書失効リストにある
クライアントが対称秘密鍵を生成し、3、及び遠隔交換の秘密鍵
公開鍵暗号端末の対称秘密鍵を使用してピアに送信する
通常の状況下で{ 、サーバーが認証されていない、クライアントの整数]
4、クライアントがURLの下端にリソース要求する;
5、資源サーバは、クライアントが暗号化を要求する
各コネクションを接続する短い生成される(およびショートコネクタを接続したまま)新しいキー;
1、TCPセッションを確立するプロセスは、SSLはTCPセッションを使用する必要がある-スリーウェイハンドシェイクプロセス
2を、SSLハンドシェイク認証
サーバは、クライアント証明書を送信します
(発行者の名前を確認し、クライアント認証のための見つけ復号化するための公開鍵を発行者、発行元を検証)
サイト名をチェックして、証明書の名前の名前が、その後、ない同じですが、そうでない場合は、
情報が完全な検査の整数であり、一方向の暗号化によって、証明書情報が完全であることを確認し、
最後に証明書が失効しているかどうかを検出するステップと、それは証明書失効リストにある
クライアントが対称秘密鍵を生成し、3、及び遠隔交換の秘密鍵
公開鍵暗号端末の対称秘密鍵を使用してピアに送信する
通常の状況下で{ 、サーバーが認証されていない、クライアントの整数]
4、クライアントがURLの下端にリソース要求する;
5、資源サーバは、クライアントが暗号化を要求する
各コネクションを接続する短い生成される(およびショートコネクタを接続したまま)新しいキー;
実験:サイトへのHTTPSアクセス建てのopensslツールの使用方法
の形式を使用してopensslコマンド:
opensslのサブコマンド
のopensslヘルプ
サブコマンドに男サブ//コマンドのヘルプ情報をチェック
の形式を使用してopensslコマンド:
opensslのサブコマンド
のopensslヘルプ
サブコマンドに男サブ//コマンドのヘルプ情報をチェック
https://www.cnblogs.com/BurnovBlog/p/10990052.html
opensslの
ENCの
バージョン
のRSA
、DSA
---
MD5舎
---
AES
、DES
DES3
RC2-CFBの
RC-CBC
ENCの
バージョン
のRSA
、DSA
---
MD5舎
---
AES
、DES
DES3
RC2-CFBの
RC-CBC
-------------------------------------------------- ------
のTelnet [欠点:平文、安全でない]
C / S - Sを聴く:23 - TCP
ネットワークデバイス上でオープン開口のTelnetデフォルト;
ラインVTY 0 4
ログインローカル
ユーザ名のpasswd
----- ----------------
ラインVTY 0 4
伐採
パスワードXXX
---------------------
ラインVTY 0 4
ログインAUTHENCATION AAA
のテストのaaa。。。
ユーザー名パスワード書き込みAAAは
[]のユーザーに委任することができます
のTelnet [欠点:平文、安全でない]
C / S - Sを聴く:23 - TCP
ネットワークデバイス上でオープン開口のTelnetデフォルト;
ラインVTY 0 4
ログインローカル
ユーザ名のpasswd
----- ----------------
ラインVTY 0 4
伐採
パスワードXXX
---------------------
ラインVTY 0 4
ログインAUTHENCATION AAA
のテストのaaa。。。
ユーザー名パスワード書き込みAAAは
[]のユーザーに委任することができます
サーバ機器: - (ルートにログインするためにTelnetを使用することはできません)Telnetサーバをお勧めするには、ログインしていない
のTelnet-サーバー
xinetdを
https://www.cnblogs.com/BurnovBlog/p/10988627.html
のTelnet-サーバー
xinetdを
https://www.cnblogs.com/BurnovBlog/p/10988627.html
-------------------------------------------------- --------
SSHの
パラメータ最適化のSSHサービス端末の
C / SとTelnetなど、 - opensslの(ソフトウェアプログラム)
(パスワードの送信を暗号化された)データを暗号化することのできる
、SSHプロトコルは、SSL / TLSプロトコルを意味し、 ;データ、暗号化データを送信するために
データを送信する前に、と会った
:SSHログインプロセス
、SSLトンネル確立1
送信公開鍵が
生成され、ランダムな秘密鍵情報を送信し
、トンネルを確立するために
【動作がトンネル内に完了した後]
2、サーバー画面ログインする戻る
3、クライアントはパスワードを入力します-パスワードはユーザーパスワード(ルート)であります
SSHの
パラメータ最適化のSSHサービス端末の
C / SとTelnetなど、 - opensslの(ソフトウェアプログラム)
(パスワードの送信を暗号化された)データを暗号化することのできる
、SSHプロトコルは、SSL / TLSプロトコルを意味し、 ;データ、暗号化データを送信するために
データを送信する前に、と会った
:SSHログインプロセス
、SSLトンネル確立1
送信公開鍵が
生成され、ランダムな秘密鍵情報を送信し
、トンネルを確立するために
【動作がトンネル内に完了した後]
2、サーバー画面ログインする戻る
3、クライアントはパスワードを入力します-パスワードはユーザーパスワード(ルート)であります
SSH認証方法:
。1は、passwdパスワード認証モード
2、証明書認証メカニズム-フリーキー
のssh-keygenは-t RSA -P '' -f 'の〜/ .ssh / id_rsaと'
SSH-コピー-IDの[email protected] .94.130
自動的/root/.sshのauthorized_keysディレクトリの末尾に公開鍵送信
クライアントログオンサーバーへ
のSSH [email protected]「ifconfigコマンド」
プル、SCPプッシュを
SFTPを
。1は、passwdパスワード認証モード
2、証明書認証メカニズム-フリーキー
のssh-keygenは-t RSA -P '' -f 'の〜/ .ssh / id_rsaと'
SSH-コピー-IDの[email protected] .94.130
自動的/root/.sshのauthorized_keysディレクトリの末尾に公開鍵送信
クライアントログオンサーバーへ
のSSH [email protected]「ifconfigコマンド」
プル、SCPプッシュを
SFTPを
スクリプト:自動化された実行によって、インタラクティブなインターフェースを実現することを期待;
#!は/ usr / binに/期待
!スポーン-新しいセッション#/ binに/ bashのを開くことを期待
センド-行動は
期待-一致する文字列
のInterActを-タイムアウトが
期待します「*コマンド*「{yes "を送る」 }
裁判官は、使用exp_continueを複数の文を実行することを期待する場合、
192.168.1.1に- 192.168.1.100にはログインパスワードを行いません。
#!は/ usr / binに/期待
!スポーン-新しいセッション#/ binに/ bashのを開くことを期待
センド-行動は
期待-一致する文字列
のInterActを-タイムアウトが
期待します「*コマンド*「{yes "を送る」 }
裁判官は、使用exp_continueを複数の文を実行することを期待する場合、
192.168.1.1に- 192.168.1.100にはログインパスワードを行いません。
#/ binに/バッシュ!
のssh-keygenは-t rsaの-P '' -f '/root/.ssh/id_rsa' -做判断:[!-f /root/.ssh/id_rsa.pub] &&のssh-keygenは-t rsaの-P '' -f '/root/.ssh/id_rsa'
のssh-keygenは-t rsaの-P '' -f '/root/.ssh/id_rsa' -做判断:[!-f /root/.ssh/id_rsa.pub] &&のssh-keygenは-t rsaの-P '' -f '/root/.ssh/id_rsa'
<< EOF期待
にssh-コピー-IDを生む-i /root/.ssh/id_rsa.pub [email protected]
{期待
{} "123456 \ n"を送る"パスワード"を
}
対話
EOFの
SSHの[email protected]を
にssh-コピー-IDを生む-i /root/.ssh/id_rsa.pub [email protected]
{期待
{} "123456 \ n"を送る"パスワード"を
}
対話
EOFの
SSHの[email protected]を
-------------------------------------------------- -------------------------------------------------- ------------
#!/ binに/ bashのの
#1
[!-f /root/.ssh/id_rsa.pub] &&のssh-keygenは-t rsaの-p '' &>は/ dev / nullを
読み取りラインしばらく;行う
IP = `エコー$行を| -d」 "-f1`カット
USER_NAME =`エコー$行を| -d」 "-f2`カット
pass_word =`エコー$行を| "` -f3「-dカット
<< EOF期待
にssh-コピー-IDを生む-i /root/.ssh/idrsa.pub $ USER_NAME @ $ IP
{期待
はい/いいえはい"{送る"\ n"を"; exp_continue }
"パスワード" {} "$のpass_wordを\ n"送信
}
EOF期待
EOFが
行わが</root/host_ip.txt
#1
[!-f /root/.ssh/id_rsa.pub] &&のssh-keygenは-t rsaの-p '' &>は/ dev / nullを
読み取りラインしばらく;行う
IP = `エコー$行を| -d」 "-f1`カット
USER_NAME =`エコー$行を| -d」 "-f2`カット
pass_word =`エコー$行を| "` -f3「-dカット
<< EOF期待
にssh-コピー-IDを生む-i /root/.ssh/idrsa.pub $ USER_NAME @ $ IP
{期待
はい/いいえはい"{送る"\ n"を"; exp_continue }
"パスワード" {} "$のpass_wordを\ n"送信
}
EOF期待
EOFが
行わが</root/host_ip.txt
/root/your_scripts.sh H /ルート/root/host_ip.txt pscp.pssh
PSSH /root/host_ip.txt -h -iバッシュ/root/your_scripts.sh
PSSH /root/host_ip.txt -h -iバッシュ/root/your_scripts.sh
-------------------------------------------------- --------
sshの共通パラメータ:
ポート22022
AddressFamily @ IPv4またはIPv6のいずれかの
ListenAddressを0.0.0.0 //すべては修正する一般的な必要性に対応
:::すべてのIPv6のアドレス@
HostKey(ホスト鍵)//キーホスト
KeyRegenerationIntervalに1H //新しく生成された対称鍵
SyslogFacilityにしますAUTH //ログインの方法は
、ロギング*は/ var / log /安全な情報*に上陸した
LoginCraceTime 2M // 2風の着陸長い猶予
のPermitRootLogin yesを//許可するかどうかを管理者ログイン
StrictModesをyesを//使用するかどうかを厳密にチェックモード
試みのMaxAuthTries 6 //最大数
のセッションのMaxSessionsの10 //最大数
RSAAuthenticationはい// RSA認証
PubkeyAuthenticationはい
PasswordAuthenticationをはい//パスワードベースの認証かどうか
ChallengeResponscAuthenticationはい//チャレンジ認証
#Kerberosオプション//ガード認定、サードパーティ製の結束認証サービスアーキテクチャ
オプションGSSAPI
X11フォワーディング//オープンパターン転写能力の
UseDNSなし//閉じDNSの逆引き
ポート22022
AddressFamily @ IPv4またはIPv6のいずれかの
ListenAddressを0.0.0.0 //すべては修正する一般的な必要性に対応
:::すべてのIPv6のアドレス@
HostKey(ホスト鍵)//キーホスト
KeyRegenerationIntervalに1H //新しく生成された対称鍵
SyslogFacilityにしますAUTH //ログインの方法は
、ロギング*は/ var / log /安全な情報*に上陸した
LoginCraceTime 2M // 2風の着陸長い猶予
のPermitRootLogin yesを//許可するかどうかを管理者ログイン
StrictModesをyesを//使用するかどうかを厳密にチェックモード
試みのMaxAuthTries 6 //最大数
のセッションのMaxSessionsの10 //最大数
RSAAuthenticationはい// RSA認証
PubkeyAuthenticationはい
PasswordAuthenticationをはい//パスワードベースの認証かどうか
ChallengeResponscAuthenticationはい//チャレンジ認証
#Kerberosオプション//ガード認定、サードパーティ製の結束認証サービスアーキテクチャ
オプションGSSAPI
X11フォワーディング//オープンパターン転写能力の
UseDNSなし//閉じDNSの逆引き