自动化运维跟安全配置

安全相关工具
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

(2)
liuyongweiliuyongwei
上一篇 2018-02-06
下一篇 2018-02-07

相关推荐

  • Linux发展史

    独白:    先来说说我对Linux的认识吧,用一个成语形容:狗屁不通,想了一下,文明社会还是和谐点比较好,算是闻所未闻吧。15年初从朋友那得知Linxu,冲着他那十几K的工资还是挺心动的,说实在很仰慕他,有点计算机基础,自学两个月出山,当时月薪8k;而我还是拿着3,4k的工资,也没什么本领,于是找他要了些有关视频资料,也开始了自学之路,…

    Linux干货 2017-04-08
  • 用户管理生产环境实践案例

    关于用户管理的命令回顾:visudo 用户管理生产环境实践案例 1. 关于用户管理命令的回顾 2. 正文 关于用户管理的命令回顾: <1> useradd命令 <2> 其他命令 (1)信息收集 (2)模拟用户测试 <1> 问题现状 <2> 需求分析 <3> 实现方针 <4>. 实施过程 …

    Linux干货 2016-10-18
  • Linux任务计划

        任务计划分类:    一次性任务计划:只执行一次就结束                at batch    周期性任务计划:每隔一定的周期去…

    Linux干货 2017-05-08
  • shell脚本的一点补充

    脚本内容补充 数组 变量:存储单个元素的内存空间数组:存储多个元素的连续的内存空间,相当于多个变量的集合。 数组名和索引 索引:编号从0开始,属于数值索引注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。bash的数组支持稀疏格式(索引不连续) 数组的使用 声明数组: declare -a ARRAY_NAME…

    Linux干货 2016-08-24
  • 数组

    数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合 数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引, 八十的数组支持稀疏格式(索引不连续 声明数组: Declare -a ARRAY_NAME Declare -A ARRAY_NAME:关联数组 注意…

    Linux干货 2018-01-02