跳至內容
阿里BaBa電腦筆記
使用者工具
登入
網站工具
工具
顯示頁面
舊版
反向連結
最近更新
多媒體管理器
網站地圖
登入
最近更新
多媒體管理器
網站地圖
足跡:
linux:filterip
本頁是唯讀的,您可以看到原始碼,但不能更動它。您如果覺得它不應被鎖上,請詢問管理員。
======簡單過濾IP====== 開放sshd服務,通常在登入檔內容裡會碰到許多異常IP嘗試暴力登入, 或許有接觸過linux都知道grep及正規表示法可利用解決此問題。本篇利用grep(egrep)及配合正規表示法來找出有存在(/var/log/secure) 檔案內容異常ip。 ======過濾方法====== [root@MyLinux cron.daily]#cat /var/log/secure | grep 'sshd' | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' ======編寫一個Shell Script====== 為了過濾異常及不明IP,來達到實際便利需球,特別寫了一個Shell Script。 <code 1> #!/bin/bash #過濾的ip群 string=`cat /var/log/secure | grep 'sshd'|egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' |sort|uniq` #利用for each迴圈方式一筆一筆寫入到指定檔案內容中 for tmp in $string do #判斷過濾的ip是否與檔案內容有重複:沒有就寫入 if ! grep -q $tmp /etc/hosts.deny ; then echo sshd:$tmp >> /etc/hosts.deny fi done </code> ======配合簡單系統管理====== 利用Linux既有的排程方法,在每天AM 4:00執行一次(/var/log/secure)內容過濾。 * 認識Crontab [root@MyLinux cron.daily]#vim /etc/crontab <code 1> SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly #每小時 01分 執行這個/etc/cron.hourly/資料夾裡的程式 02 4 * * * root run-parts /etc/cron.daily #每天 4時 02分 執行這個/etc/cron.daily/資料夾裡的程式 22 4 * * 0 root run-parts /etc/cron.weekly #每週日 4時 22分 執行這個/etc/cron.weekly/資料夾裡的程式 42 4 1 * * root run-parts /etc/cron.monthly #每月 1日 4時 42分 執行這個/etc/cron.monthly/資料夾裡的程式 </code> * 上一個項目的Shell Script 放置到 /etc/cron.daily/
linux/filterip.txt
· 上一次變更: 2013/07/06 01:28 (外部編輯)
頁面工具
顯示頁面
舊版
反向連結
回到頁頂