22期第十四周課堂練習

系統的INPUT和OUTPUT默認策略為DROP;

[root@localhost ~]# iptables -P INPUT DROP
[root@localhost ~]# iptables -P OUTPUT DROP

1、限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin字符串的頁面不允許訪問;web服務器僅允許響應報文離開本機;

 [root@localhost ~]# iptables -A OUTPUT -p tcp  -m state --state ESTABLISHED -j ACCEPT
 [root@localhost ~]# iptables -A INPUT -d 192.168.180.130 -p tcp --dport 80 -m time ! 
 --weekdays 1 -m limit --limit 100/second  -j ACCEPT
 [root@localhost ~]# iptables -I OUTPUT -s 192.168.180.130 -p tcp --sport 80 -m string 
 --algo bm --string "admin" -j REJECT

2、在工作時間,即周一到周五的8:30-18:00,開放本機的ftp服務給172.16.0.0網絡中的主機訪問;數據下載請求的次數每分鐘不得超過5個;

[root@localhost /]# modprobe  nf_conntrack_ftp
[root@localhost /]# lsmod |grep ftp
nf_conntrack_ftp       12913  0 
nf_conntrack           79758  4 nf_conntrack_ftp,nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state
[root@localhost /]# iptables -I  INPUT 1 -p tcp -s 172.16.0.0/16 -d 192.168.180.130  --dport 21 
-m time --timestart 8:30 --timestop 18:00 --weekdays 1,2,3,4,5 -m limit --limit  5/minute -m state 
--state NEW,ESTABLISHED -j ACCEPT
[root@localhost /]# iptables -I 2 INPUT  -d 192.168.180.130 -p tcp  -m state --state RELATE,ESTABLISHED 
-j ACCEPT
[root@localhost ~]# iptables -A OUTPUT -p tcp  -m state --state ESTABLISHED -j ACCEPT

3、開放本機的ssh服務給172.16.x.1-172.16.x.100中的主機,x為你的座位號,新請求建立的速率一分鐘不得超過2個;僅允許響應報文通過其服務端口離開本機;

[root@localhost /]# iptables -A INPUT -p tcp -d 192.168.180.130 --dport 22 -m iprange --src-range 
172.16.4.1-172.16.4.100 -m limit --limit 2/m -j ACCEPT
[root@localhost /]# iptables -A OUTPUT -s 192.168.180.130  -p tcp --sport 22 -m state --state ESTABLISHED 
-j ACCEPT

4、拒絕TCP標志位全部為1及全部為0的報文訪問本機;

[root@localhost /]# iptables -A INPUT -d 192.168.180.130 -p tcp --tcp-flags ALL ALL -j DROP
[root@localhost /]# iptables -A INPUT -d 192.168.180.130 -p tcp --tcp-flags ALL NONE -j DROP

5、允許本機ping別的主機;但不開放別的主機ping本機;

[root@localhost /]# iptables -A INPUT -d 192.168.180.130 -p icmp --icmp-type 0 -j ACCEPT
[root@localhost /]# iptables -A OUTPUT -s 192.168.180.130 -p icmp --icmp-type 8 -j ACCEPT

