要約:
SSHは、IETFのWebチーム(ネットワークワーキンググループ)によって開発された、セキュアシェルの略で、SSHは、アプリケーション層のセキュリティプロトコルに基づいて構築されています。SSHは、リモートログインセッションのためのセキュリティプロトコル、およびその他のネットワークサービスを提供するために設計された、より信頼性の高いです。SSHプロトコルは、効果的情報開示問題の過程におけるリモート管理の使用を防止することができます。SSHは、もともとUNIXシステム上のプログラムだった、と後に素早く他のオペレーティング・プラットフォームに広がりました。ネットワークの脆弱性を補うことができ、適切に使用SSH。複数のプラットフォーム用のSSHクライアント。ほとんどすべてのUNIXプラットフォーム - HP-UX、Linuxでは、AIX、Solarisの、デジタルUNIX、Irixの、および他のプラットフォームを含むが、SSHを実行することができます。
基本機能:
1.まず、我々は、サーバー、クライアントとして一つとして、2つのLinuxシステムをオープンしました。編集用のvimエディタ「は、/ etc / ssh / sshd_config」と我々は最初のSSHサーバの設定ファイル。
Port 22 监听端口,默认监听22端口
#AddressFamily any IPV4和IPV6协议家族用哪个,any表示二者均有
#ListenAddress 0.0.0.0 指明监控的地址,0.0.0.0表示本机的所有地址
#ListenAddress :: 指明监听的IPV6的所有地址格式
#LoginGraceTime 2m 会话时间,默认2分钟则自动断开连接
#PermitRootLogin yes 是否允许管理员直接登录,'yes'表示允许
#StrictModes yes 是否让sshd去检查用户主目录或相关文件的权限数据
MaxAuthTries 6 最大认证尝试次数,最多可以尝试6次输入密码。
#MaxSessions 10 允许的最大会话数
(将“#”删除即可开启相应功能)
2.を有効にするように設定されているサービスを再起動することを忘れないでください、私たちは、サーバーでのクライアントとの接続を試みます。
私たちは、その後、ログインするためのユーザーパスワードを入力することができ、直接ログインユーザルート(サービスのエンドユーザーに注意)とサーバーのIPアドレスを入力するために使用しました。私は上陸していない場合、システムは、接続したいかどうか聞いてきます、あなたは単に「はい」と入力して、前に上陸しました。
同じユーザー名、クライアントのユーザー名とサーバー場合は、ログイン時にユーザー名を省略することができます。
デフォルトのポートSSHサービスでは、ポートを設定しない場合、ポート22が自動的にリモートホストへのログイン要求をします、22です。我々は、構成ファイル内のポート番号を変更する場合、我々は、ポート番号を指定するには、-pオプションを使用することができます。例えば、ポート123へ:
3.私たちは、他の誰かが意志で確かに安全ではありませんログオンすることができれば、rootユーザーは、システムの管理者であることを知っています。だから我々は、人々は、rootでログインすることができない、設定ファイルを変更することができます。サービスを再起動することを忘れないでください修正します。
我们再次用root用户登录,输入密码后显示权限拒绝,而换成zhangsan用户又可以登录了。
4.虽然我们限制了使用root用户登录,但是当我们用zhangsan用户登录了,用“su”命令任然可以切换到root用户。
所以我们可以开启“su”命令的PAM安全认证功能,我们只要将允许用“su”命令的用户添加到“wheel”组即可。
可以看到用户“jiang”在“wheel”组中,用户“zhangsan”不在。我们再用“zhangsan”用户切换root用户已经显示权限拒绝,而在“wheel”组用户“jiang”任然可以切换root用户。
5.前面我将最大认证尝试次数6次数开启了,我们可以测试一下是否成功。
可以看到当我们尝试了6次,就自动被断开连接了。但是我们得用“-o NumberOfPasswordPrompts=8”选项才能测试成功,如果直接输入,还是默认3次就会断开连接。
6.我们还可以通过在服务端配置文件里添加黑白名单来限制登录的用户和IP地址。
黑白名单不能同时存在,一般企业中多用白名单,下面以白名单为例演示。
首先我们在配置文件中添加白名单,限制zhangsan用户只能在ip为192.168.52.132的主机上进行登录,lisi用户可以在任意主机上进行登录。配置完成要重启服务。
我们在ip为192.168.52.132的主机上登录时,可以看到由于设置了白名单,用户“jiang”不在名单里所有已经不能登录了,而zhangsan与lisi用户任然可以登录。
我们在ip为192.168.52.128的主机上登录时,只有lisi用户可以登录,zhangsan用户不能登录,因为我们限制了zhangsan用户只能在ip为192.168.52.132的主机上进行登录。
scp命令与sftp命令
1.我们将之前设置的白名单删除,允许root用户登录改为“yes”,并重启服务。
2.首先在client主机的“/opt/”目录,新建一个文件“ssh_client.txt”和一个目录“ssh”,然后用scp命令将它们都复制到server主机的“/opt/”目录下。
3.再在client主机的“/opt/”目录下,创建一个文件“test01”,然后在“server”主机用scp命令将文件复制过来。
4.我们将之前在两台主机“/opt/”目录下新建的目录和文件删除,分别在server与client的“/opt/”目录下创建两个文件demo01、demo02。
5.我们在client主机用sftp命令也可以登录server主机进行文件的上传和下载。上传用“put”命令,下载用“get”命令,同时我们还可以用cd命令进行目录的切换。
6.可以看到我们可以用cd命令随意切换目录,这样很不安全,所以我们可以通过对ssh服务端配置文件进行修改,将sftp命令连接后限制在我们指定的目录里。
首先用vim编辑器对文件“/etc/ssh/sshd_config”进行编辑,将“Subsystem sftp /usr/libexec/openssh/sftp-server”注释掉。然后添加下面的命令:
Subsystem sftp internal-sftp
Match User zhangsan
ChrootDirectory /home/zhangsan
X11Forwarding no
ForceCommand internal-sftp
AllowTcpForwarding no
(配置完别忘了重启服务)
然后我们进入“/home/”目录,将我们指定的目录“zhangsan”的权限设为“755”,属主、属组均改为root。
我们再“/home/zhangsan/”目录下,新建5个空文件。
我们再次用client主机,通过sftp连接server主机,可以看到我们直接就登录到“zhangsan/目”录中了。当我们想切换到别的目录时,都不能成功。
密钥对登录
1.将之前的限制sftp登录切换目录的配置修改回来,开启密钥对登录功能(删除#即可),并重启服务。
2.首先用“ssh-keygen -t ecdsa”命令生成密钥对,将密钥文件存在“/home/zhangsan/.ssh/”目录中。
ホストサーバに導入された「id_ecdsa.pub」の下3.コマンド「のssh-コピー-ID -i id_ecdsa.pub [email protected]」ディレクトリ「/home/zhangsan/.ssh/」公開鍵ファイル。
4.私たちは、限り、あなたはキーを入力することができます前に、それがあるとして、再度ログインするsshコマンドを使用します。
5.しかし、我々はあなたがログインするたびに、我々は単にプロキシのbashを使用し、この時点で、あなたがキー、我々はキーを入力せずに次回ログインしたときに追加することができ、難しいだろうキーを入力する必要があります。
TCPラッパー戦略
制御ポリシーの設定ファイル:
- /etc/hosts.allowファイル(ホワイトリストファイル)
- /etc/hosts.denyを(ブラックリストファイル)
ポリシーの適用順序:
- hosts.allowのファイルをチェックし、一致が直接アクセス、ノーチェックのhosts.denyにファイルを許可し、その後発見されました。
- ファイルは、検出見つけ、その後、hosts.denyにファイルをhosts.allowファイルとしない場合は、アクセスが拒否されます。
- 二つのファイルがない一致するポリシー場合は、デフォルトのアクセスが許可されています。
1.最初の編集のvimエディタでファイル「/etc/hosts.allowのは」ホワイトリストip192.168.52.132を追加します。
すべての設定したIPブラックリスト「/etc/hosts.denyを」編集をファイルに、次に2.のvimエディタと。
3.ここでは192.168.52.132 IPホスト、クライアントとそれぞれclient02 192.168.52.128ログのホストにログインすることができ、クライアントのホストIPで唯一のホワイトリスト。
4.クライアントホストのIPは、ホワイトリストを削除し、結果はログオンできない場合、クライアントホストがログインするために、ブラックリストに追加しました。