1. 程式人生 > >Linux系統下的DDOS攻擊防範

Linux系統下的DDOS攻擊防範

netstat 工具來檢測SYN攻擊
# netstat -n -p -t
tcp0 0 10.11.11.11:23124.173.152.8:25882 SYN_RECV-
tcp0 0 10.11.11.11:23236.15.133.204:2577 SYN_RECV-
tcp0 0 10.11.11.11:23127.160.6.129:51748 SYN_RECV-

LINUX系統中看到的,很多連線處於SYN_RECV狀態(在WINDOWS系統中是SYN_RECEIVED狀態),
源IP地址都是隨機的,表明這是一種帶有IP欺騙的SYN攻擊。
# netstat -n -p -t | grep SYN_RECV | grep :80 | wc -l
324
檢視在LINUX環境下某個端囗的未連線佇列的條目數,顯示TCP端囗22的未連線數有324個,
雖然還遠達不到系統極限,但應該引起管理員的注意。
[
[email protected]
wxjsr]# netstat -na | grep SYN_RECV
tcp 0 0 58.193.192.20:80 221.0.108.162:32383 SYN_RECV
tcp 0 0 58.193.192.20:80 125.85.118.231:2601 SYN_RECV
tcp 0 0 58.193.192.20:80 222.242.171.215:2696 SYN_RECV
tcp 0 0 58.193.192.20:80 116.52.10.51:2629 SYN_RECV
tcp 0 0 58.193.192.20:80 218.171.175.157:1117
[[email protected]
wxjsr]# netstat -na | grep SYN_RECV |wc
11 66 979
檢視系統SYN相關的配置
Linux核心提供了若干SYN相關的配置,用命令: sysctl -a | grep syn
[[email protected] apache2]# /sbin/sysctl -a | grep syn
net.ipv6.conf.default.max_desync_factor = 600
net.ipv6.conf.all.max_desync_factor = 600
net.ipv6.conf.eth0.max_desync_factor = 600
net.ipv6.conf.lo.max_desync_factor = 600
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent = 120
net.ipv4.tcp_max_syn_backlog = 1280
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
fs.quota.syncs = 18
防範SYN攻擊設定
#縮短SYN- Timeout時間:
iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT
iptables -A INPUT -i eth0 -m limit –limit 1/sec –limit-burst 5 -j ACCEPT
#每秒 最多3個 syn 封包 進入 表達為 :
iptables -N syn-flood
iptables -A INPUT -p tcp –syn -j syn-flood
iptables -A syn-flood -p tcp –syn -m limit –limit 1/s –limit-burst 3 -j RETURN
iptables -A syn-flood -j REJECT
#設定syncookies:
sysctl -w net.ipv4.tcp_syncookies=1
/sbin/sysctl -w net.ipv4.tcp_max_syn_backlog=3000
/sbin/sysctl -w net.ipv4.tcp_synack_retries=1
/sbin/sysctl -w net.ipv4.tcp_syn_retries=1
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.all.accept_redirects=0
sysctl -w net.ipv4.conf.all.forwarding=0
/sbin/sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
/sbin/sysctl -w net.ipv4.conf.default.accept_source_route=0 # 禁用icmp源路由選項
/sbin/sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 # 忽略icmp ping廣播包,應開啟
/sbin/sysctl -w net.ipv4.icmp_echo_ignore_all=1 # 忽略所有icmp ping資料,覆蓋上一項

相關推薦

Linux系統DDOS攻擊防範

netstat 工具來檢測SYN攻擊 # netstat -n -p -t tcp0 0 10.11.11.11:23124.173.152.8:25882 SYN_RECV- tcp0 0 10.11.11.11:23236.15.133.204:2577 SYN_RECV- tcp0 0 10.11.11

Linux系統的vi編輯器的使用(以VMware的Ubuntu64為例)

linux系統 編輯器 一般模式 ubuntu虛擬機 vi編譯器 上午花費一些時間學習vi編輯器,下面把學習的一些經驗記錄在這篇博文中。 vi編輯器是Linux系統下的基本編譯器,工作在字符模式,是一個很高效的文本編譯器,它在系統和服務器管理上的功能是普通的圖形編譯器所不能夠

linux系統的權限控制

str .cn images mod 大小 -1 系統 介紹 pad linux系統下的權限控制 1.文件權限 在我們的linux系統中,文件或目錄的權限可以分為3種: r:4 讀 w:2 寫 x:1 執行 示例: 644:(4+2) (4) (4) 第一個6:表

linux系統git使用

一次 som client username 設計 cbe 默認 分布 做什麽 轉載:http://www.cnblogs.com/bear2flymoon/p/4335364.html?ADUIN=563508762&ADSESSION=1430887070&am

Linux系統安裝Mysql5.7.18教程收集分享

最後一行 sdn 作者 tails lin 分享 使用 心態 html 本人最近服務器新手入門,需要搭建一個在linux虛擬機上的服務器 第一天再裝虛擬機,選的linux系統CentOS,一切順利。 第二天,要給虛擬機裝Mysql,但是需要用到命令行進行安裝/操作等,我是一

