TCP Wrapper 和 SSH配置:
TCP Wrappers的功能
TCP Wrappers是大多数Linux发行版本中都默认提供的功能
TCP Wrappers的主要执行文件是“tcpd”
tcpd程序可以将其他的网络服务程序“包裹”起来,从而进行集中的访问控制设置
RHEL4系统中缺省安装了TCP Wrappers
# rpm -q tcp_wrappers
tcp_wrappers-7.6-37.2
telnet服务器的安装
RHEL4系统中默认不安装telnet服务器
telnet-server软件包在第4张安装光盘,需要手工进行安装
rpm -ivh /media/cdrom/RedHat/RPMS/telnet-server-0.17-30.i386.rpm
telnet服务由xinetd调度启动
telnet在xinetd服务中的启动配置文件
/etc/xinetd.d/telnet
telnet服务默认不启动,需手工设置
# chkconfig telnet on
# service xinetd restart
TCP Wrappers使用两个设置文件
“hosts.allow”和“hosts.deny”两个文件的用于保存TCP Wrappers基于主机地址的访问控制策略
# ls /etc/hosts.*
/etc/hosts.allow /etc/hosts.deny
“hosts.allow”文件用于保存允许访问的策略
“hosts.deny”文件用于保存拒绝访问的策略
“hosts.allow”和“hosts.deny”文件中保存的设置是即时生效的
设置文件的格式
“hosts.allow”和“hosts.deny”文件中具有相同格式的配置记录
<服务程序列表>:<客户机地址列表>[:动作]
“客户机地址列表”字段的表示
ALL代表所有的客户机地址
LOCAL代表本机地址
KNOW代表可解析的域名
UNKNOW代表不可解析的域名
以句点“.”开始的域名代表该域下的所有主机,例如“.ltest.com”代表“ltest.com”域中的所有主机
对某个子网中的所有主机使用“子网/掩码”的形式表示
对于网络中的某个主机可直接使用IP地址表示
“动作”字段使用“allow”表示允许,使用“deny”表示拒绝
TCP Wrappers策略配置
hosts.deny文件
in.telnetd: ALL
hosts.allow文件
in.telnetd: 192.168.1.188
采取先“全部禁止”再“逐个开放”的策略设置方法,可以较好的实现“只允许……”的访问策略
SSH协议提供两种用户认证方式
基于口令的安全认证
与telnet类似,提供正确的用户口令后可以登录远程服务器
基于密钥的安全认证
使用公钥和私钥对的方式对用户进行认证
RHEL4系统中OpenSSH服务器和客户端软件是默认安装的
openssh软件包是实现ssh功能的公共软件包
openssh-server软件包实现了SSH服务器的功能
openssh-clients软件包中包含了SSH服务的客户端程序
openssh-askpass和openssh-askpass-gnome只有在Linux的图形界面下使用SSH服务时才需要
OpenSSH的服务程序名称是sshd
sshd服务程序的启动脚本
/etc/init.d/sshd
sshd服务程序缺省状态为自动启动
sshd服务的启动与停止
启动服务程序
service sshd start
停止服务程序
service sshd stop
服务器配置文件
SSH服务器的配置文件是sshd_config
/etc/ssh/sshd_config
客户机配置文件
SSH客户程序的配置文件是ssh_config
/etc/ssh/ssh_config
使用ssh命令登录SSH服务器
# ssh
[email protected]
首次登录SSH服务器
为了建立加密的SSH连接需要用户在客户端确认服务器发来的RSA密钥 (输入yes)
用户认证
每次登录SSH服务器都需要输入正确的用户口令
SSH登录使用的是SSH服务器主机中的用户帐号
“.ssh”目录
在SSH客户主机的用户宿主目录中,使用名为“.ssh”的目录保存用户的SSH客户端信息
~/.ssh/
“.ssh”目录在用户首次进行SSH登录后自动建立
“known_hosts”文件
“known_hosts”文件位于“.ssh”目录中
“known_hosts”文件用于保存当前用户所有登录过的SSH服务器的RSA密钥
基于密钥的SSH用户认证
设置密钥认证的一般步骤
1.在SSH客户端生成用户的公钥和私钥对文件
2.将SSH客户的公钥添加到SSH服务器中用户的认证文件中
3.验证密钥的认证
在SSH客户端生成用户的公钥和私钥对
使用ssh-keygen命令生成密钥对
$ ssh-keygen -t rsa
公钥和私钥文件
ssh-keygen命令将在“.ssh”目录中生成公钥和私钥文件
id_rsa是私钥文件,内容需要严格保密
id_rsa.pub是公钥文件,可发布到SSH服务器中
复制公钥文件
将客户端中的用户公钥文件复制到SSH服务器中
公钥文件的复制可使用软盘、U盘或网络
也可以使用scp远程复制过去。
将公钥内容追加到authorized_keys 文件
authorized_keys 文件保存在SSH服务器中用户目录的“.ssh”子目录中
authorized_keys用于保存所有允许以当前用户身份登录的SSH客户端用户的公钥内容
使用“>>”重定向符将用户公钥追加到authorized_keys文件中
cat id_rsa.pub >> ~/.ssh/authorized_keys
有公钥的话,在客户机连接的时候就不用再输入密码了。