6、判斷下述規則的意義:

  # iptables -N clean_in //創建自定義表

  # iptables -A clean_in -d 255.255.255.255 -p icmp -j DROP //拒絕所有的廣播的icmp報文

  # iptables -A clean_in -d 172.16.255.255 -p icmp -j DROP  //拒絕到172.16.網段的廣播icmp報文

  # iptables -A clean_in -p tcp ! –syn -m state –state NEW -j DROP  //拒絕第一次握手tcp狀態不是new的連接

  # iptables -A clean_in -p tcp –tcp-flags ALL ALL -j DROP  //拒絕TCP標志位全部為1的連接

  # iptables -A clean_in -p tcp –tcp-flags ALL NONE -j DROP //拒絕TCP標志位全部為0的連接

  # iptables -A clean_in -d 172.16.100.7 -j RETURN  //目標是172.16.100.7的連接返回到clean_in鏈

  # iptables -A INPUT -d 172.16.100.7 -j clean_in  

  # iptables -A INPUT  -i lo -j ACCEPT //允許lo網口的連接進入

  # iptables -A OUTPUT -o lo -j ACCEPT  //允許lo網口的連接出去

  # iptables -A INPUT  -i eth0 -m multiport -p tcp –dports 53,113,135,137,139,445 -j DROP //拒絕從eth0網口訪問端口53,113,135,147,139,445的郵件相關服務進入的tcp連接

  # iptables -A INPUT  -i eth0 -m multiport -p udp –dports 53,113,135,137,139,445 -j DROP //拒絕從eth0網口訪問端口53,113,135,147,139,445的郵件相關服務進入的udp連接

  # iptables -A INPUT  -i eth0 -p udp –dport 1026 -j DROP //拒絕從eth0網卡協議是udp的106端口進入

  # iptables -A INPUT  -i eth0 -m multiport -p tcp –dports 1433,4899 -j DROP //拒絕從eth0網卡的tcp的1433,4899的端口進入 

  # iptables -A INPUT  -p icmp -m limit –limit 10/second -j ACCEPT //允許ping進入并且限制每秒請求速率為10

7、通過tcp_wrapper控制vsftpd僅允許172.16.0.0/255.255.0.0網絡中的主機訪問,但172.16.100.3除外;對所被被拒絕的訪問嘗試都記錄在/var/log/tcp_wrapper.log日志文件中;

[root@localhost ~]# vim /etc/hosts.allow 
vsftpd:172.16. EXCEPT 172.16.100.3
[root@localhost ~]# vim /etc/hosts.deny
vsftpd: ALL :spawn /bin/echo $(date) login attempt from %c to %s, %d >> /var/log/tcp_wrapper.log

原創文章,作者:a295053193,如若轉載,請注明出處:http://www.www58058.com/66182

(0)
a295053193a295053193
上一篇 2017-03-15 15:15
下一篇 2017-03-15 19:09

相關推薦

  • grep與正則表達式

    grep與正則表達式 grep與正則表達式 grep 正則表達式 grep 使用語法:grep [-abcEFGhHilLnqrsvVwxy][-C<顯示列數>][-e<范本樣式>][-f<范本文件>][范本樣式][文件或目錄…]  功能說明:查找指定文件或標準輸入里符合條件的字符串 常用選項 -a…

    Linux干貨 2016-11-05
  • shell腳本1——test測試

    程序:指令+數據 程序:算法+數據結構 shell腳本編程: 編程的語言分類:根據運行方式     編譯運行:源代碼——>編譯器——>程序文件     解釋運行:源代碼——>運行時啟動解釋器,由解釋器邊解釋邊執行 根據其編程過程中功能的實現是否調用庫還是調用外部…

    Linux干貨 2016-08-18
  • iptables學習筆記   Netfilter:是Linux操作系統核心層內部的一個數據包處理模塊。   Hook point:數據包在Netfilter中的掛載點。(PRE_ROUTIN   ,INPUT,OUTPUT,FORWARD,POST_ROUTING)   iptables 規則組成:四張表+五條鏈(Ho…

    Linux干貨 2016-12-05
  • 軟件包管理器之一——RPM介紹及應用

    一、前言:     在沒有軟件包管理器前,用戶都是通過源代碼的方式來安裝軟件。但是我們很容易發現,在每次安裝軟件時都必須對操作系統的境、編譯的參數進行對應的編譯,并且操作過程很是復雜,這對于不熟悉操作系統的朋友來說真心困難,那么有沒有一款軟件能讓用戶能很簡單的安裝所需的軟件呢?    &n…

    Linux干貨 2015-07-20
  • 第十周作業

    第十周作業 ? 1、CentOS系統啟動流程: 1.加電自檢:由bios去檢測各硬件是否存在且是否正常運行,然后進行硬件初始化 2.選擇啟動順序,加載mbr:根據bios設置的設備啟動順序,找到第一個安裝有bootloader的設備進行啟動,bootloader去識別加載操作系統中的核心文件,并提交到內存中運行,進而來啟動相對應的操作系統 由于bootloa…

    Linux干貨 2017-11-13
欧美性久久久久