安全相關工具
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.www58058.com/91481