防火牆和系統安全防禦和優化

啥是個防火牆?html

防火牆(Firewall),也稱防禦牆,是由Check Point創立者Gil Shwed於1993年發明並引入國際互聯網(US5606668(A)1993-12-15)。它是一種位於內部網絡與外部網絡之間的網絡安全系統。一項信息安全的防禦系統,依照特定的規則,容許或是限制傳輸的數據經過。centos

 

所謂防火牆指的是一個由軟件和硬件設備組合而成、在內部網外部網之間、專用網與公共網之間的界面上構造的保護屏障.是一種獲取安全性方法的形象說法,它是一種計算機硬件和軟件的結合,使Internet與Intranet之間創建起一個安全網關(Security Gateway),從而保護內部網免受非法用戶的侵入,防火牆主要由服務訪問規則、驗證工具、包過濾和應用網關4個部分組成,防火牆就是一個位於計算機和它所鏈接的網絡之間的軟件或硬件。該計算機流入流出的全部網絡通訊和數據包均要通過此防火牆。
緩存

在網絡中,所謂「防火牆」,是指一種將內部網和公衆訪問網(如Internet)分開的方法,它其實是一種隔離技術。防火牆是在兩個網絡通信時執行的一種訪問控制尺度,它能容許你「贊成」的人和數據進入你的網絡,同時將你「不一樣意」的人和數據拒之門外,最大限度地阻止網絡中的黑客來訪問你的網絡。換句話說,若是不經過防火牆,公司內部的人就沒法訪問Internet,Internet上的人也沒法和公司內部的人進行通訊。安全

防火牆啥做用?服務器

防火牆具備很好的保護做用。入侵者必須首先穿越防火牆的安全防線,才能接觸目標計算機。你能夠將防火牆配置成許多不一樣保護級別。高級別的保護可能會禁止一些服務,如視頻流等,但至少這是你本身的保護選擇。cookie

 

防火牆基本使用

一、firewalld的基本使用
啓動: systemctl start firewalld
關閉: systemctl stop firewalld
查看狀態: systemctl status firewalld 
開機禁用  : systemctl disable firewalld
開機啓用  : systemctl enable firewalld
 
centos系統安全防禦和優化
 
大佬說: 最小的權限+最小的服務=最大的安全
因此把用不着的都關掉就對了,若是你不知道怎麼關,參考這個https://blog.csdn.net/knight_zhen/article/details/46444451

優化

內核參數優化網絡

vi /etc/sysctl.conf    #末尾添加以下參數  (備註:內核不夠熟,加上註解你們謹慎選擇使用)app

net.ipv4.tcp_syncookies = 1           #1是開啓SYN Cookies,當出現SYN 等待隊列溢出時,啓用Cookies來處理,可防範少許SYN攻擊,默認是0關閉  net.ipv4.tcp_tw_reuse = 1             #1是開啓重用,容許將TIME_AIT sockets從新用於新的TCP鏈接,默認是0關閉                                                       ssh

net.ipv4.tcp_tw_recycle = 5            #TCP失敗重傳次數,默認是15,減 少次數可釋放內核資源                                                                               socket

net.ipv4.tcp_max_syn_backlog = 10240    #進入SYN包的最大請求隊列,默認 是1024                                                                                             

net.core.netdev_max_backlog =  10240  #容許送到隊列的數據包最大設備隊 列,默認300                                                                                        

net.core.somaxconn = 2048              #listen掛起請求的最大數量,默認 128                                                                                               

net.core.wmem_default = 8388608        #發送緩存區大小的缺省值                                                                                                           

net.core.rmem_default = 8388608        #接受套接字緩衝區大小的缺省值 (以字節爲單位)                                                                                    

net.core.rmem_max = 16777216           #最大接收緩衝區大小的最大值                                                                                                       

net.core.wmem_max = 16777216           #發送緩衝區大小的最大值                                                                                                           

net.ipv4.tcp_synack_retries = 2        #SYN-ACK握手狀態重試次數,默認5                                                                                                   

net.ipv4.tcp_syn_retries = 2           #向外SYN握手重試次數,默認4                                                                                                       

net.ipv4.tcp_max_orphans = 3276800     #系統中最多有多少個TCP套接字不 被關聯到任何一個用戶文件句柄上,若是超出這個數字,孤兒鏈接將當即復位並打印警告信息                 

net.ipv4.tcp_mem = 94500000 915000000 927000000   

