צור חומת אש משלך עם iptables באמצעות סקריפט פשוט זה חלק 2

חומת אש_ (רשת)

שלום לכולם, היום אני מביא לכם חלק שני מסדרת ההדרכות בנושא חומת אש עם iptables, פשוטים מאוד בכדי שתוכלו להעתיק ולהדביק, אני חושב שבסופו של יום זה מה שכל המתחילים מחפשים או אפילו הכי הרבה מנוסים, מדוע עלינו להמציא את הגלגל מחדש 100 פעמים, נכון?

הפעם אני אומר להם לנסות להתמקד במקרה הספציפי ביותר האם אנו רוצים שחומת האש שלנו תהיה הרבה יותר אגרסיבית עם מדיניות OUTPUT DROP. פוסט זה הוא גם לבקשת הקורא של דף זה והפוסט שלי. (בתוך מוחי Wiiiiiiiiiiiiii)

בואו נדבר קצת על "היתרונות והחסרונות" של קביעת מדיניות זריקת תפוקות, זו שאני יכול לספר לכם עליה היא שהיא הופכת את העבודה למייגעת ועמלנית יותר, אולם המקצוען הוא שברמת הרשת תהיה לכם ביטחון מאשר אם ישבת כדי לחשוב, לתכנן ולתכנן היטב את המדיניות, יהיה לך שרת הרבה יותר בטוח.

כדי לא להסתובב או לרדת מהנושא, אני אסביר לך במהירות עם דוגמה כמה כללים שלך צריכים להיות פחות או יותר

iptables -A OUTPUT -o eth0 -p tcp –ספורט 80 -m מדינה –מדינה הוקמה -j קבלה
-A כי הוספנו את הכלל
-o מתייחס לתעבורה יוצאת ואז הממשק ממוקם אם לא מצוין מכיוון שהוא תואם את כולם.
-ספּוֹרט נמל המקור, ממלא תפקיד חשוב מכיוון שברוב המקרים איננו יודעים מאיזו נמל הם הולכים להגיש את הבקשה, אם כן נוכל להשתמש ב- dport
–דפורט נמל יעד, כאשר אנו יודעים מראש מראש כי על החיבור היוצא לעבור רק לנמל ספציפי. זה צריך להיות עבור משהו מאוד ספציפי כמו שרת MySQL מרוחק למשל.
- מ 'מדינה - מדינה שהוקמה זה כבר קישוט לשמירה על הקשרים שהוקמו כבר, נוכל להעמיק אותו בפוסט עתידי
-d אם לדבר על יעד, אם ניתן לציין אותו, למשל ssh למכונה ספציפית על ידי ה- ip שלה

#!/bin/bash

# אנו מנקים טבלאות iptables -F iptables -X # אנו מנקים NAT iptables -t nat -F iptables -t nat -X # טבלת מנגלים לדברים כמו PPPoE, PPP ו- iptables כספומט -t mangle -F iptables -t mangle -X # מדיניות אני חושב שזו הדרך הטובה ביותר למתחילים ו # עדיין לא רע, אסביר את הפלט (פלט) הכל בגלל שהם חיבורים יוצאים #, קלט אנחנו זורקים הכל, ואף שרת לא צריך להעביר. iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # אינטראנט LAN אינטראנט = eth0 # Extranet wan extranet = eth1 # שמור על מצב. כל מה שכבר מחובר (הוקם) אנו משאירים את זה כככבי iptal זה - מצב INPUT -m - מדינה הוקמה, קשורה -j קבלה
iptables -A OUTPUT -m state - מדינה הוקמה, קשורה -j קבלה
# מכשיר לולאה. iptables -A קלט -i lo -j קבל
# פלט loopback של Iptables -A OUTPUT -o lo -j ACCEPT

# http, https, אנחנו לא מציינים את הממשק כי # אנחנו רוצים שזה יהיה כל iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --port 443 -j ACCEPT
# עזיבה
# http, https, אנחנו לא מציינים את הממשק בגלל
# אנחנו רוצים שזה יהיה לכולם אבל אם נציין את יציאת הפלט
iptables -A OUTPUT -p tcp - sport 80 -j קבל Iptables -A OUTPUT -p tcp - sport 443 -j ACCEPT

# ssh רק באופן פנימי וממגוון זה של iptables ip -A INPUT -p tcp -s 192.168.xx / 24 -i $ אינטרא-נט --port 7659 -j קבל
# פלט # ssh רק באופן פנימי ומתוך טווח זה של ip
iptables -A OUTPUT -p tcp -d 192.168.xx / 24 -o $ אינטראנט - ספורט 7659 -j קבל
# ניטור למשל אם יש להם zabbix או iptables של שירות snmp אחר - A INPUT -p tcp -s 192.168.1.1 -i intranet $ --port 10050 -j ACCEPT
# עזיבה
# ניטור למשל אם יש להם zabbix או שירות snmp אחר
iptables -A OUTPUT -p tcp -d 192.168.1.1 -o $ אינטראנט --port 10050 -j קבל

# icmp, פינג טוב זו ההחלטה שלך iptables -A INPUT -p icmp -s 192.168.xx / 24 -i $ intranet -j ACCEPT
# עזיבה
# icmp, פינג טוב היא ההחלטה שלך
iptables -A OUTPUT -p icmp -d 192.168.xx / 24 -o $ אינטראנט -j קבל

#mysql עם postgres הוא יציאה 5432 iptables -A קלט -p tcp -s 192.168.xx - ספורט 3306 -i $ אינטראנט -j קבל
# פלט - שאלה שנשאלה גם על ידי משתמש ליצור שרת # כלל מאוד ספציפי: 192.168.1.2 mysql: 192.168.1.3
#mysql עם postgres הוא יציאה 5432
iptables -A OUTPUT -p tcp -s 192.168.1.2 -d 192.168.1.3 --port 3306 -o $ אינטראנט -j קבל

#sendmail bueeeh אם אתה רוצה לשלוח קצת דואר # טבלאות -A OUTPUT -p tcp --dport 25 -j קבלה # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # IP שרת - ה- IP wan האמיתי של שרת LAN_RANGE שלך = "192.168.xx / 21" טווח LAN # של הרשת שלך או של ה- vlan # IP שלך שלעולם לא אמור להיכנס לאקסטרא-נט, זה להשתמש במעט לוגיקה אם יש לנו ממשק WAN גרידא, זה לא צריך הזן # סוג LAN תעבורה דרך ממשק זה SPOOF_IPS = "0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16" # פעולת ברירת מחדל - לביצוע כאשר כלל כלשהו תואם ל- ACTION = "DROP" # חבילות עם ip זהה לשרת שלי דרך iptables wan -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION
iptables -A OUTPUT -o $ אקסטרא-נט $ SERVER_IP -j $ ACTION

# חבילות עם טווח ה- LAN לוואן, אני מגדיר את זה ככה למקרה שיש לך # רשת מסוימת, אבל זה מיותר עם כלל # הבא בתוך טבלאות הלולאה "עבור" - INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION
iptables -A OUTPUT -o $ אקסטרא-נט $ LAN_RANGE -j $ ACTION

## כל רשתות SPOOF אינן מורשות על ידי ה- wan עבור ip ב- $ SPOOF_IPS עושות iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION
iptables -A OUTPUT -o $ אקסטרא-נט $ ip -j $ ACTION
עשה

בסקירה הבאה נבצע טווח נמל וגם נקבע מדיניות המאורגנת לפי שמות, בין היתר ... אני ממתין לתגובות ובקשותיכם.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.