linux系統 git 使用教程

amp mail 服務器 顯示 clas ear git 使用 安裝 當前 1、首先安裝git軟件,安裝環境是centos 7.x下的雲服務器。使用命令: #yum install git 2、設置用戶名和郵箱(必須): # git config --gl

Linux系統轉換文件編碼的方法

windows version linux 文件編碼轉換 1.利用iconv命令進行文件內容編碼轉換 用法: iconv [選項...] [文件...]有如下選項可用:輸入/輸出格式規範:-f, --from-code=名稱 原始文本編碼-t, --to-code=名稱 輸出編碼信息:

php(thinkphp)在linux系統pdf轉png圖片【轉】

dirname solution ima .tar.gz center thinkphp loaded cep .net PHP)中使用imagick實現把PDF轉成圖片 操作之前,先在linux服務器安裝 ghostscript 650 2017-06-17 13:31

linux系統安裝redis

官網 linu .tar.gz foo pre set inux linux系統 nbsp 去官網找到合適的版本,可以直接下載下來,再用fxp上傳,也可以直接以下面這種方式下載:$ wget http://download.redis.io/releases/redis-3

關於linux系統批量修改文件名和後綴

linux 字符串 總會遇到遇到處理文件的問題,比如文件後綴修改,以前都是寫shell,後來發現有個更簡單的方法rename1,在centos 下是用c 寫的 rename用法: a.txt 修改為 a.cc rename txt cc *.txt

linux系統MySQL表名區分大小寫問題

log 技術分享 區分 table mes 查詢 http 網上 ted 問題如下: 比如上圖中的PERSON表,查詢SQL語句中如果表名是小寫,就會報錯說person表不存在。 因為Linux環境下的MySQL數據庫的表名默認是區分大小寫的,可以查看Linux上的My

虛擬機Linux系統配置網絡

ctrl+ size enc 代碼 網絡 sco 高級 loop 驅動 虛擬機上安裝Redhat9.0後是沒有網絡的,而本來的Windows系統是可以上網的,此時想在Redhat上網就需要在Linux系統上配置網絡,以下是筆者自己配置的一點心得. 1.電腦本機系統打開網絡

服務器Linux系統的ext文件系統修復方案

數據恢復一、故障描述 服務器是dell 730系列服務器,存儲陣列是MD3200系列存儲5T的Lun,操作系統是Linux centos 7,文件系統類型是EXT4,因意外斷電,導致系統不能正常啟動,修復之後系統可以正常啟動,但是掛載的5T分區不能正常訪問了,對這個5T的分區進行fsck修復,修復完成之

linux系統用到的小知識點積累

技術分享 tracking 鳥哥 targe 後退 all -m mux avi preface:在ubuntu下做事情,在終端下執行一些命令。或者在vim裏面做一些操作。自然而然須要用到一些小知識點,沒有怎麽系統地看《鳥哥的菜》,基本上是遇到了什麽問題想要實現什麽

Linux系統基本命令

-a 位置 更改密碼 hist 詳細資料 當前 ftp連接 nbsp 命令 《Linux系統下基本命令》 Linux系統下基本命令: 要區分大小寫 uname 顯示版本信息(同win2K的 ver) dir 顯示當前目錄文件,ls -al 顯示包括隱藏文件(同w

實戰證明LINUX系統密鑰對驗證的安全性

ssh 遠程管理 密鑰對驗證實戰證明LINUX系統下密鑰對驗證的安全性 密鑰對驗證:要求提供匹配的密鑰信息才能通過驗證,首先在客戶端創建一對密鑰文件(公鑰、私鑰),後把公鑰文件放到需要遠程連接的服務器中。遠程登錄時,系統將使用私鑰加密身份信息提交給遠程主機,遠程主機使用對方提交的公鑰來解密進行身份驗證。本

關於linux系統 無法解析主機的問題

主機名 linux系統 host 解決方法 margin inux 主機 找到 etc linux無法解析主機 xxx: 解決方法: 1. sudo gedit /etc/hosts 找到如下行: 127.0.1.1 XXX 將其修改為: 127.0.1.1

linux系統的缺失 libstdc++.so.6: version’GLIBCXX_3.4.20’的問題:

文件 原來 ring rep har style force 4.6 cccccc 在linux下遇到了一個這樣的問題,使用anaconda時,它的安裝庫裏的文件被提示:缺失 libstdc++.so.6: version’GLIBCXX_3.4.20’。後來經過查看資料知

Linux系統C語言如何調用scalapack中的函數

lap inux *** col ocs ack cnblogs scala nal 在並行計算中經常需要調用scalapck(並行化的lapack)函數庫裏面的函數進行編程,這裏簡單介紹在C語言如何調用scalapck中的矩陣向量乘的函數。 註意:scalapack中的函

Linux 系統 /etc/group 檔案結構

linu 結構 passwd 一行 www 賬號 機會 sys 冒號 這個檔案就是在記錄讓 GID 與組名的對應了 /etc/group 內容有點像這樣: [[email protected] ~]# head -n 4 /etc/group root:x:0:r