SSHリモートログイン管理とTCPラッパーアクセス制御

1.SSHリモート管理

1.SSHの定義

  • SSH(Secure Shell)は、主に文字インターフェイスのリモートログインおよびリモートコピー機能を実装するために使用されるセキュリティで保護されたチャネルプロトコルです。
  • SSHプロトコルは、ユーザーがログインするときに入力されたユーザーパスワードを含め、通信当事者間のデータ送信を暗号化します。したがって、SSHプロトコルは優れたセキュリティを備えています

2.SSHの利点

  • データ送信は情報漏えいを防ぐために暗号化されています
  • データ転送が圧縮されるため、転送速度が向上する可能性があります

3.SSH構成ファイル

  • sshdサービスのデフォルトの設定ファイルは/ etc / ssh / sshd_configです。
  • ssh_configとsshd_configはどちらもsshサーバーの構成ファイルです
    == 2つの違いは、ssh_configがクライアントの構成ファイルであり、sshd_configがサーバーの構成ファイルであるということです==

4.SSHクライアントとサーバー

  • SSHクライアント:Putty、Xshell、CRT
  • SSHサーバー:OpenSSH
  • OpenSSHは、SSHプロトコルを実装するオープンソースソフトウェアプロジェクトであり、さまざまなUNIXおよびLinuxオペレーティングシステムに適用できます。
  • CentOS 7システムはデフォルトでopenssh関連のソフトウェアパッケージをインストールし、sshdサービスは起動自動起動として追加されました

2つ目は、OpenSSHサーバーを構成することです。

1.sshd_config構成ファイルの一般的なオプション設定

vim /etc/ssh/sshd_config
Port 22 						//监听端口为22 如果设置了端口号 ssh登入需要ssh -p 用户名@地址
ListenAddress 0.0.0.0 					//监听地址为任意网段,也可以指定OpenSSH服务器的具体IP

LoginGraceTime 2m 					//登录验证时间为2分钟
PermitRootLogin no 					//禁止root用户登录
MaxAuthTries 6 						//最大重试次数为 6

PermitEmptyPasswords no 				//禁止空密码用户登录
UseDNS no 						//禁用 DNS 反向解析,以提高服务器的响应速度

//只允许zhangsan、lisi、wangwu用户登录,且其中wangwu用户仅能够从IP地址为61.23.24.25 的主机远程登录
AllowUsers zhangsan lisi [email protected] 		//多个用户以空格分隔

//禁止某些用户登录,用法于AllowUsers 类似(注意不要同时使用)
DenyUsers zhangsan

2、Allowusers与Denyusers

Allowusers……    //仅允许某某用户登陆

3、scpリモートレプリケーション

1.ダウンリンクコピー:リモートホストの/ etc / passwdファイルをローカルマシンにコピーします

scp [email protected]:/etc/passwd /root/passwd1

2.アップリンクコピー:ローカルマシンの/ etc / sshディレクトリをリモートホストにコピーします

scp -r /etc/passwd/ [email protected]:/opt

4、sftpセキュアFTP

暗号化/復号化技術を使用しているため、伝送効率は通常のFTPより低くなりますが、セキュリティは高くなります。操作構文sftpはftpに似ています。

sftp [email protected]
sftp> ls
sftp> get 文件名		//下载件到ftp目录(下载和上传目录 -r)
sftp> put 文件名		//复制(上传)文件到ftp目录
sftp> quit		    //退出

5、sshdサービスは検証方法をサポートします

sshdサービスは、次の2つの認証方法をサポートしてい
ます。1。パスワード認証
サーバー内のローカルシステムユーザーのログイン名とパスワードを確認します。単純ですが、ブルートフォースクラッキングの可能性があります。ブルートフォースクラッキングについては、システムの弱いパスワード検出の詳細な説明について、前のブログを参照してください
。2。キーペアの検証
。検証に合格するには、一致するキー情報が必要です。通常、鍵ファイルのペア(公開鍵、秘密鍵)が最初にクライアントで作成され、次に公開鍵ファイルがサーバー上の指定された場所に配置されます。リモートでログインする場合、システムは公開鍵と秘密鍵を使用して暗号化/復号化の関連付けを確認します。セキュリティを強化し、インタラクティブログインを回避できます。
パスワード検証とキーペア検証の両方が有効になっている場合、サーバーはキーペア検証を優先的に使用します。検証方法は、実際の状況に応じて設定できます。

vim /etc/ssh/sshd_config                        //编辑服务端主配置文件
PasswordAuthentication yes 			//启用密码验证
PubkeyAuthentication yes 		        //启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys         //指定公钥库文件

3.クライアントでキーペアを作成します
。ssh-keygenツールを使用して、現在のユーザーのキーペアファイルを作成します。使用可能な暗号化アルゴリズムは、RSA、ECDSA、またはDSAなどです(ssh-keygenコマンドの「-t」オプションを使用してアルゴリズムタイプを指定します)。
基本的なコマンドの説明

