自動化運維跟安全配置

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

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

相關推薦

  • Linux文件之普通權限及其特殊權限

    普通權限: 當我們使用ls -l命令查看某個文件時: [root@centos7 ~]# ls -l file1.txt  -rw-r–r–. 1 root root 30286 Aug  1 19:30 file1…

    Linux干貨 2016-08-04
  • 系統自動化安裝的實現及SELINUX的設置

    系統的自動化安裝     anaconda:系統安裝程序         tui:基于圖形庫curses的文本窗口         gui:圖形窗口     裝載根文件系統,并啟動…

    Linux干貨 2016-09-16
  • 馬哥教育網絡班21期+第9周課程練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash while read line; do     if [[ $line&n…

    Linux干貨 2016-09-06
  • 初識路由以及小實驗

    路由(routing)就是通過互聯的網絡把信息從源地址傳輸到目的地址的活動。路由發生在OSI網絡參考模型中的第三層即網路層。 初識路由以及小實驗 根據實驗的目的要求畫出實驗拓撲圖 準備實驗環境 根據實驗拓撲圖開始配置 配置計算機的IP: 配置路由器R1和R2的IP 配置路由 實驗目的 實驗準備 實驗步驟 驗證實驗結果 實驗目的 為了更好的了解路由,通過一個小…

    Linux干貨 2016-11-24
  • https搭建

    https             http over ssl = https 443/tcp                 ssl: v3           &nb…

    Linux干貨 2016-06-28
  • 馬哥教育網絡班22期+第1周課程練習

    1.描述計算機的組成及其功能 計算機的組成及各功能:  計算機主要由硬件、操作系統、軟件三大部分組成 硬件 :主要由五部分組成 :運算器:主要是做數據運算              控制器:控制計算機各部件的協調和尋址操作         …

    Linux干貨 2016-08-15
欧美性久久久久