פורסם: 12/07/2004 - 15:32
נושא ההודעה: בסיס לסקריפט אתחול פיירוול מבוסס iptables
|
את הבסיס הזה עשיתי מהסקריפט אתחול פיירוול שלי. אני לא נותן את הסקריפט המלא שלי מסיבות בטיחות.
הסקריפט חופשי ומשוחרר תחת ה GPL.
קוד: |
#!/bin/sh
# Iptables initialization script
echo "Initializing Iptables"
# Logged drop
iptables -N LDROP
iptables -A LDROP -p tcp -j LOG --log-level 3 --log-prefix 'DROP '
iptables -A LDROP -p udp -j LOG --log-level 3 --log-prefix 'DROP '
iptables -A LDROP -p icmp -j LOG --log-level 3 --log-prefix 'DROP '
iptables -A LDROP -f -j LOG --log-level 3 --log-prefix "DROP "
iptables -A LDROP -j DROP
# Logged accept
iptables -N LACCEPT
iptables -A LACCEPT -p tcp -j LOG --log-level 3 --log-prefix "ACCEPT "
iptables -A LACCEPT -p udp -j LOG --log-level 3 --log-prefix "ACCEPT "
iptables -A LACCEPT -p icmp -j LOG --log-level 3 --log-prefix "ACCEPT "
iptables -A LACCEPT -f -j LOG --log-level 3 --log-prefix "ACCEPT "
iptables -A LACCEPT -j ACCEPT
# Blocked port >1023 services
# Packets to ports greater than 1023 are automatically accepted to everyone.
# Specify here exceptions if needed. For example:
# iptables -A INPUT -s ! 127.0.0.1 -p tcp -m multiport --dports 6000 -j LDROP
# Accept packet on ports >1023
iptables -A INPUT -p tcp -m tcp --dport 1024:65535 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 1024:65535 -j ACCEPT
# Allowed <1024 ports
# Packets to those ports is blocked to the outside.
# Specify exceptions here as needed. Using -j LACCEPT is recommended.
# Examples:
# iptables -A INPUT -s ! 127.0.0.1 -p tcp -m multiport --dports 25,110 -j LACCEPT
# iptables -A INPUT -s ! 127.0.0.1 -p tcp -m multiport --dports 20,21 -j ACCEPT
# Block ports 1-1023
iptables -A INPUT -s ! 127.0.0.1 -p tcp -m tcp --dport 1:1023 -j LDROP
iptables -A INPUT -s ! 127.0.0.1 -p udp -m udp --dport 1:1023 -j LDROP
|
כמה מילים לסיום: הסקריפט בינתיים יעיל רק לסינון חבילות נכנסות והוא ברמה בסיסית מאוד. אני מודע לזה, פשוט זה מבוסס על הסקריפט שלי שלא מסנן חבילות יוצאות (אין לי צורך בינתיים), אבל בשביל מה יש GPL?
תגובות? הערות? הארות? נאצה? טוב טוב אני קצת מגזים
|
|
חזרה לתוכן הדיון |
פורסם: 12/07/2004 - 15:36
נושא ההודעה:
|
פששש... אהבתי מאוד..
סרקנו במשך 4 שעות, הגענו לפורט 200, שתבינו עד כמה זה יעיל!
|
|
חזרה לתוכן הדיון |
פורסם: 12/07/2004 - 17:17
נושא ההודעה:
|
זה לא רע
זה טוב אם רוצים לשמור לוגים
_________________ Sure linux is user-friendly, it's just picky about who its friends are
|
|
חזרה לתוכן הדיון |
פורסם: 12/07/2004 - 18:09
נושא ההודעה:
|
פשוט מדי לטעמי.
צריך משהו שמתבסס על database ועם איזה כלי לעריכה (מבוסס PHP, נגיד?)
|
|
חזרה לתוכן הדיון |
פורסם: 12/07/2004 - 18:16
נושא ההודעה:
|
KingYes : | פששש... אהבתי מאוד..
סרקנו במשך 4 שעות, הגענו לפורט 200, שתבינו עד כמה זה יעיל! |
אל תגזים. באיזה 40 דקות סרק 100 פורטים. וזה עוד כשהיו שניים פתוחים בטווח פורטים הזה (לא שזה היה משפיע במיוחד, אבל עדיין)...
|
|
חזרה לתוכן הדיון |
פורסם: 12/07/2004 - 18:54
נושא ההודעה:
|
חבל שלא הוספת את השורות שלי שמונעות upstream גבוהה במתקפת syn
קוד: | iptables -A OUTPUT -o eth1 -p icmp -m icmp --icmp-type 3/3 -j DROP |
ויש גם עוד חוק שחוסם invalid udp
קוד: | iptables -A INPUT -i eth1 -p udp -m state --state INVALID -m udp -j DROP |
בחוקים אצלי eth1 זה ה interface של האינטרנט
אני מציע שבסקריפט שלך תוסיף שזה יהיה תקף רק ל interface של האינטרנט (בערך כמו בסקריפט שיתוף אינטרנט במדריך בפינגווין, משהו עם env var, EXTIF או משהו כזה )
_________________ Sure linux is user-friendly, it's just picky about who its friends are
|
|
חזרה לתוכן הדיון |
פורסם: 12/07/2004 - 19:30
נושא ההודעה:
|
שיפרתי את הסקריפט קצת
קוד: | #!/bin/bash
# Iptables initialization script
#########################################################################
# EDIT HERE #
#########################################################################
# Your internet connection interface here
# EXTIF="eth0"
# EXTIF="ppp0"
EXTIF="eth0"
# iptables' binary location, edit if the PATH variable is not set or invalid, otherwise leave it `which iptables`
# IPTABLES='/sbin/iptables'
# IPTABLES=`which iptables`
IPTABLES=`which iptables`
#########################################################################
# SCRIPT BEGIN #
#########################################################################
echo "Initializing Iptables"
# Logged drop
$IPTABLES -N LDROP
$IPTABLES -A LDROP -p tcp -j LOG --log-level 3 --log-prefix 'DROP '
$IPTABLES -A LDROP -p udp -j LOG --log-level 3 --log-prefix 'DROP '
$IPTABLES -A LDROP -p icmp -j LOG --log-level 3 --log-prefix 'DROP '
$IPTABLES -A LDROP -f -j LOG --log-level 3 --log-prefix 'DROP '
$IPTABLES -A LDROP -j DROP
# Logged accept
$IPTABLES -N LACCEPT
$IPTABLES -A LACCEPT -p tcp -j LOG --log-level 3 --log-prefix 'ACCEPT '
$IPTABLES -A LACCEPT -p udp -j LOG --log-level 3 --log-prefix 'ACCEPT '
$IPTABLES -A LACCEPT -p icmp -j LOG --log-level 3 --log-prefix 'ACCEPT '
$IPTABLES -A LACCEPT -f -j LOG --log-level 3 --log-prefix 'ACCEPT '
$IPTABLES -A LACCEPT -j ACCEPT
# Blocked port >1023 services
# Packets to ports greater than 1023 are automatically accepted to everyone.
# Specify here exceptions if needed. For example:
# iptables -A INPUT -i $EXTIF -p tcp -m multiport --dports 6000 -j LDROP
# Accept packet on ports >1023
$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 1024:65535 -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -p udp -m udp --dport 1024:65535 -j ACCEPT
# Allowed <1024 ports
# Packets to those ports is blocked to the outside.
# Specify exceptions here as needed. Using -j LACCEPT is recommended.
# Examples:
# iptables -A INPUT -i $EXTIF -p tcp -m multiport --dports 25,110 -j LACCEPT
# iptables -A INPUT -i $EXTIF -p tcp -m multiport --dports 20,21 -j ACCEPT
# Block ports 1-1023
$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 1:1023 -j LDROP
$IPTABLES -A INPUT -i $EXTIF -p udp -m udp --dport 1:1023 -j LDROP
# Block outgoing 'connection refuesed' ICMP packet type 'port-unreachable'
$IPTABLES -A OUTPUT -o $EXTIF -p icmp -m icmp --icmp-type 3/3 -j LDROP
# Block invalid UDP packets
$IPTABLES -A INPUT -i $EXTIF -p udp -m state --state INVALID -m udp -j LDROP |
_________________ Sure linux is user-friendly, it's just picky about who its friends are
|
|
חזרה לתוכן הדיון |
פורסם: 12/07/2004 - 22:56
נושא ההודעה:
|
יתרונות הקוד הפתוח הוכיחו את עצמם שוב נתתי את הסקריפט ברשיון חופשי וכבר קיבלתי הצעות ושיפורים תודה על ההצעות והשיפורים ומי יודע, אולי הסקריפט הזה יהפוך להיות פרויקט חופשי (למה שיהיה מסחרי?) ענקי ומצליח
|
|
חזרה לתוכן הדיון |
פורסם: 12/07/2004 - 23:00
נושא ההודעה:
|
אתה צודק במאה אחוז..
הנה ההיתרון מראה את עצמו בפועל.
|
|
חזרה לתוכן הדיון |
פורסם: 14/07/2004 - 00:18
נושא ההודעה:
|
טוב לא צריך להתרגש יותר מדי
כולה הוספתי כמה שורות חחח
_________________ Sure linux is user-friendly, it's just picky about who its friends are
|
|
חזרה לתוכן הדיון |
|