對于虛擬服務器SSH暴力登錄攻擊的防范

蝸牛vps 大硬盤VPS 2020-07-19 687 0
請輸入內容  【摘 要】 虛擬服務器(VPS)是一種服務器分割技術,它是將一個服務器分割成多個虛擬的服務器,而每個虛擬服務器有自己單獨的IP地址,其在節約帶寬,提高訪問速度,降低管理成本方面有著較大的優勢,但是VPS的安全性還是面臨著較大的考驗,本文通過VPS在實際運行中遭遇的一次SSH暴力攻擊來解析相應的防范措施。
  【關鍵詞】 虛擬服務器 SSH 攻擊
  在VPS的日常維護中,查看系統日志是一個非常好的習慣,通過日志我們可以了解到VPS的運行狀態,尤其對于VPS安全狀態,我們更可以通過查看日志來獲取信息,以下通過一次SSH的暴力攻擊來探討VPS的防范措施。
  1 修改 SSH 端口,禁止 root 登陸
  修改/etc/ssh/sshd_config文件 $ sudo vi /etc/ssh/sshd_config Port 4484 #一個別人猜不到的端口號 PermitRootLogin no $ sudo /etc/init.d/ssh restart
  2 禁用密碼登陸,使用 RSA 私鑰登錄
  Amazon EC2 服務器原本就是只可以使用私鑰登錄,但如果想在其它的計算機臨時 通過SSH登陸,又沒帶私鑰文件的情況下,就很麻煩。所以需要手動開啟密碼驗證登錄。
  # 在客戶端生成密鑰
  $ ssh-keygen -t rsa # 把公鑰拷貝至服務器 $ ssh-copy-id -i .ssh/id_rsa.pub server
  # 也可以手動將.shh/id_rsa.pub拷貝至服務器用戶目錄的.ssh中,修改訪問權限
  # $ scp .shh/id_rsa.pub server:~/.ssh # 在服務器中 $ cd ./.ssh/
  $ mv id_rsa.pub authorized_keys $ chmod 400 authorized_keys $ vi /etc/ssh/sshd_config
  RSAAuthentication yes #RSA認證 PubkeyAuthentication yes #開啟公鑰驗證
  AuthorizedKeysFile .ssh/authorized_keys #驗證文件路徑 PasswordAuthentication no #禁止密碼認證 PermitEmptyPasswords no #禁止空密碼 UsePAM no #禁用PAM # 最后保存,重啟 $ sudo /etc/init.d/ssh restart
  3 安裝Denyhosts
  這個方法比較省時省力。denyhosts 是 Python 語言寫的一個程序,它會分析 sshd 的日志文件,當發現重復的失敗登錄時就會記錄 IP 到 /etc/hosts.deny 文件,從而達到自動屏 IP 的功能。這和我之前介紹的自動屏蔽掃描的腳本 是一個思路。如果靠人工手動添加的話工作量非常巨大?,F今 denyhosts 在各個發行版軟件倉庫里都有,而且不需要過多配置,簡單易用。安裝:
  # Debian/Ubuntu:$ sudo apt-get install denyhosts
  # RedHat/CentOS $ yum install denyhosts
  # Archlinux $ yaourt denyhosts
  # Gentoo $ emerge -av denyhosts
  默認配置就能很好的工作,如要個性化設置可以修改 /etc/denyhosts.conf:
  $ vi /etc/denyhosts.conf
  SECURE_LOG = /var/log/auth.log #ssh 日志文件,根據此文件來判斷。
  HOSTS_DENY = /etc/hosts.deny #控制用戶登陸的文件
  PURGE_DENY = #過多久后清除已經禁止的,空表示永遠不解禁
  BLOCK_SERVICE = sshd #禁止的服務名,如還要添加其他服務,只需添加逗號跟上相應的服務即可
  DENY_THRESHOLD_INVALID = 5 #允許無效用戶失敗的次數
  DENY_THRESHOLD_VALID = 10 #允許普通用戶登陸失敗的次數
  DENY_THRESHOLD_ROOT = 1 #允許root登陸失敗的次數
  DENY_THRESHOLD_RESTRICTED = 1
  WORK_DIR = /var/lib/denyhosts #運行目錄
  SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
  HOSTNAME_LOOKUP=YES #是否進行域名反解析
  LOCK_FILE = /var/run/denyhosts.pid #程序的進程ID
  ADMIN_EMAIL = root@localhost #管理員郵件地址,它會給管理員發郵件
  SMTP_HOST = localhost
  SMTP_PORT = 25
  SMTP_FROM = DenyHosts 
  SMTP_SUBJECT = DenyHosts Report
  AGE_RESET_VALID=5d #用戶的登錄失敗計數會在多久以后重置為0,(h表示小時,d表示天,m表示月,w表示周,y表示年)
  AGE_RESET_ROOT=25d
  AGE_RESET_RESTRICTED=25d
  AGE_RESET_INVALID=10d
  RESET_ON_SUCCESS = yes #如果一個ip登陸成功后,失敗的登陸計數是否重置為0
  DAEMON_LOG = /var/log/denyhosts #自己的日志文件
  DAEMON_SLEEP = 30s #當以后臺方式運行時,每讀一次日志文件的時間間隔。
  DAEMON_PURGE = 1h #當以后臺方式運行時,清除機制在 HOSTS_DENY 中終止舊條目的時間間隔,這個會影響PURGE_DENY的間隔。
  查看我的 /etc/hosts.deny 文件發現里面已經有 8 條記錄。
  總結:通過之后運行監測,以上的配置能夠抵御SSH暴力登陸,提升了虛擬服務器的安全性。????????????????????????????????????????????????????????????????????????????????? @localhost>
對于虛擬服務器SSH暴力登錄攻擊的防范  第1張

評論

日本韩欧美一级A片在线观看