useradd zhangsan
passwd zhangsan
su - zhangsan
ssh-keygen -t ecdsa                                  //以ecdsa算法生成验证密钥
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_ecdsa): 	//指定私钥位置,直接回车使用默认位置
Created directory '/home/admin1/.ssh'.		    //生成的私钥、公钥文件默认存放在宿主目录中的隐藏目录.ssh/下
Enter passphrase (empty for no passphrase): 	//设置私钥的密码
Enter same passphrase again: 			//确认输入

ls -l .ssh/id_ecdsa*   //id_ecdsa是私钥文件,权限默认为600;id_ecdsa.pub是公钥文件,用来提供给 SSH 服务器

2.このメソッドは、サーバーの/home/zhangsan/.ssh/ディレクトリに公開鍵テキストを直接インポートできます。

cd ~/.ssh/
ssh-copy-id -i id_ecdsa.pub [email protected]

3.ログインzhangsanユーザー検証結果

インスタンス
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

6.対話型ログインを実現するために、クライアントでsshプロキシ機能を設定します

ssh-agent bash    //开启ssh代理服务
ssh-add           //密钥添加到高速缓存中
Enter passphrase for /home/admin/.ssh/id_ecdsa:     //输入私钥的密码

ssh [email protected]   //验证无需输入密码登入用户

ここに画像の説明を挿入

7、TCPWrappersアクセス制御

TCP Wrappersは、TCPサービスプログラムを「ラップ」し、TCPサービスプログラムのポートを監視します。セキュリティ検出プロセスが追加されます。外部接続要求は、最初にこのセキュリティ検出層を通過する必要があり、その後、実際にアクセスできます。許可を得た後のサービスプログラム。
ほとんどのLinuxリリースバージョンでは、TCPWrappersはデフォルトで提供される機能です。rpm -q tcp_wrappers

(1)TCPWrapper保護メカニズムの2つの実現方法

1. tcpdプログラムを直接使用して他のサービスプログラムを保護し、tcpdプログラムを実行する必要があります。
2. libwrap.so。リンクライブラリは、tcpdプログラムを実行せずに、他のネットワークサービスプログラムによって呼び出されます。この方法はより広く使用され、より効率的です

(2)lddコマンドを使用して、プログラムのlibwrap.so。*リンクライブラリを表示します。

ldd $(ssh vsftpd)
TCPWrappersアクセス戦略
TCPWrappersメカニズムの保護オブジェクトはさまざまなネットワークサービスプログラムであり、アクセス制御はアクセスサービスのクライアントアドレスで実行されます。
対応する2つのポリシーファイルは/etc/hosts.allowと/etc/hosts.denyで、それぞれ許可ポリシーと拒否ポリシーを設定するために使用されます。
形式:
<サービスプログラムリスト>:<クライアントアドレスリスト>
1.サービスプログラムリスト
ALL:すべてのサービスを表します。
単一のサービスプログラム:「vsftpd」など。
複数のサービスプログラムのリスト:「vsftpd、sshd」など。
2.クライアントアドレスリスト
ALL:任意のクライアントアドレスを表します。
LOCAL:ローカルアドレスを表します。
複数のアドレスはコンマで区切ります。
ワイルドカード文字「*」と「?」を使用できます。前者は任意の長さの文字を表し、後者は1文字のみを表し
ます。192.168.7。や192.168.71.0 /などのネットワークセグメントアドレス
「.Benet.com」などの255.255.255.0エリアアドレスは、bdqn.comドメイン内のすべてのホストと一致します。

(3)TCP Wrappersメカニズムの基本原則:

;最初に一致するポリシーが発見された場合、アクセスが許可されている、/etc/hosts.allowのファイルをチェックし
、そうでない場合は、一致するポリシーが発見された場合は、アクセスが拒否され、/etc/hosts.denyをファイルをチェックしていき、
あなたの場合上記の2つのファイルの両方を確認してください。一致するポリシーが見つからない場合、アクセスが許可されます。
「すべて許可、個人を拒否」
は、対応する拒否ポリシーを/etc/hosts.denyファイルに追加するだけです。「個人を許可、すべてを拒否」/etc/hosts.allowに
許可ポリシーを追加するだけでなく
、次のことも行う必要があります。 / etcにある/hosts.denyファイルに「ALL:ALL」拒否ポリシーを設定します。
IPアドレスが12.0.0.1のホストまたは192.168.80.0/24ネットワークセグメント上のホストからのみsshdサービスにアクセスする場合、他のアドレスは拒否されます

vi /etc/hosts.allow
sshd:12.0.0.1,192.168.71.*

vi /etc/hosts.deny
sshd:ALL

おすすめ

転載: blog.csdn.net/weixin_53567573/article/details/114067265