自動化運維跟安全配置

安全相關工具
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 18:42
下一篇 2018-02-07 11:53

相關推薦

  • Linux基礎學習總結(一)

    一、計算機的組成與功能 二、Linux的版本 三、Linux的哲學思想 四、Linux基礎命令(一) 五、Linux幫助信息 六、Linux目錄結構

    Linux干貨 2016-09-20
  • DNS服務器之配置

    一、安裝DNS服務器     DNS服務的安裝包為bind,使用yum直接安裝即可:     安裝完成后,查看DNS服務相關的文件: 二、配置正向區域     1、在配置正向區域之前,先來看下主配置文件中的內容:    &nbsp…

    Linux干貨 2015-05-03
  • 使用 nice、cpulimit 和 cgroups 限制 cpu 占用率

    Linux內核是一名了不起的馬戲表演者,它在進程和系統資源間小心地玩著雜耍,并保持系統的正常運轉。 同時,內核也很公正:它將資源公平地分配給各個進程。 但是,如果你需要給一個重要進程提高優先級時,該怎么做呢? 或者是,如何降低一個進程的優先級? 又或者,如何限制一組進程所使用的資源呢? 答案是需要由用戶來為內核指定進程的優先級 大部分進程啟動時的優先級是相同…

    Linux干貨 2015-02-14
  • N25第二周作業

    第二周 一、文件管理命令 復制命令:cp 命令格式   cp [OPTION]… [-T] SOURCE DEST   cp [OPTION]… SOURCE… DIRECTORY   cp [OPTION]…

    Linux干貨 2016-12-09
  • 馬哥linux課堂筆記

    0805課堂筆記 基本權限 讀,寫,執行   對于文件的讀權限,能否查看文件內容.(文件內容需不需要看,如果是文本就需要看,如果是二進制就不需要看) 對于文件的寫權限,能否修改文件內容,不能修改文件名,不能刪除文件.(如果需要修改文件內容和文件名,必須在其父目錄增加寫權限和執行權限) 對于文件的執行權限,能否運行他.   對于目錄的讀權限…

    Linux干貨 2016-08-15
  • 管理分區和文件系統及掛載設備

    管理分區 列出塊設備 lsblk       分區工具fdisk fdisk -l /dev/sdX 查看硬盤分區信息 CentOS7: fdisk -l /dev/sda 默認開啟dos及扇區顯示模式    開啟dos及柱面顯示模式:fdisk -c=dos -u=cylinders -l /dev/sda…

    2017-08-26
欧美性久久久久