|
Przekazywanie portu z ipchains Autor:Jim
Ray 16.09.2000 Orginalny tytuł:Port Forwarding with ipchains Tłumaczył: tank Ostatnia aktalizacja : 19.09.2000 Więc chcesz wykorzystać przekazywanie portu przy użyciu ipchains. Zaprezentuje kilka interesujących wskazówek i spróbuje wyjaśnić ipchains i ipmasq w prosty ale jasny sposób. Prawdopodobnie nie jest to najlepsza droga do robienia tego, ale to działa. Moje podejście do budowy firewall'a może jest nieco odbiegające od utartych wzorów. Ponieważ zamierzam zacząć od bardzo ogólne go podejścia przy budowie firewall'a a następnie uściślić zasady. Nie jestem guru bezpieczeństwa ani guru ipchains'a. Ale ten materiał wygląda poprawnie. Musisz wybrać dystrybucję której będziesz używał. Większość tego materiału powinno działać ze wszystkimi dystrybucjami, lecz w niektórych przypadkach będziesz musiał coś zmienić. Spróbuje przedstawić kilka różnic, jednak przedstawienie wszystkich byłoby bardzo długie. Osobiście lubię Debian'a i Strom'a, jednak inne również działają. Ten przykład został przygotowany na Storm Firewall dla Linuxa oraz Mandrake 7.1., to powinno zaprezentować podstawy. Po pierwsze potrzebujesz świeży system (komputer + soft), kiedy mówię świeży mam na myśli niedawno zbudowany. Możesz robić to na starszym systemie, jednak kiedy przejmujesz system po kimś innym lepiej sprawdzić konfigurację krenela i upewnić się że obsługa IP_MASQ i IPCHAINS jest wkompilowana. Polecam także sprawdzić inne opcje w kernelu i upewnić się że nie stracisz czegoś podczas rekompilacji. To może być nieprzyjemne. Nie chcę zagłębić się w konfiguracje kernela, jednak jeśli czytasz ten tekst mam nadzieję że wiesz jak postąpić z twoim własnym. Jeżeli nie to Kernel How-To dostarczy Ci wielu cennych informacji o tym. Jeszcze jedna informacja. System który używasz musi być wyposażony w dwie(2) kary sieciowe. Wiem że niektórzy mówią żeby były to takie same modele kart, jednak nigdy nie miałem problemów z uruchomieniem dwóch różnych kart pod warunkiem że są wspierane przez jądro. Żeby to pracowało poprawnie w konfiguracji jądra powinieneś mieć poniższe dyrektywy. Musisz się również upewnić że masz prawidłowe sterowniki dla kart sieciowych. CONFIG_FIREWALL=y CONFIG_IP_FIREWALL=y Musisz się upewnić że masz zainstalowane wymienione poniżej trzy pakiety.
W systemie Storm firewall jest umieszczony w /etc/network/firewall i wywoływany jest przez skrypt /etc/init.d/networking. Większość systemów Red Hat'a które widziałem mają wywoływany skrypt /etc/rc.d/rc.firewall jako ostatni w skrypcie /etc/rc.d/rc.local. Otwórz plik skryptu firewall'a w twoim ulubionym edytorze, cokolwiek byś nie wybrał wpiszemy kilka informacji. Proponuje umieścić mały nagłówek w kilkoma informacjami takimi jak data, twoje inicjały oraz plan, będzie to miłe dla kogoś kto kiedyś poza tobą będzie się tym zajmował. W pierwszej części przedstawię jak uzyskać firewall dla serwera WWW dostępnego na zewnątrz a także kilka modyfikacji które umożliwią dla znanych (i pewnych) IP dostęp do wnętrza serwera z zewnątrz. I) Wstępne Ustawienie: W serwerze WWW firewall musi być ustawiony jako domyślna brama. Jeżeli użyjesz polecenia "route -n", domyślna bramka (default gw) powinna być przedstawiona z wewnętrznym adresem IP bramy (czyli firewall'a). Aby to przetestować musisz być na zewnątrz sieci. Kiedy mówię na zewnątrz, chodzi o całkowicie inną klasę C. Tu jest pewna pluskwa w IP Masquerading'u która nie pozwala używać tej samej zewnętrznej bramy. Łata na to pojawiła się na liście mailingowej dotyczącej Masquerade. II) Firewall Setup
Do ograniczenia kto ma się dostać do serwera, po prosu trzeba użyć reguły z Korku 4 powyżej ipchains -A input -s $ANYWHERE -d $MY_EXT_IP 80 -p tcp -i eth1 -j ACCEPTi zmodyfikować ją. Powiedzmy że chcesz zezwolić na podłączenie tylko sieci 111.111.111.111. Możesz dodać dodatkowe niezbędne wartości w innych miejscach. ipchains -A input -s 111.111.111.111/32 -d $MY_EXT_IP 80 -p tcp -i eth1 -j ACCEPT |
|