發表文章

目前顯示的是 2017的文章

Fortigate 只接受特定外網IP 進行PING

圖片
Fortigate 只接受特定外網IP 要設定,讓特定外網IP Ping Fortigate,在執行上比較麻煩,意思是你不能特別關閉PING,再讓PING端口開啟給一個指定IP。 求其次,你只能設置讓特定IP能訪問Fortigate Firewall,順便能PING。 一般來說,Interfaces裡的Restricted Access功能,大家都很熟悉,裡面能讓WAN開啟HTTPS,SSH,PING服務去做管理,而這個Restricted Access部份,是設計給”Administrator”使用的。意思是指 System>Administrators 裡面的Users。 所以,只要修改Administrators>admin,裡面Enable “Restrict login to trust hosts” ,並加入管理者的常用外網IP,就能讓Fortigate只接受特定IP訪問,包括HTTPS和PING。 但有種情況,我只想要某IP,只能PING,而不能做其他訪問,要如何做? 以下解說: 1. 在System>Admin Profiles 新增一個Admin設置,老外都喜歡叫no_logon,Access Control設成全部None。 2. 在System>Administrators 新增一個User,例如ping_only, Administrator Profile設成剛剛的no_logon。 3. 把剛剛新增的User的Restrict login to trusted hosts. 並設置指定外網IP。 4. 單是限制這個User並不足夠,「所有」其他Admin帳戶都要設置Restrict login to trusted hosts. 並設置成管理者常用的外網IP。 增加no_logon的Admin Profile,設置為「無權限」 為ping_only新增一個trust host 結論可想而見, ping_only的trusted hosts可以PING到該Fortigate Firewall,但不能登錄。 而admin帳戶的Trust hosts就可以Ping可以登錄。 後記,有些...

SYN_FLOOD Apache 的 SYN_RECV數 最大只有 256 ?

圖片
環境 CentOS 7,Apache 2.4 新安裝的Server,的確如遭遇SYN_FLOOD時,很容易就達到預設的SYN上限256。Google了很多,很多文章都教直接修改 net.ipv4.tcp_max_syn_backlog=128 ,去一個更大的值例如 1024。 但在Kernel2.6之後呢,有些文章指出,Apache的Backlog是依據另一個參數 net.core.somaxconn=128去做Backlog。因為兩個值的預設值都是128,所以可能比較容易混淆。兩個值都設到1024或以上(視乎RAM)是比較好。  我的機器設置了兩個IP,同一個Apache服務器,當其中一個IP受到SYN_FLOOD攻擊時,另一個IP的Virtual Host居然沒受到影響,可見系統資源是遊刃有餘,可是因為SYN_RECV的上限是256,所以過長的隊列讓Virtual Host變得不穩定。 正題,設置 sysctl -w net.core.somaxconn=1024    #修改 httpd.conf vi httpd.conf 增加 ListenBacklog 800  #註: 如果沒加這句,預設值是511,因為ListenBacklog是mpm類,所以我是加到mpm中。如果不設置,他的值就是511,所以不設置也是OK的。 #重啟Apache systemctl stop httpd.service systemctl start httpd.service #測試 輸入指令 ss -lti '( sport = :http )' 得出以下類似結果,注意Send-Q的Listen有你剛剛設置的數值 State      Recv-Q Send-Q Local Address:Port                 Peer Address:Port    LISTEN     0      800       :::http...