安全相关工具
rpm -qf /usr/bin/ssh
openssh
semanage port -a -t ssh_port_t -p tcp #PORTNUMBER/端口9527
修改ssh的默认端口,ssh默认只能用22端口
多台主机互联免口令
1 ssh-keygen
三台主机各自生成私钥公钥
2 ssh-copy-id IP7
三台主机各自复制公钥到同一台主机
3 scp authorized_keys IP:/root/.ssh/
集合三台公钥的主机把公钥文件分别复制到各台主机
scp
-C:压缩数据流
-r:递归复制
-p:保持原文件属性信息
-q:静默模式
-p PORT: 指明remote host的监听的端口
不适合文件的部分更新
rsync
比scp更快,只复制不同/发生变化的文件
可以结合别的命令实现多台主机之间自动同步各自的文件
rsync -av /etc/sysconfig/ IP:/app
复制文件到对应IP
—————————————————————————————————
sftp
交互式文件传输工具
用法和传统的ftp工具相似
利用ssh服务实现安全的文件上传下载
使用ls cd mkdir rmdir pwd get put等命令,可用?或者help获取帮助信息
sftp [user@]host
sftp> help
!pwd 加!可执行本机命令,不加是执行tftp命令
前提实现基于key验证(ssh-genkey)(ssh-copy-id)
pssh (适用于小企业中批量管理)
pssh是一个python编写可以在多台服务器上执行命令的工具,也可实现文件复制
pssh -H 172.18.101.19 -i getenforce 查看远程主机的selinux
setenforce 0 禁用selinux
pssh -h IP -i date
pssh -h IP -o /app/ip.log -i cat /var/log/secure
查看多台主机的日志存放在-o指定的目录下
pssh -h IP -i \rm -rf /app/*
pscp.pssh -h IP /etc/selinux/config /etc/selinux/config
复制文件
pslurp -h IP -L /app/ /var/log/secure remote_secure
抓取别的主机文件到本机
————————————————————————————————
ssh端口转发
本地转发
三个主机
在1主机 telnet服务
1主机利用ssh封装telnet连接2主机,然后连接3主机,3认为是2连接
1 3主机安装telnet服务
2 iptables -A INPUT -s 172.18.101.216 -j REJECT
3主机制定策略禁止1主机连接
iptables -vnL 查看策略
iptables -F 清除策略
3 ssh -L 9527:172.18.101.152:23 172.18.101.19 -Nf
1主机上执行ssh命令建立连接3主机的隧道,f是放到后台
4 telnet 127.0.0.1 9527
1主机通过telnet连接3主机,3主机可以看到是2主机连接
2主机充当的是ssh的服务器同时也是telnet的客户端 telnet会打开23端口
5 killall ssh
任务完成后可以杀掉建立隧道的9527端口服务 ps aux
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
远程转发
在2主机
1主机通过2主机连接3主机
/etc/postfx/mail.cf 邮件服务的配置文件
1 3主机/etc/postfx/mail.cf
init_interfaces=localhost / 修改为all
systemctl restart postfix.service 端口25
2 [root@station1 /]#telnet 127.0.0.1 9527
正文邮件
Trying 127.0.0.1…
Connected to station1.example.com (127.0.0.1).
Escape character is ‘^]’.
220 CentOS7.liu.com ESMTP Postfix
helo
501 Syntax: HELO hostname
mail from:mayun@alibaba.com
250 2.1.0 Ok
rcpt to:root
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
subject:hello
welcome to alibaba!
.
250 2.0.0 Ok: queued as F25862221E7
quit
221 2.0.0 Bye
Connection closed by foreign host.
2主机充当ssh的客户端1主机充当ssh的服务器
过程:数据传输到1主机sshsrv:9527服务器,在1主机打开sshsrv:22端口发送到2主机,对于sshsrv服务器
2主机是一个客户端打开的是随机端口,再次在2的主机上开一个随机端口作为telnet的客户端把数
据传输到3主机telnetsrv:23
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
动态端口转发
1 /var/www/html/index.html 可提供外部网站
在7中设置网站内容
iptables -A INPUT -s IP6 -j REJECT
设置策略拒绝6的访问
2 ssh -D 1080 IP5 -N
在6中设置5做为跳板机去连接7,实现翻墙
3 在6浏览器中设置preferences-network-connection设代理-SOCKS HOST 127.0.0.1 1080端口
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
/etc/ssh/sshd_config
semanage port -a -t ssh_port_t -p tcp #PORTNUMBER/端口9527
修改ssh的默认端口,ssh默认只能用22端口
listenAddress IP
可禁止公网IP连接,只允许私网
systemctl reload sshd
重启服务reload不断网
PermitRootLogin yes 禁止root连接
ClientAliveInterval 30 企业中通常是启用的进过多长时间自动断开连接
UseDNS yes改为no可提高连接速度
GSSAPIAuthentication yes改为no可提高连接速度
banner ssh连接提示语
/etc/ssh/banner.txt
welcome to mage
在banner一行写入文件路径
Allowusers user ssh允许指定用户连接
Denyusers user ssh禁止指定用户连接
tail /var/log/secure -f 查看安全日志
grep -f file1 file2 比较两个文件的相同之处
diff file1 file2 比较两个文件的不同之处
测试当前安全日志中记录失败连接数大于5个,加入策略禁止连接
#!/bin/bash
> /app/ip.txt
while true;do
awk ‘/Failed password/{ ip[$(NF-3)]++ }END{ for( i in ip){if(ip[i]>5){print i}}}’ /var/log/secure > /app/secu
re.log
while read line ;do
grep -q $line /app/ip.txt || { iptables -A INPUT -s $line -j REJECT ; echo $line >> /app/ip.txt; }
done < /app/secure.log
sleep 1m
done
完!
__________________________________________________________
Dropbear SSH
—————————————————————————————
AIDE
高级的入侵检测工具
—————————————————————————————
sudo
更改身份
su :su -l username -c ‘command’
sudo
/etc/sudoers
通过sudo授权
不建议修改文件,有专门配置文件
/etc/sudoers.d
wang ALL=(root) /usr/bin/mount,…
sudo mount /dev/sr0 /mnt/cdrom
%(表示组)
sudo -u wang vim /etc/…
代表王执行命令
visudo -f wang
wang ALL/IP=(root) sudoedit
授权wang做任何事
wang ALL=(root) /usr/bin/cat /var/log/secure*
sudo cat /var/log/secure /etc/shadow
安全漏洞(*)
解决:wang ALL=(root) /usr/bin/cat /var/log/secure*,!/bin/cat /var//log/secure* *
sudo -V 查看详细信息
man hosts_access 查看帮助说明
/etc/hosts.allow ssh服务允许远程连接
sshd:IP
/etc/hosts.deny ssh服务禁止连接
sshd,telnetd@IP:ALL
sshd:IP. EXCEPT(除了) IP
IP:allow 允许
sshd:172.18.101. :spawn echo `date +”%%F %%T”` client\:%c login on server\:%s > /app/tcpwrapper.log
in.relnetd,sshd:192.168.27. :twist(替换)/bin/echo “deny access Server sshd 403”
/app/hosts.deny
sshd:IP
tcpdmatch -d sshd IP
测试连接IP成功失败
cp /app/hosts.deny /etc/hosts.deny
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91481