Nie jestem geniuszem i jako początkujący mam pytanko.
Mam w firmie 30 komputerów i udostępniam im internet na Debianie 5.0. Główny master sieci robi wszystko na Windows 2008 DHCP DNS, AD i inne takie. Problem wystąpił dziś i nie umiem sobie z nim poradzić a raczej 2.
- Jak zablokować dostęp do facebook.com wybranym komputerom, jeśli ich IP zmienia się co 7 dni? Czy jest to w ogóle możliwe (nie wiem jak po mac adresie karty sieciowej)?
- Kilka osób w firmie posiada prywatne komputery i nie logują się do domeny. Dziś jedna z tych osób obciążyła internet na 80% i nie mogliśmy znaleźć gościa i była ręczna robota latanie po stacjach. Jak mogę zablokować jeden IP żeby nie miał dostępu do internetu?
Kod: Zaznacz cały
iptables -A OUTPUT -p tcp -d 10.0.1.95 -j DROP
iptables -A INPUT -s 10.0.95 -j DROP
Wydaje mi się, że problem może być w moim prostym firewallu z nat i przekierowaniem kilku portów do sieci lan.
Kod: Zaznacz cały
#!/bin/sh
#################
# CONFIGURATION #
#################
F="/sbin/iptables"
LOG="ipt#"
#global iface for external network
G_NET_NAME="eth0"
G_NET_IP="93.159.AA.AAA"
#local iface for local network
L_NET_NAME="eth1"
L_NET_IP="10.0.1.1"
L_NET="255.255.255.0/24"
L_BRDC="10.0.1.255"
#setup of modules and kernel konfig
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
echo "1" > /proc/sys/net/ipv4/ip_forward
#dynamic address allocation
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr
#ignor ICMP echo request sended to broadcast
#echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#echo 1 > /proc/sys/net/ipv4/conf/all/accept_redirects
# Don't send ICMP redirect messages
#echo 1 > /proc/sys/net/ipv4/conf/all/send_redirects
#SYN flood protection
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
#refuse source routed packets
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
echo "1" > /proc/sys/net/ipv4/conf/all/secure_redirects
#source validation by reversed path (RFC1812).
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
#log packets from incorrect sources
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
##################
# INITIALIZATION #
##################
echo "Inicjalizacja Firewall ..."
$F -P INPUT ACCEPT
$F -P FORWARD ACCEPT
$F -P OUTPUT ACCEPT
$F -t nat -P PREROUTING ACCEPT
$F -t nat -P OUTPUT ACCEPT
$F -t nat -P POSTROUTING ACCEPT
$F -t mangle -P PREROUTING ACCEPT
$F -t mangle -P OUTPUT ACCEPT
$F -t mangle -P INPUT ACCEPT
$F -t mangle -P FORWARD ACCEPT
$F -t mangle -P POSTROUTING ACCEPT
echo "czyszczenie standardowych regol"
$F -F
$F -t nat -F
$F -t mangle -F
echo "kasowanie niestandardowych lancuchow"
$F -X
$F -t nat -X
$F -t mangle -X
if [ "$1" = "stop" ]
then
echo "Firewall zatrzymany ...."
exit 0
fi
echo "Wprowadzanie standardowych polis ...."
$F -P INPUT DROP
$F -P OUTPUT DROP
$F -P FORWARD DROP
#########
# INPUT #
#########
echo "Ustawianie lancucha INPUT ... "
#Ustanowione polaczenia
$F -A INPUT -p ALL -i $G_NET_NAME -m state --state ESTABLISHED,RELATED -j ACCEPT
$F -A INPUT -p ALL -i lo -j ACCEPT
#$F -A INPUT -p ALL -j bledne_pakiety
#DOCSIS compliant cable modems
#Drop without logging.
$F -A INPUT -p ALL -d 224.0.0.1 -j DROP
#zezwolenie dla sieci lokalnej - dla gate
$F -A INPUT -p ALL -i $L_NET_NAME -s $L_NET -j ACCEPT
$F -A INPUT -p ALL -i $L_NET_NAME -d $L_BRDC -j ACCEPT
$F -A INPUT -p ICMP -s 0/0 --icmp-type 8 -j DROP
$F -A INPUT -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
$F -A INPUT -p ICMP -j RETURN
#FTP client (data port non-PASV)
#$F -A INPUT -p TCP -s 0/0 --source-port 20 -j ACCEPT
#FTP control
#$F -A INPUT -p TCP -s 0/0 --destination-port 21 -j ACCEPT
# Passive FTP
#$F -A INPUT -p TCP -s 0/0 --destination-port 62000:64000 -j ACCEPT
#ssh
$F -A INPUT -p TCP -s 0/0 --destination-port 7878 -j ACCEPT
#HTTP
$F -A INPUT -p TCP -s 10.0.1.0/24 --destination-port 80 -j ACCEPT
#HTTPS
$F -A INPUT -p TCP -s 10.0.1.0/24 --destination-port 443 -j ACCEPT
# NTOP
$F -A INPUT -p TCP -s 10.0.1.0/24 --destination-port 3000 -j ACCEPT
#
$F -A INPUT -p TCP -s 10.0.1.0/24 --destination-port 161 -j ACCEPT
$F -A INPUT -p TCP -s 10.0.1.0/24 --destination-port 162 -j ACCEPT
$F -A INPUT -p UDP -s 10.0.1.0/24 --destination-port 161 -j ACCEPT
$F -A INPUT -p UDP -s 10.0.1.0/24 --destination-port 162 -j ACCEPT
#User specified allowed TCP protocol
$F -A INPUT -p TCP -s 0/0 --destination-port 5060:5070 -j ACCEPT
#zatrzymanie rozgloszen
$F -A INPUT -p ALL -d 255.255.255.255 -j DROP
#nie pasujace - logowanie
$F -A INPUT -j LOG --log-prefix "$LOG INPUT:99 "
###########
# FORWARD #
###########
#dla gate caly
echo "Ustawianie lancucha FORWARD ... "
$F -A FORWARD -i $G_NET_NAME -m state --state ESTABLISHED,RELATED -j ACCEPT
# SERWER DO VPN
$F -t filter -A FORWARD -s 10.0.1.210/255.255.255.0 -d 0/0 -j ACCEPT
$F -t filter -A FORWARD -s 0/0 -d 10.0.1.210/255.255.255.0 -j ACCEPT
## SERWER DO TESTOW POCZTY
$F -t filter -A FORWARD -s 10.0.1.206/255.255.255.0 -d 0/0 -j ACCEPT
$F -t filter -A FORWARD -s 0/0 -d 10.0.1.206/255.255.255.0 -j ACCEPT
#$F -A FORWARD -p ALL -j bledne_pakiety
#echo "ZMIAN"
$F -A FORWARD -p tcp -i $L_NET_NAME -j ACCEPT
$F -A FORWARD -p udp -i $L_NET_NAME -j ACCEPT
$F -A FORWARD -p ALL -i $L_NET_NAME -j ACCEPT
#nie pasujace - loguj
#$F -A FORWARD -j LOG --log-prefix "$LOG FORWARD:99 "
##########
# OUTPUT #
##########
echo "Ustawianie lancucha OUTPUT ... "
$F -A OUTPUT -m state -p icmp --state INVALID -j DROP
$F -A OUTPUT -p ALL -s 127.0.0.1 -j ACCEPT
$F -A OUTPUT -p ALL -o lo -j ACCEPT
#dla gate
$F -A OUTPUT -p ALL -s $L_NET_IP -j ACCEPT
$F -A OUTPUT -p ALL -o $L_NET_NAME -j ACCEPT
$F -A OUTPUT -p ALL -o $G_NET_NAME -j ACCEPT
#nie pasujace - loguj
$F -A OUTPUT -j LOG --log-prefix "$LOG OUTPUT:99 "
#############
# nat table #
#############
echo "Ustawianie NAT ... "
#w nat wszystkie reguly dla gate
##############
# PREROUTING #
##############
echo "Inicjalizuje PRERUTING"
#przekierowanie hosta a.a.a.a wchodzacego na x.x.x.x na adres y.y.y.y
#$F -t nat -A PREROUTING -s 0/0 -d 93.159.BB.BBB -j DNAT --to-destination 10.0.1.210
# SERWER VPN
$F -t nat -A PREROUTING -d 93.159.BB.BBB -j DNAT --to 10.0.1.210
# SERWER POCZTOWY TEST
$F -t nat -A PREROUTING -d 93.159.CC.CC -j DNAT --to 10.0.1.206
###############
# POSTROUTING #
###############
echo "Inicjalizuje POSTROUTING"
$F -t nat -A POSTROUTING -o $G_NET_NAME -j SNAT --to-source $G_NET_IP
$F -t nat -A POSTROUTING -o $L_NET_NAME -j SNAT --to-source $G_NET_IP
# SERWER VPN
$F -t nat -A POSTROUTING -s 10.0.1.210 -j SNAT --to-source 93.159.BB.BBB
# Serwer Pocztowy
$F -t nat -A POSTROUTING -s 10.0.1.206 -j SNAT --to-source 93.159.CC.CC