自动化运维跟安全配置

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

    1、写一个脚本,使用ping命令探测192.168.4.1-192.168.4.254之间的所有主机的在线状态; 在线的主机使用绿色显示; 不在线的主使用红色显示; #!/bin/bash #description: #date: #Author: for i in {1..254}; do if ping -c 3 192.168.4.$i &&g…

    2017-09-19
  • pxe和dhcp服务——引导安装操作系统

    BootStraping:系统提供(OS Provision) pxe –> preboot excution environment, Intel cobbler –> Cobbler is a network install server.  Cobbler supports PXE, ISO virtual…

    Linux干货 2016-11-05
  • Linux系统分区管理

    管理分区     查看系统中的分区4种方式 [root@localhost ~]# ls /dev/sd* [来自内存] [root@localhost ~]# cat /proc/partitions [root@localhost ~]# lsblk /dev/sda  /dev/sda1  /dev/sda2  /dev/sda3 …

    Linux干货 2017-12-02
  • 程序包管理rpm&yum&编译安装

    centos6.6程序包管理 二进制应用程序的组成部分: 二进制文件,库文件,配置文件和帮助文件 程序包管理器:rpm rpm包管理器的前端工具:yum 程序包之间存在依赖关系 rpm的命名方式: name_VERSION_release.arch.rpm     VERSION: major.minor.r…

    Linux干货 2016-07-07
  • 第六章:文本处理工具

    第六章:文本处理工具 文本查看命令(cat) 分页查看文件(more) 文本查看上下翻页(less) 显示头部(head) 显示尾部(tail) 按列抽取文本cut 合并文件paste 收集文本统计数据wc 文本排序sort 删除重复uniq 比较文件diff 复制对文件改变patch 文本搜索工具grep egrep 及扩展的正则表达式 作业: 第六章:文…

    Linux干货 2016-08-10
  • 马哥教育网络班21期+第7周课程练习

    1、创建一个10G分区,并格式为ext4文件系统;     fdisk /dev/sdb    n p 1 +10G w (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl…

    Linux干货 2016-08-22