#net.ipv4.tcp_mem[0]:低於此值,TCP沒有內存壓力;                                                                                                                          

#net.ipv4.tcp_mem[1]:在此值下,進入內存壓力階段;                                                                                                                         

#net.ipv4.tcp_mem[2]:高於此值,TCP拒絕分配socket。內存單位是頁,可根據 物理內存大小進行調整,若是內存足夠大的話,可適當往上調。上述內存單位是頁,而不是字節。             

net.ipv4.ip_local_port_range = 20480  65535  #(表示用於向外鏈接的端口範圍。缺省狀況下很小:32768到61000  注意:這裏不要將最低值設的過低,不然可能會佔用掉正常的端口! 

CentOS 系統優化    
      cp  /etc/profile  /etc/profilebak2
      vi /etc/profile      #在文件末尾添加如下內容
      ulimit -c unlimited
      ulimit -s unlimited
      ulimit -SHn 65535   
      source  /etc/profile    #使配置當即生效
      ulimit -a    #顯示當前的各類用戶進程限制

服務器禁止PING

      cp  /etc/rc.d/rc.local  /etc/rc.d/rc.localbak     
      vi  /etc/rc.d/rc.local        #在文件末尾增長下面這一行
      echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all       
      參數0表示容許   1表示禁止

清空防火牆並設置規則
    iptables -F   #清楚防火牆規則

iptables -L   #查看防火牆規則

iptables -A INPUT -p tcp --dport 80 -j ACCEPT  

iptables -A INPUT -p tcp --dport 22 -j ACCEPT  

iptables -A INPUT -p tcp --dport 53 -j ACCEPT  

iptables -A INPUT -p udp --dport 53 -j ACCEPT  

iptables -A INPUT -p udp --dport 123 -j ACCEPT  

iptables -A INPUT -p icmp -j ACCEPT  

iptables -P INPUT DROP  

/etc/init.d/iptables save

配置防火牆以接受僅來自已知網段的 SSH 鏈接:(慎用:若是那臺主機掛了就慘了,這個真是比較安全的
Update /etc/sysconfig/iptables (Redhat specific file) to accept connection only 
from 192.168.100.0/24 and 209.64.100.5/27, enter:
-A RH-FW-1-INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
-A RH-FW-1-INPUT -s 209.64.100.5/27 -m state --state NEW -p tcp --dport 22 -j ACCEPT 

SSH服務安全配置


     vi /etc/ssh/sshd_config   

     1. 禁用root遠程登陸 

  PermitRootLoginno

  PermitEmptyPasswords no #禁止空密碼登陸 

  2.不要支持閒置會話,並配置 Idle Log Out Timeout 間隔:
  ClientAliveInterval 600 # (Set to 600 seconds = 10 minutes)
  ClientAliveCountMax 0 

  3.禁用用戶的 .rhosts 文件:

  IgnoreRhosts yes

  4.PasswordAuthentication no

  5.配置 iptables,以便在 30 秒內僅容許在端口 2022 上有三個鏈接嘗試:
  Redhat iptables example (Update /etc/sysconfig/iptables): 
  -I INPUT -p tcp --dport 2022 -i eth0 -m state --state NEW -m recent --set

  -I INPUT -p tcp --dport 2022 -i eth0 -m state --state NEW -m recent --update --seconds 30 --hitcount 3 -j DR

  6.ssh安全技巧之更改 SSH 端口
  建議改爲 10000 以上,以下降掃描到端口的機率。

  Port 18439

  7.使用iptables容許特定的主機鏈接
  做爲TCP wrappers的一個代替品,你可使用iptables來限制SSH訪問(但能夠同時使用這個兩個的),這裏有一個簡單的例子,指出瞭如何容許一個特定的主機鏈接到你的SSH服務:
  iptables -A INPUT -p tcp -m state --state NEW --source 193.180.177.13 --dport 22 -j ACCEPT

  保存後重啓ssh服務。    
————————————————

以上優化內容皆爲轉載
版權聲明:本文爲CSDN博主「Andy-Su」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。
原文連接:https://blog.csdn.net/knight_zhen/article/details/46444451

 

 

當我搜索「防火牆和系統安全防禦和優化」,看到這些博客都是2019年12月發佈的,我就明白了一切。校友,額,是院友,也有多是同班的朋友。

因此若是你也是爲了做業看到個人這篇博客的話

那麼

你好

爲了做業憂愁的安師學子

相關文章
相關標籤/搜索