Điều gì sẽ là đầu ra của mã php sau đây php $ifc null echo $ifc
Trong hướng dẫn sau đây, chúng tôi sẽ bảo mật hơn nữa tường lửa chức năng hiện tại của chúng tôi. Vào thời điểm hoàn thành, chúng ta nên có một bộ quy tắc và chính sách đã được kiểm tra để ngăn chặn không chỉ các cuộc tấn công vào máy tính của chúng ta mà còn cả các cuộc tấn công từ máy tính của chúng ta vào internet. Bảo vệ những người khác khỏi khả năng bị tấn công bởi một trong những máy tính bị xâm nhập của chúng tôi là một khía cạnh thiết yếu và thường bị bỏ qua của bảo mật và phép lịch sự thông thường trên internet. Tôi thậm chí có thể nói đối với mạng SOHO, đây là khía cạnh quan trọng nhất. Thông thường, nhiễm vi-rút chỉ là một vấn đề nhỏ đối với một mạng nhỏ và hiếm khi dẫn đến mất dữ liệu. đối với chúng tôi, 100% người dùng * nix, nó thực tế thậm chí không tồn tại. Tuy nhiên, vì các mạng soho nhỏ thường kém an toàn hơn so với các mạng lớn hơn nên chúng là mục tiêu ưa thích của những kẻ bẻ khóa đang tìm kiếm bệ phóng cho các cuộc tấn công DoS hoặc các trò lừa bịp bất chính khác Những thứ sau đây được cung cấp theo kiểu bữa ăn nhỏ theo trình tự cho phép thử nghiệm từng bước dễ dàng nhất. Mỗi bước có thể yêu cầu một thứ gì đó được chèn vào trước, sau hoặc ở giữa tập lệnh hiện có của chúng tôi. Điều này được thực hiện để (hy vọng) mạng của bạn sẽ chỉ ngừng hoạt động trong một khoảng thời gian ngắn trong quá trình thiết lập. Tôi đã làm theo cách này bởi vì tôi đã cho rằng nhiều người trong số các bạn (như tôi) có một máy chủ/tường lửa linux độc lập. Vì phương pháp ưa thích của tôi là ssh, nên mạng bị sập có thể là một PITA liên quan đến việc thu thập thông tin dưới các bảng, v.v. Nếu táo bạo, bạn chỉ cần sao chép tập lệnh ở cuối và chạy nó. Nó phải có đầy đủ chức năng, nhưng tôi mới chỉ thử nghiệm nó trên hệ thống của mình nên ymmv
1. Đã thêm các mô-đun ip_conntrack_ftp và ip_nat_ftp để loại bỏ lỗi PASV khi xuất hiện. 2. Đã loại bỏ bộ lọc trên chuỗi nat. Tôi đã gặp một số "kết quả không thể đoán trước" và điều này đã xóa nó. Nó hoàn toàn không ảnh hưởng đến bảo mật vì chuỗi bộ lọc vẫn được lọc.
3. Đã sửa lỗi đánh máy ở cuối tập lệnh. đã thay đổi 'iptables' thành $IPT * ifconfig Thiết lập biến môi trường Chúng tôi sẽ xác định giao diện mạng và các công cụ khác nhau được sử dụng trong tập lệnh Mã số. #. /bin/bash# Giao diện bên ngoài # Thiết bị vòng lặp/máy chủ cục bộ # biến công cụ văn bản # Thiết lập biến môi trường giao diện bên ngoài # Thiết lập biến môi trường cho giao diện nội bộ một #Thiết lập biến môi trường cho giao diện nội bộ hai * LƯU Ý * Tôi đã nhận xét chương trình phát sóng bên ngoài từ tập lệnh trên do kết nối ppp0 không có. Điều này thường được sử dụng để ngăn "phát sóng đi ra" hoặc phát sóng ra ngoài (tôi sẽ nói thêm về điều này sau). Như một giải pháp, tôi đặt EXTBC thành 255. 255. 255. 255, vì tôi tin rằng điều này sẽ đạt được mục tiêu tương tự. Nếu bất cứ ai có cái nhìn sâu sắc về quá trình cho tôi biết Ok, bây giờ hãy thoát khỏi vim và kiểm tra để đảm bảo rằng các biến môi trường của chúng ta đang được đặt chính xác. Đầu ra của bạn phải tương tự như thế này INTIP1=192. 168. 0. 78 INTBC1=192. 168. 0. 255 INTMSK1=255. 255. 0. 0 INTNET1=192. 168. 0. 78/255. 255. 0. 0 INTIP2=192. 168. 1. 78 INTBC2=192. 168. 1. 255 INTMSK2=255. 255. 255. 0 INTNET2=192. 168. 1. 78/255. 255. 255. 0 Được rồi, bây giờ chúng ta sẽ thiết lập CHẤP NHẬN cho phép chúng ta giao tiếp với máy chủ của mình. Trong thực tế, đây là lời khuyên rất tồi tệ. Một chính sách tường lửa vững chắc nên TỪ CHỐI hơn là CHẤP NHẬN. Nhưng nếu bạn làm như vậy, bạn sẽ mất tất cả các kết nối trong khi thử nghiệm nên bạn không chắc liệu các quy tắc CHẤP NHẬN của mình có hoạt động hay không. Vì vậy, mặc dù chúng tôi đang nhập quy tắc này đầu tiên, nhưng đây sẽ là quy tắc thứ hai đến quy tắc cuối cùng được đặt trong tập lệnh cuối cùng Mã. $IPT -t nat -A PREROUTING -j ACCEPT# $IPT -t nat -A POSTROUTING -o $EXTIF -s $INTNET -j SNAT --to $EXTIP # Comment out next line (that has "MASQUERADE") to not NAT internal network $IPT -t nat -A POSTROUTING -o $EXTIF -s $INTNET1 -j MASQUERADE $IPT -t nat -A POSTROUTING -o $EXTIF -s $INTNET2 -j MASQUERADE $IPT -t nat -A POSTROUTING -j ACCEPT $IPT -t nat -A OUTPUT -j ACCEPT $IPT -A INPUT -p tcp --dport auth --syn -m state --state NEW -j ACCEPT iptables -A INPUT -m state --state ĐÃ THÀNH LẬP,LIÊN QUAN -j CHẤP NHẬN Tiếp theo, chúng ta sẽ xác định một vài chuỗi tùy chỉnh sẽ ghi lại các sự kiện drop và reject. Bằng cách này, chúng tôi không phải nhập một dòng riêng cho mỗi lệnh đã nhập. Nhật ký sẽ được gửi đến nơi gửi thông báo nhật ký mặc định nhật ký hệ thống của bạn (thường là /var/log/messages). Sau này tôi sẽ viết một tập lệnh grep/sed sẽ phân tích và sắp xếp chúng để dễ xem và đặt nó làm công việc định kỳ hàng ngày Điều này nên được chèn ngay sau các định nghĩa trên. Khi bạn hoàn tất, hãy chạy lại tập lệnh. Nó sẽ không ảnh hưởng đến chức năng của mạng vì chúng tôi chỉ đang thiết lập các định nghĩa. Nhưng nó sẽ đảm bảo rằng chúng tôi không có lỗi cho đến nay # Bây giờ chúng ta sẽ tạo một vài chuỗi tùy chỉnh sẽ dẫn đến # ghi nhật ký các gói bị rơi. Điều này sẽ cho phép chúng tôi tránh phải # nhập lệnh ghi nhật ký trước mỗi lần thả mà chúng tôi muốn ghi nhật ký. # đầu tiên sẽ là bản ghi đầu tiên bị loại bỏ, bản ghi còn lại sẽ bị từ chối. # Đừng phàn nàn nếu chuỗi đã tồn tại (vì vậy khởi động lại là sạch) $IPT -N REJECTl 2> /dev/null Ok, bây giờ chúng ta thấy các thiết bị của mình đang được phát hiện đúng cách, chúng ta sẽ chèn một lệnh flush. Vì vậy, khi các quy tắc của chúng tôi được chỉ định, nó sẽ được thực hiện sạch sẽ. Những dòng này nên được chèn sau các định nghĩa tiện ích của chúng ta, dòng cuối cùng là. SED='/bin/sed' Mã.# Xóa tất cả các chuỗi hiện có và xóa các chuỗi cá nhân CHAINS=`cat /proc/net/ip_tables_names 2>/dev/null` for i in $CHAINS do $IPT -t $i -F done đối với tôi trong $CHAINS Bây giờ chúng tôi đã sẵn sàng để bắt đầu đặt ra một số quy tắc. Trước tiên, chúng tôi sẽ chấp nhận tất cả các gói từ thiết bị loopback của chúng tôi nếu địa chỉ IP khớp với địa chỉ của bất kỳ giao diện cục bộ nào của chúng tôi $IPT -A INPUT -i $LPDIF -s $LPDIP -j CHẤP NHẬN $IPT -A INPUT -i $LPDIF -s $EXTIP -j CHẤP NHẬN . Điều này có thể ngăn chặn các cuộc tấn công DoS chống lại chúng tôi, cũng như ngăn khách hàng của chúng tôi quen với việc tấn công DoS của người khác. Đây là một phần của cái được gọi là "Bảo vệ lối ra". Đó là một loại triết lý làm cho người hàng xóm của bạn. Nếu tất cả các Quản trị viên hệ thống tuân theo chính sách này, thì nhiều cuộc tấn công DoS nghiêm trọng và tốn kém hơn sẽ không xảy ra hoặc bị hạn chế rất nhiều. $IPT -A INPUT -i $LPDIF -s $INTIP1 -j ACCEPT $IPT -A INPUT -i $LPDIF -s $INTIP2 -j ACCEPT Now we will block broadcasts both incoming and outgoing. This is can prevent DoS attacks against us, as well as preventing our clients from being used to DoS someone else. This is part of what's called "Egress Protection". It's a do unto your neighbour sort of philosophy. If all SysAdmins followed this policy, than many of the more severe and costly DoS attacks would either not have occurred or been extremely limited. Mã. # Chặn phát sóng $IPT -A INPUT -i $EXTIF -d $EXTBC -j DROPl $IPT -A $IPT -A INPUT -i $INTIF2 -d $INTBC2 -j DROPl $IPT -A OUTPUT -o $EXTIF -d $EXTBC -j DROPl $IPT -A OUTPUT -o $INTIF1 -d $INTBC1 -j DROPl $IPT -A OUTPUT -o $INTIF2 -d $INTBC2 -j DROPl $IPT -A FORWARD -o $EXTIF -d $EXTBC -j DROPl $IPT -A FORWARD -o $INTIF1 -d $INTBC1 -j DROPl $IPT -A FORWARD -o $INTIF2 -d $INTBC2 -j DROPl Bây giờ hãy kiểm tra tập lệnh một lần nữa để đảm bảo chúng tôi không có lỗi cú pháp nào. Cũng lưu ý rằng chúng tôi đang sử dụng chuỗi DROPl mới được xác định của chúng tôi. Điều này có nghĩa là các gói bị rớt sẽ được ghi lại. Tiếp theo, chúng tôi sẽ chặn truy cập WAN vào mạng LAN của chúng tôi nếu không dành riêng cho ip của chúng tôi # Chặn quyền truy cập mạng WAN vào mạng nội bộ # Điều này cũng ngăn những kẻ bẻ khóa bất chính sử dụng mạng của chúng tôi làm # điểm khởi chạy để . # iptables translation: # "nếu thông tin đầu vào đi vào giao diện bên ngoài của chúng tôi không bắt nguồn từ địa chỉ IP được chỉ định # địa chỉ ip, hãy thả nó như một củ khoai tây nóng $IPT -A INPUT -i $EXTIF -d. $EXTIP -j DROPl Chúng tôi sẽ áp dụng logic tương tự cho lan nội bộ của chúng tôi. Nói cách khác, bất kỳ gói nào không bắt nguồn từ mạng nội bộ được xác định trước của chúng tôi sẽ bị từ chối Mã.# Bây giờ, chúng tôi sẽ chặn các địa chỉ nội bộ có nguồn gốc từ bất kỳ thứ gì mua # hai giao diện được xác định trước của chúng tôi. chỉ cần nhớ rằng nếu bạn cắm trực tiếp # máy tính xách tay của mình hoặc một máy tính khác vào một trong các NIC này, thì bạn sẽ cần # để đảm bảo rằng chúng có # that IP as well # Một giao diện/một mạng nội bộ # Giao diện hai/mạng nội bộ hai Tiếp theo, chúng tôi thực hiện thêm một số kiểm tra Đầu ra của các gói gửi đi và dừng tất cả các yêu cầu icmp ngoại trừ pingMã. # Kiểm tra đầu ra bổ sung $IPT -A OUTPUT -o $EXTIF -s. $EXTNET -j DROPl # Chặn ICMP gửi đi (ngoại trừ PING) $IPT -A OUTPUT -o $EXTIF -p icmp \ Ok, bây giờ hãy di chuyển và chúng ta nên kiểm tra lỗi tập lệnh. Giả sử mọi thứ rõ ràng, chúng ta sẽ bắt đầu cắm một số lỗ cổng khó chịu hơn # cổng COMmon. # 0 là tcpmux; . 139, 445 là Microsoft # 13 is daytime # 98 is Linuxconf # 111 is sunrpc (portmap) # 137:139, 445 is Microsoft # SNMP. 161,2 # Đội mực ống. 3128, 8000, 8008, 8080 # 1214 là Morpheus hoặc KaZaA # 2049 là NFS # 3049 là Linux rất nguy hiểm . 1999, 4329, 6346 # Common attacks: 1999, 4329, 6346 # Trojan phổ biến 12345 65535 COMBLOCK="0. 1 13 98 111 137. 139 161. 162 445 1214 1999 2049 3049 432 # cổng TCP. # cổng UDP. Sau khi xác định các biến môi trường, tất cả những gì chúng ta phải làm là một vòng lặp for đơn giản để gán các quy tắc cho tất cả chúng echo -n "FW. Chặn các cuộc tấn công vào cổng TCP" cho tôi trong $TCPBLOCK; do echo -n "$i " $IPT -A INPUT -p tcp --dport $i -j DROPl $IPT -A OUTPUT -p tcp --dport $i -j DROPl $IPT -A FORWARD -p tcp --dport $i -j DROPl done echo "" echo -n "FW. Chặn các cuộc tấn công vào cổng UDP " Ok, bây giờ với iptables, mỗi khi chúng tôi chạy tập lệnh, nó chỉ cần thêm các chuỗi này vào các chuỗi hiện có. vì vậy mọi thứ có thể trở nên hơi lộn xộn. Vì lý do đó, chúng tôi sẽ chuyển sang phần đầu của kịch bản của chúng tôi. ngay sau các biến môi trường cho sed và grep, nhưng trước các biến của EXTIP và EXTBC và thêm một vòng lặp xóa và xóa. Điều này đảm bảo chúng tôi đang làm việc từ một trạng thái sạch sẽ. Trước đây chúng tôi không muốn làm điều đó vì chúng tôi không thể kiểm tra tập lệnh của mình mà không tắt kết nối hoặc bỏ hoàn toàn tường lửa của chúng tôi. Tập lệnh này trước tiên đặt tất cả các chính sách thành DROP, sau đó xóa và xóa chuỗi của chúng tôi. Để đảm bảo rằng chúng tôi vẫn có thể ssh trở lại máy chủ của mình sau khi khởi động lại tập lệnh, chúng tôi sẽ nối thêm chuỗi INPUT cho ssh. Hiện tại, điều này phải luôn được đặt ở cuối tập lệnh. Điều này được thực hiện để ngăn cửa sổ mở ra trong khi chúng tôi đặt lại các quy tắc, một lỗi phổ biến được thực hiện # Từ chối hơn là chấp nhận. điều này ngăn lỗ mở ra # trong khi chúng tôi đóng các cổng, v.v. $IPT -P INPUT DROP # Xóa tất cả các chuỗi hiện có và xóa các chuỗi cá nhân đối với tôi trong $CHAINS; $IPT -A INPUT -i $INTIF1 -p tcp --dport 22 \ Ngay sau đó, chúng ta sẽ kích hoạt sysctl's cho tcp_syncookies, icmp_echo_ignore_broadcasts, rp_filter và accept_source_route. Trước đây, nhiều quy tắc mà chúng tôi đã "thử nghiệm" không thể thực sự hoạt động. Về bản chất, chúng tôi chỉ đơn giản là thực hiện kiểm tra lỗi cú pháp. Bây giờ các quy tắc của chúng tôi sẽ là "thực tế" echo 1 > /proc/sys/net/ipv4/tcp_syncookies echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # Xác minh địa chỉ nguồn tiếng vang 1 > /proc/sys/net/ipv4/ip_forward Bây giờ chúng tôi sẽ thêm theo dõi kết nối ftp để chúng tôi không gặp lỗi PASV khi các gói mới nổi # Đang mở tính năng theo dõi kết nối ftp MODULES="ip_nat_ftp ip_conntrack_ftp" cho tôi trong $MODULES; do echo "Inserting module $i" modprobe $i done Now back to end of our script, we are going to open up services for systems behind our firewall. I have included services such as IRC, MSN, ICQ, and NFS, FTP, domain, and time. And some others. The important thing to note is that these will ONLY be availabe BEHIND the firewall. So this will not enable someone to ftp into your LAN: Mã. IRC='ircd' MSN=1863 ICQ=5190 NFS=' . # We have to sync!! PORTAGE='rsync' OpenPGP_HTTP_Keyserver=11371 # Tất cả các cổng dịch vụ được đọc từ /etc/services TCPSERV="domain ssh http https ftp ftp-data mail pop3 pop3s imap3 imaps imap2 time $PORTAGE \ echo -n "FW. Cho phép các hệ thống bên trong sử dụng dịch vụ. " xong echo -n "FW. Cho phép các hệ thống bên trong sử dụng dịch vụ. " Bây giờ chúng tôi đã hoàn thành tất cả những gì còn lại là cho phép chúng tôi ping thế giới bên ngoài bằng cách mở ping ra khỏi tường lửa # Cho phép ping ra ngoài $IPT -A OUTPUT -o $EXTIF -p icmp -s $EXTIP \ - $IPT -A FORWARD -i $INTIF1 -p icmp -s $INTNET1 \ --icmp-type 8 -m state --state NEW -j ACCEPT $IPT -A FORWARD -i $INTIF2 -p icmp -s $INTNET2 \ --icmp-type 8 -m state --state NEW -j ACCEPT # Cho phép tường lửa ping hệ thống nội bộ Bây giờ chúng ta sẽ mặc định là DROP và Log bất cứ thứ gì còn lại trong trường hợp chúng ta bỏ qua điều gì đó. Mục CHẤP NHẬN mà chúng tôi đã tạo ngay từ đầu sẽ xuất hiện ngay trước mục này trong tập lệnh cuối cùng # Ghi nhật ký và chặn mọi thứ còn lại $IPT -A INPUT -j DROPl $IPT -A OUTPUT -j REJECTl $IPT -A FORWARD -j DROPl Và bạn đã hoàn thành. Tôi có một người bạn nmap và không có mối liên hệ nào của tôi với bộ quy tắc này và theo như cả hai người họ thì điều duy nhất mà họ thậm chí còn hơi chắc chắn là ip đó tồn tại. ngoài ra không có gì khác. Tôi có thể IRC, MSN, ICQ, một lần nữa đồng bộ hóa với nội dung trái tim của tôi *CREDITS* Tôi hoàn toàn KHÔNG ghi nhận điều này, tôi đã thu thập hầu hết từ các hướng dẫn khác và triển khai một số bản sửa lỗi và vòng lặp từ các hướng dẫn khác để làm cho mọi thứ trở nên toàn diện và/hoặc hiệu quả hơn. TUYỆT ĐỐI KHÔNG CÓ điều gì trong số này nên được ghi có cho tôi. PHẦN III sẽ đề cập đến việc thiết lập một số dịch vụ SOHO thiết yếu như NFS và CUPS theo cách có ý thức bảo mật Bây giờ đây là kịch bản đầy đủ trong tất cả vinh quang của nó (Tôi cũng đặt chuyển tiếp ssh ở một nơi thích hợp hơn) # Giao diện bên ngoài EXTIF=ppp0 # Giao diện bên trong INTIF1=eth1INTIF2=eth2 # Thiết bị vòng lặp/máy chủ cục bộ # biến công cụ văn bản # Cuối cùng nhưng không kém phần quan trọng, người dùng # Từ chối hơn là chấp nhận. điều này ngăn lỗ mở ra $IPT -P INPUT DROP # Xóa tất cả các chuỗi hiện có và xóa các chuỗi cá nhân đối với tôi trong $CHAINS; echo 1 > /proc/sys/net/ipv4/tcp_syncookies # Xác minh địa chỉ nguồn tiếng vang 1 > /proc/sys/net/ipv4/ip_forward # Thiết lập biến môi trường giao diện bên ngoài # Do không có EXTBC nên tôi đã đặt thủ công thành 255. 255. 255. 255 # Thiết lập biến môi trường cho giao diện nội bộ một #Thiết lập biến môi trường cho giao diện nội bộ hai # Bây giờ chúng ta sẽ tạo một vài chuỗi tùy chỉnh sẽ dẫn đến # Đừng phàn nàn nếu chuỗi đã tồn tại (vì vậy khởi động lại là sạch) # Đừng phàn nàn nếu chuỗi đã tồn tại (vì vậy khởi động lại là sạch) $IPT -N REJECTl 2> /dev/null # Bây giờ chúng tôi sẽ chấp nhận tất cả lưu lượng truy cập từ thiết bị loopback của bạn $IPT -A INPUT -i $LPDIF -s $LPDIP -j CHẤP NHẬN # Chặn phát sóng # Chặn quyền truy cập mạng WAN vào mạng nội bộ $IPT -A INPUT -i $EXTIF -d. $EXTIP -j DROPl # Bây giờ, chúng tôi sẽ chặn các địa chỉ nội bộ có nguồn gốc từ bất kỳ thứ gì ngoại trừ địa chỉ của bạn # Giao diện hai/mạng nội bộ hai # Kiểm tra đầu ra bổ sung $IPT -A OUTPUT -o $EXTIF -s. $EXTNET -j DROPl # Chặn ICMP gửi đi (ngoại trừ PING) $IPT -A OUTPUT -o $EXTIF -p icmp \ # cổng COMmon. # cổng TCP. # cổng UDP. echo -n "FW. Chặn các cuộc tấn công vào cổng TCP" echo -n "FW. Chặn các cuộc tấn công vào cổng UDP " # Đang mở tính năng theo dõi kết nối ftp # Định nghĩa một số ứng dụng khách trò chuyện phổ biến. Xóa những thứ này khỏi danh sách được chấp nhận của bạn để bảo mật tốt hơn. # Tất cả các cổng dịch vụ được đọc từ /etc/services TCPSERV="domain ssh http https ftp ftp-data mail pop3 pop3s imap3 imaps imap2 time $PORTAGE \ $IRC $MSN $ICQ $OpenPGP_HTTP_Keyserver" echo -n "FW. Cho phép các hệ thống bên trong sử dụng dịch vụ. " xong echo -n "FW. Cho phép các hệ thống bên trong sử dụng dịch vụ. " # Cho phép ping ra ngoài # Cho phép tường lửa ping hệ thống nội bộ $IPT -A INPUT -i $INTIF1 -p tcp --dport 22 \ $IPT -t nat -A PREROUTING -j ACCEPT $IPT -A INPUT -p tcp --dport auth --syn -m state --state NEW -j ACCEPT $IPT -A INPUT -m trạng thái --trạng thái ĐÃ THÀNH LẬP,LIÊN QUAN -j CHẤP NHẬN # chặn và ghi lại những gì tôi có thể đã quên _________________ iBook G4 1ghz PowerMac G3 (B&W) [Được hỗ trợ bởi Gentoo và Gentoo một mình Dual G5 Sửa lần cuối bởi krunk vào Thứ ba 17-08-2004 12. 20 giờ đêm; n00b Đã tham gia. 12 tháng 4 năm 2004 Tìm thấy có thể 1 trục trặc trong kịch bản của bạn Mã. tiếng vang -n "FW. Cho phép các hệ thống bên trong sử dụng dịch vụ. "cho tôi trong $TCPSERV; làm echo -n "$i " $IPT -A OUTPUT -o $EXTIF -p tcp -s $EXTIP \ --dport $i --syn -m state --state NEW -j ACCEPT $IPT -A FORWARD -i $INTIF1 -p tcp -s $INTNET1 \ <-- double?? $IPT -A FORWARD -i $INTIF1 -p tcp -s $INTNET1 \ --dport $i --syn -m state --state NEW -j ACCEPT $IPT -A FORWARD -i $INTIF2 -p tcp -s $INTNET2 \ --dport $i --syn -m state --state NEW -j ACCEPT xong Hãy tiếp tục phát huy. Guru Đã tham gia. 12 tháng 7 năm 2003 Nào. Ít nhất hãy ghi công cho việc đưa hướng dẫn lại với nhau. krunk đã viết. PHẦN III sẽ đề cập đến việc thiết lập một số dịch vụ SOHO thiết yếu như NFS và CUPS theo cách có ý thức bảo mật. SOHO chính xác là gì? . Văn phòng nhỏ, Gia đình và các mạng khác có lẽ? . n00b Đã tham gia. 16 Tháng hai 2004 $IPT -N DROPl 2> /dev/null $IPT -A DROPl -j . ' $IPT -A DROPl -j DROP $IPT -N REJECTl 2> /dev/null Ngoài ra, nó không nên là DROP thay vì DROP và REJECT thay vì REJECT?? bất kể là vẫn nhận được Quote:iptables: No chain/target/match by that nameiptables: No chain/target/match by that name Guru Đã tham gia. 12 tháng 7 năm 2003 Bạn sẽ gặp lỗi gì nếu để nguyên lời thoại như trong bản gốc? Guru Đã tham gia. 27 tháng 7 năm 2003 Tìm thấy có thể 1 trục trặc trong kịch bản của bạn Mã. tiếng vang -n "FW. Cho phép các hệ thống bên trong sử dụng dịch vụ. "cho tôi trong $TCPSERV; làm echo -n "$i " $IPT -A OUTPUT -o $EXTIF -p tcp -s $EXTIP \ --dport $i --syn -m state --state NEW -j ACCEPT $IPT -A FORWARD -i $INTIF1 -p tcp -s $INTNET1 \ <-- double?? $IPT -A FORWARD -i $INTIF1 -p tcp -s $INTNET1 \ --dport $i --syn -m state --state NEW -j ACCEPT $IPT -A FORWARD -i $INTIF2 -p tcp -s $INTNET2 \ --dport $i --syn -m state --state NEW -j ACCEPT xong Hãy tiếp tục phát huy Cảm ơn bạn, chắc mình chuyển nhầm. Trên thực tế, dòng đó đã gây ra lỗi hoặc kết quả không mong muốn. Nếu tôi giải thích chính xác, tôi tin rằng nó sẽ cho phép tất cả các cổng tcp từ giao diện một với nguồn của mạng nội bộ được chuyển tiếp thay vì chỉ các cổng được xác định của chúng tôi. Không phải là một lỗ thực sự, nhưng không chặt chẽ như dự định. $IPT -N DROPl 2> /dev/null $IPT -A DROPl -j . ' $IPT -A DROPl -j DROP $IPT -N REJECTl 2> /dev/null Vâng, đây là một định nghĩa chuỗi. Bất cứ khi nào nó được thêm vào, nó sẽ loại bỏ gói và tạo một mục nhật ký có tiền tố là "DROPl. " hoặc "REJECTl. ", điều này cho phép chúng tôi nối thêm phần này thay cho DROP và không phải tạo một lệnh iptable khác cho mỗi mục nhật ký. Đầu ra xuất hiện trong /var/log/messages và trông giống như thế này Mã số. 12 tháng 4 18. 30. 44 tuxmac DROPl. IN=ppp0 OUT= MAC= SRC=DST=LEN=48 TOS=0x00 PREC=0x00 TTL=111 ID=11203 DF PROTO=TCP SPT=4556 DPT=135 WINDOW=64240 RES=0x00 SYN URGP=0Một số không có mục nhập, như MAC=. điều này có nghĩa là không có giá trị cho biến đó. (điều này xảy ra kể từ khi bạn coi ppp0 là "thiết bị ảo"). Bạn có thể sử dụng các nhật ký này để giúp bạn hình thành các quy tắc mới, chẳng hạn như nếu một gói bị hủy mà bạn muốn cho qua. Bạn chỉ cần sử dụng công tắc -s cho nguồn, --dport cho cổng đích. Vân vân Vui lòng cho tôi biết nếu bạn gặp phải bất kỳ trở ngại nào. Tôi nhận thấy rằng /etc/init. tập lệnh d/iptables dường như không khôi phục chúng đúng cách (dường như chúng đặt "quy tắc trước") của riêng mình. Nó cũng khăng khăng bắt đầu trước mạng. ppp0, làm hỏng mọi thứ. Tôi đang làm việc để sửa đổi tập lệnh, nhưng hiện tại chỉ cần chạy tập lệnh theo cách thủ công sau khi khởi động Vui lòng cho tôi biết nếu bạn có bất kỳ lỗi nào và nhớ đặt đầu ra lỗi cụ thể trong bài đăng *LƯU Ý* Tôi đã cài đặt CUPS và hoạt động tốt. mặc dù nó đã chiến đấu rất tốt. Nếu bạn hoàn toàn PHẢI CÓ CUPS NGAY BÂY GIỜ, hãy gửi tin nhắn cho tôi và tôi sẽ gửi tập lệnh cập nhật của mình cho bạn. Dual G5 Guru Đã tham gia. 27 tháng 7 năm 2003 Bạn sẽ gặp lỗi gì nếu để nguyên lời thoại như trong bản gốc? Bạn có thể trích dẫn dòng xin vui lòng? Ý định của tôi là ĐĂNG NHẬP từng giọt và từ chối. Dual G5 Guru Đã tham gia. 12 tháng 7 năm 2003 Tôi định chỉ cho bạn hướng dẫn về nfs tại tldp, nhưng có vẻ như đó là lời khuyên giống như trong bài đăng ở đây ( https. // diễn đàn. gentoo. org/viewtopic. php?t=77748 ). n00b Đã tham gia. 17 tháng 4 năm 2004 Cảm ơn một lần nữa cho hướng dẫn Guru Đã tham gia. 27 tháng 7 năm 2003 Cảm ơn một lần nữa cho hướng dẫn Có một số thứ khác bạn phải thêm cho dhcp. để giải phóng các cổng cần thiết tôi tin. Nhưng chạy tập lệnh sau khi bạn có ip * sẽ * hoạt động nếu tôi không nhầm. Tập lệnh greps tất cả các ip từ giao diện lúc đầu và các quy tắc dựa trên cách đọc đó. ai đó làm ơn sửa tôi nếu tôi sai. Dual G5 Guru Đã tham gia. 07/03/2004 iptables -A INPUT -p tcp -m tcp --dport 3632 -j CHẤP NHẬN iptables -A OUTPUT -p tcp -m tcp --dport 3632 - ???? tôi thực sự muốn distcc chạy, và cả ssh từ bên ngoài và anh bạn, tôi rất lạc lối. Guru Đã tham gia. 12 tháng 7 năm 2003 iptables -A OUTPUT -p tcp -m tcp --dport 3632 -j CHẤP NHẬN Bạn không cần -m. distcc có hoạt động nếu bạn mở tất cả các cổng không? jjasghar đã viết. và cả ssh từ bên ngoàissh sử dụng cổng 22, nhưng bạn có thể sử dụng cổng này, tôi nghĩ đó là từ hướng dẫn bảo mật gentoo # Lưu lượng truy cập đến $IPTABLES -N allow-ssh-traffic-in $IPTABLES -F allow-ssh-traffic # Flood protection $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL RST --dport ssh -j ACCEPT $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL FIN --dport ssh -j ACCEPT $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL SYN --dport ssh -j ACCEPT $IPTABLES -A allow-ssh-traffic-in -m state --state RELATED,ESTABLISHED -p tcp --dport ssh -j ACCEPT # Lưu lượng truy cập đi # Áp dụng chuỗi. Guru Đã tham gia. 07/03/2004 iptables -A OUTPUT -p tcp -m tcp --dport 3632 -j CHẤP NHẬN Bạn không cần -m. distcc có hoạt động nếu bạn mở tất cả các cổng không? jjasghar đã viết. và cả ssh từ bên ngoàissh sử dụng cổng 22, nhưng bạn có thể sử dụng cổng này, tôi nghĩ đó là từ hướng dẫn bảo mật gentoo # Lưu lượng truy cập đến $IPTABLES -N allow-ssh-traffic-in $IPTABLES -F allow-ssh-traffic # Flood protection $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL RST --dport ssh -j ACCEPT $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL FIN --dport ssh -j ACCEPT $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL SYN --dport ssh -j ACCEPT $IPTABLES -A allow-ssh-traffic-in -m state --state RELATED,ESTABLISHED -p tcp --dport ssh -j ACCEPT # Lưu lượng truy cập đi # Áp dụng chuỗi. điều này nghe có vẻ thảm hại nhưng làm cách nào để tôi cho phép tất cả lưu lượng truy cập? . tôi đã lập bản đồ và nó vẫn hiển thị mọi thứ đã đóng. bạn có muốn xem /etc/iptables của tôi không. conf? n00b Đã tham gia. 19 tháng 7 năm 2003 Guru Đã tham gia. 12 tháng 7 năm 2003 Có thể bạn vẫn đặt mặc định thành DROP. Sau khi bạn tuôn ra, hãy thử điều này. Mã. $IPTABLES -P FORWARD ACCEPT $IPTABLES -P INPUT ACCEPT $IPTABLES -P OUTPUT ACCEPT Nếu không . Nhân tiện, bạn không sử dụng bộ định tuyến phải không? Nhân tiện, trong ví dụ này và ví dụ trên, $IPTABLES=/sbin/iptables Guru Đã tham gia. 07/03/2004 /etc/iptables. conf *bộ lọc . ĐẦU VÀO THẢ [100. 14702] . CHẤP NHẬN VỀ PHÍA TRƯỚC [0. 0] . CHẤP NHẬN ĐẦU RA [219. 18340] -A INPUT -m state --state LIÊN QUAN -j CHẤP NHẬN -A INPUT -i. eth0 -m state --state NEW -j CHẤP NHẬN -A INPUT -p icmp -j ACCEPT -A INPUT -p tcp -m tcp --dport . 57. 12 2004 -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT COMMIT # Completed on Sun Apr 18 13:57:12 2004 # Được tạo bởi iptables-save v1. 2. 9 on CN 18 tháng 4 13. 57. 12 2004 *nat . CHẤP NHẬN TRƯỚC [79. 20611] . CHẤP NHẬN SAU ĐƯỜNG [0. 0] . CHẤP NHẬN ĐẦU RA [0. 0] -A POSTROUTING -o eth0 -j MASQUERADE CAM KẾT # Hoàn thành vào Chủ nhật ngày 18 tháng 4 13. 57. 12 2004 # Tạo bởi iptables-save v1. 2. 9 on CN 18 tháng 4 13. 57. 12 2004 *mangle . CHẤP NHẬN TRƯỚC [269. 42348] . CHẤP NHẬN ĐẦU VÀO [269. 42348] . CHẤP NHẬN VỀ PHÍA TRƯỚC [0. 0] . CHẤP NHẬN ĐẦU RA [219. 18340] . CHẤP NHẬN SAU ĐƯỜNG [219. 18340] CAM KẾT # Đã hoàn thành vào Chủ nhật ngày 18 tháng 4 13. 57. 12 2004 tất cả điều này có nghĩa là gì?. ? tôi đang đọc cuốn sách có tên là Phiên bản thứ hai của tường lửa Linux của Robert L. Ziegler, viết kinh khủng nhưng nhiều thông tin. n00b Đã tham gia. 10 tháng 10 năm 2003 Đây là dòng lệnh trung thực mà tôi đã nhập và thông báo lỗi ngược lạiMã. iptables -A INPUT -m state --state ĐÃ THÀNH LẬP -j CHẤP NHẬN iptables. Không có chuỗi/mục tiêu/khớp với tên đó Cảm ơn Guru Đã tham gia. 14 tháng 7 năm 2003 Văn phòng nhỏ/Văn phòng tại nhà. _________________ moo n00b Đã tham gia. 10 tháng 10 năm 2003 again. n00b Joined. 02 May 2004 I try to set a good firewall. The script block ports 137. 139 (netbios) that windows use to share network. It also appear that Win XP broadcast on the network Is that a security hole if before blocking boradcast in the script I accept all connection from that user on ports 137. 139 ? Code.#Since USER is under Windows, he must access to netbios ports $IPT -A INPUT -i $INTIF1 -s $USER -p tcp --dport 137. 139 -j ACCEPT $IPT -A INPUT -i $INTIF1 -s $USER -p udp --dport 137. 139 -j CHẤP NHẬN It seems to work but I don't no if its a good thing. n00b Đã tham gia. 02 Nov 2002 Nếu cách đó không hiệu quả, hãy đăng cấu hình của bạn. By the way, you're not using a router do you? This firewall is on the same machine where you want distcc and ssh? Nhân tiện, trong ví dụ này và ví dụ trên, $IPTABLES=/sbin/iptables Xin lỗi vì đã hỏi, nhưng tôi cũng gặp vấn đề tương tự và ba dòng bạn đề xuất không phù hợp với tôi. I am trying to let my NAT'd PCs have full net access. Tôi đã sử dụng tập lệnh này, được điều chỉnh từ phần một của hướng dẫn Mã.#. /bin/bash IPTABLES='/sbin/iptables' # Đặt giá trị giao diện # bật chuyển tiếp ip trong kernel # xóa quy tắc và xóa chuỗi # bật giả mạo để cho phép truy cập internet qua mạng LAN # chuyển tiếp lưu lượng mạng LAN từ $INTIF1 sang giao diện Internet $EXTIF #echo -e " - Cho phép lưu lượng truy cập HTTP" $IPTABLES -P FORWARD ACCEPT # chặn tất cả truy cập Internet khác trên $EXTIF Tuy nhiên, tất cả những gì có vẻ hoạt động ngay bây giờ là cổng 80, cổng mà tôi đã chỉ định cụ thể là cổng thử nghiệm. Rõ ràng là tôi đã bỏ lỡ điều gì đó ở đâu đó, tôi không cho rằng bạn biết gì? |