Archiwa kategorii: Freesco

Artykuły archiwalne na temat systemu Freesco.

Wdzwaniany dostęp do sieci na Freesco

Opisałem tutaj moje praktyczne doświadczenia związane z konfiguracją dostępu wdzwanianego do freesco, oparte o lichą dokumentację jaką udało mi się znaleźć w Internecie.

Może najpierw napiszę co jest potrzebne: jakiś stary komputer – na wpół grat. Tak jak dla zwykłego Freesco potrzebny będzie mniej więcej 486 z 16MB RAM + sieciówka. HDD raczej nie potrzebne, chociaż w zasadzie mały dysk tańszy jest od stacji a ponadto dużo szybciej startuje, więc polecam mały HDD, jak kto woli.
Sieciówka też wystarczy 10Mbit ponieważ tak czy siak transfer z modemu jest śmiesznie mały w porównaniu do przepustowości karty.
Mała uwaga: na początku chodziło mi na 16MB RAMu ale jak doinstalowałem parę pakietów przestało, więc dołożyłem jeszcze 8 (w sumie 24) i jest w porządalu. Karta graficzna jest opcjonalna, w początkowej fazie jest potrzebna a później tylko w razie problemów technicznych.
Ważna sprawa: modem. Wszystkie jakie testowałem umożliwiały odbiór danych z pełną prędkością 56k, ale wysyłanie tylko 33600. Wynika z tego że maksymalny transfer wynosi około 3.5-4 kilobajtów na sekundę. Nie wykluczam tego że są takie które pracują w obie strony z tą samą prędkością, ale musiałyby być takie po obu stronach linii. W przypadku takich jak ja testowałem w obie strony transfer wynosi 33600, ponieważ każdy z modemów może nadawać tylko z taką prędkością, a zawsze jeden nadaje a drugi odbiera.
Jeszcze pozostaje sprawa połączenia. Oczywistym faktem jest to że pomiędzy modemami musi być jakiś rodzaj centralki, który umożliwi wybieranie numerów.

Konfiguracja
W takiej konfiguracji jak tutaj opiszę, Freesco powinno z dowolnego LANu umożliwiać pobieranie pakietów i wysyłanie przez modem. Jeżeli chodzi o Internet, z moich obserwacji wynika że oprócz prędkości nie różni się on niczym od normalnego dostępu przez sieciówkę.
Ponieważ dalsza część opisu będzie z przykładami, to opiszę tu konfigurację sieci LAN w jakiej stawiałem to Freesco:
W sieci pod adresem 10.1.1.1 jest główna brama do Internetu (akurat też Freesco, ale nie ma to znaczenia). Pod adresem 10.1.1.21 jest też brama ale w sumie udostępnia tylko DNS-cache do sieci. Dla dodatkowego Freesco przydzieliłem IP 10.1.1.20, a dla użytkownika modemowego 10.1.1.22.

Wszystko stawiałem w oparciu o Freesco dla modemu. Wersja dla SDI nie chciała działać, mimo że dużo czasu spędziłem nad jej konfiguracją. Początkowo chciałem postawić SDI + modem na jednym Freesco, tylko że wersja SDI była nieczuła na próby skonfigurowania modemu. Tak więc w rezultacie przeniosłem się na freesco modemowe.

Podstawowa konfiguracja jest taka jak dla zwykłego Freesco dla SDI. Dotyczy to opcji w setupie (podaję numery) :

13, 14, 15, 16
30,31
44 Control HTTP na Yes, i tak będzie widoczne tylko z LANu albo z modemu.

71 – Trzeba podać nazwę hosta + domenę sieci lokalnej
72 – 1st network – ustawiamy IP na jakieś wolne, oczywiście maskę jak w lokalnej, interfejs eth0
81 – karta sieciowa – tak jak normalnie

3,4,5,6 – niepotrzebne
41,42,43 – niepotrzebne (43 można wykorzystać do postawienia www tylko w lokalnej)
45,46,47,58 – też niepotrzebne, chociaż telnet może się niektórym przydać żeby SSH nie instalować.
W takim wypadku radzę włączyć telnet na „cały świat” co w tym przypadku oznacza dostęp z LANu i modemu.

Po tych ustawieniach warto zreebotować kompa i sprawdzić czy widzi on sieć lokalną i czy sieć lokalna widzi jego.

Uruchomienie modemu
Korzystamy z funkcji autokonfiguracji, albo ręcznie podajemy 51-53 i 61-63

Nie wiem czy to konieczne, ale u mnie nie da się nic dalej zrobić bez restartu- freesco dopóki nie zobaczy modemu nie chce nic zrobić.

Po restarcie dalsze ustawienia:

22) Remote Access – po ilu dzwonkach ma odpowiadać na przychodzący sygnał. UWAGA: ustawienie 1 dzwonka u mnie powoduje niemożność dodzwonienia się (centralka tak reaguje?) – podałem 2,2 ale można różnie. Drugie ustawienie – po przecinku – jest dla czasu kiedy zwykli użytkownicy nie mogą się logować, w tym czasie ma dostęp tylko root.

22x – ustawienie czasów dostępu dla użytkowników wdzwaniających, ja nie ustawiałem, właśnie tutaj można zdefiniować w których godzinach zwykli użytkownicy mają dostęp, a w których tylko root.

91.
911 Host gateway – podajemy IP bramy która w sieci lokalnej udostępnia Internet.
912 Primary DNS – ja ustawiłem na mojego DNSa w lokalu, 10.1.1.21 o którym pisałem wcześniej, zalecam podanie jako Primary DNSa z keszem, czyli lokalnej maszyny (na ogół będzie ta sama co bramka).
913 – Sec. DNS – ja tu podałem drugi DNS z keszem który stoi w sieci lokalnej – 10.1.1.1, ale można podać jakiś zewnętrzny (tepsy np.) albo zostawić puste.
914 – pusto

21 – Security
211 Trust Local Networks – Y
212 Trust Modem Links – Y

21,211 i 212 mają znaczenie tylko jeżeli jest włączony NAT i firewalling

92 Leased Line IP Address – to chyba nie ma znaczenia ale mam Y

55 Remote Side IP address for PPP – adres IP który będzie przydzielony do zdalnego połączenia. Powinien być z sieci lokalnej, oczywiście wolny. U mnie 10.1.1.22. Zresztą jest to wyjaśnione w setupie.

Następnie logujemy się do panelu (IP_serwerka:82) i trzeba zmienic hasło użytkownika dostępowego na ppp (nie wiem jakie jest na standardzie, ale ppp nie działa od razu).
Panel -> Modem Users -> Change -> ppp i trzeba podać nowe hasło.

Restart routerka i wszystko powinno działać.

To tyle konfigu od strony freesco, potrzebny jest jeszcze konfig od strony windy:

Trzeba stworzyć nowe połączenie. Potrzebny będzie skrypt – jest w archiwum z plikiem IMG do modemowego freesco.
Wpisujemy numer jak zazwyczaj (ale jest niezwykle krótki, np „4”), trzeba włączyć też „logowanie do sieci”, chociaż zauważyłem że nieraz działa bez, ale nie zawsze. Oczywiście musi być wyłączone używanie numerów kierunkowych.
W zakładce skrypty podajemy skrypt z archiwum, który trzeba wcześniej gdzieś skopiować. Bez tego nie potrafi zweryfikować nazwy użytkownika i hasła, co powoduje niemożność połączenia się.

I to by było na tyle, działa elegancko. Transfer jest w miarę dobry, zależy trochę od odległości między centralką a zdalnym modemem.

Jeszcze uwaga na temat opcji „Enable NAT and Firewalling” w setupie. Osobiście na początku miałem to włączone, ponieważ po wyłączeniu były zgrzyty.Ale teraz po tygodniu testów radzę raczej to wyłączyć. Dzięki temu IP modemu widoczne jest w sieci LAN, oraz znika parę problemów jakie widziałem np. z serwerami FTP oraz z Gadu-Gadu. W sumie wszystko jest nadal w fazie testów, ale w każdym razie lepiej działa z wyłączonym NATem niż z włączonym (przynajmniej u mnie).

Autor: Sławek Rzeźnicki


Jak ograniczać dostęp do stron pornograficznych?

W chwili, gdy powstaje ten opis, polska dokumentacja Freesco w .pdf nie zawiera jeszcze opisu instalacji i pełnej konfiguracji Squida. Może ją kiedyś opiszę, ale, szczerze mówiąc, nie bardzo widzę powód, ponieważ mnie samemu Squid zainstalował się z paczki gładziutko i bez żadnych problemów, z ustawieniami domyślnymi – a nigdy wcześniej z nim nie pracowałem. Zakładam więc, że masz już działającego Squida.

Metodę tu przedstawioną opracowałem sam – nie jest najlepsza, ale wykorzystuje wyłącznie Squida, tj. nie są do niej potrzebne pakiety typu JunkBuster albo SquidGuard (tego ostatniego zresztą chyba nie ma w wersji pod Freesco).

Wszystkie umieszczone w niniejszym opisie definicje siłą rzeczy są nieścisłe, podobnie jak i sama definicja pornografii, i musimy się z tym pogodzić.

Założenia przyjąłem takie:

1. Będziemy blokować domeny o jawnie ‘seksualnych’ nazwach, np. www.xxx.foo

2. Będziemy blokować ścieżki URL zawierające jawnie ‘seksualne’ słowa, w ten sposób uniemożliwiając m. in. WYSZUKIWANIE takich słów – bo, jak wiadomo, strona z wynikami zawiera w swoim adresie wyszukiwane słowo.

3. Postaramy się, w miarę możliwości, nie blokować wyszukiwania słów ‘dwuznacznych’, tj. takich, których może szukać ktoś zupełnie niewinny, w zupełnie uczciwym celu.

Aby dojść do kompromisowej skuteczności okazało się konieczne rozbicie słów na dwie listy: ‘jednoznaczną’ i ‘dwuznaczną’.

Lista jednoznaczna zawiera słowa, których obecność sprawdzana będzie w całym adresie, tj. w nazwie domeny ORAZ w ścieżce do podstrony (tj. PO znaku / ).

Lista dwuznaczna zawierać będzie słowa, których obecność będzie sprawdzana wyłącznie w nazwie domeny, natomiast po znaku / już nie.

Dlaczego? Może przykład.

Lista jednoznaczna zawiera np. słowo ‘sex’. W wyniku blokowania nie można otworzyć stron:

http://www.sex.com

http://www.domena.pl/obrazki/sex

http://www.szukacz.com/wynikwyszukiwaniasłowa=sex

Gdyby lista jednoznaczna zawierała słowo ‘piersi’, wynik byłby analogiczny. Ale to oznaczałoby, że nie można by było uzyskać wyników zupełnie niewinnego wyszukiwania wyrażenia ‘rak piersi’ – a przecież nie o to nam chodzi.

Dlatego dla słów dwuznacznych tworzymy drugą listę, która będzie sprawdzana tylko w domenie.
Porównajmy:

http://www.piersi.com – chwilowo nie ma takiej, ale gdyby była, uznałbym ją za podejrzaną z powodu samej nazwy. Dlatego nasz filtr domenowy powinien ją zablokować, i pewnie słusznie. Natomiast strona http://www.akademia-medyczna.com/piersi – zostanie uznana za niewinną, a więc filtr jej nie zablokuje. Skuteczność tego podejścia widać np. w Onecie po wyłączeniu filtra rodzinnego. Wpisanie słowa “czekoladki” otworzy listę całej masy stron typu www.cukrownie.pl – które dadzą się otworzyć. Ale znaleźć tam można też pornograficzne – i one prowadzą zwykle do domen z seksem w nazwie, a więc zostaną zablokowane filtrem przeszukującym tylko domenę.

Innymi słowy, uważam, że niewinne strony będą na niewinnych domenach, nawet, jeśli w nazwie ścieżki wystąpią ‘seksualne’ wyrazy. Natomiast strony pornograficzne będą na dobrze znanych domenach, których nazwy nie wzbudzają wątpliwości, nawet, jeśli nazwa ścieżki jest niewinna (np. galeria). Filtrowanie będzie tym skuteczniejsze, im więcej wyrazów będziemy w stanie zgromadzić na obu listach. Ja mam ich w tej chwili około 300 (thank you, Batman!).

Jak wspomniałem wyżej – to tylko założenia. Filtracja nigdy nie będzie 100% skuteczna i nigdy w 100% bez efektów ubocznych. Ale opisany wyżej układ pracuje na moim serwerze i sprawdza się dość dobrze.

Teraz realizacja.

1. W katalogu /mnt/router/packages/squid/etc tworzymy pliki zakazane_domeny i zakazane_urlsy.
Umieszczamy w nich po jednym słowie w wierszu. Pierwsza linia może zawierać komentarz po znaku #.
Zakazane_domeny zawiera słowa dwuznaczne (czekoladki, foki, lalki, pedaly …), a zakazane_urlsy – jednoznaczne (tych jest dużo więcej; oto parę lżejszych: babe, bzykan, sluts, hustler, xxx, zwilzon …). UWAGA: Stwierdziłem, że filtr może nie działać prawidłowo, jeśli w tych plikach znajdują się puste wiersze – należy je usunąć; również linię ostatnią. No i oczywiście słowa, które widać w przykładzie są celowo pozbawione odmiennych końcówek, żeby filtr je „łapał”.

2. W pliku /mnt/router/packages/squid/etc/squid.conf udajemy się najpierw do sekcji acl i dodajemy od siebie pod linią acl CONNECT method CONNECT:

#obyczajówka

acl zakazane_urlsy url_regex -i „zakazane_urlsy”

acl zakazane_domeny dstdom_regex -i „zakazane_domeny”

(Nazwy w cudzysłowiu odwołują się do plików stworzonych w punkcie 1 – najlepiej jest podać pełną ścieżkę, u mnie jest to /mnt/router/packages/squid/etc/. Opcja –i sprawia, że filtr będzie ignorował wielkość liter w URL.)

3. W tym samym pliku udajemy się do sekcji INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS i dodajemy pod nią (a przed http_access allow localnet):

http_access deny zakazane_urlsy

http_access deny zakazane_domeny

Prawdopodobnie będziemy też musieli dodać plik z wyjątkami dozwolone_urlsy (np. na słowo “dowcipy” :).
Stworzymy do niego acl w sposób identyczny, jak podałem powyżej, a regułkę http_access allow wstawimy powyżej regułki deny (reguły analizowane są po kolei).

Następnie zapisujemy plik i wykonujemy restart squida poleceniem ‘rc_squid restart’.

Ponieważ nie wszyscy znają angielski, warto przetłumaczyć stronę z komunikatem o braku dostępu, którą wyświetli squid – konkretnie jest to plik

mnt/router/packages/squid/etc/err_access_denied

Zwłaszcza istotny jest jego fragment “Please contact your service provider if you feel this is incorrect” (Jeśli uważasz, że nastąpiła jakaś pomyłka, skontaktuj się z administratorem – ze mną jak na razie jeszcze nikt się nie skontaktował :). Do tego pliku warto wtedy dodać również na początku tag polskiego kodowania liter, tj.
META http-equiv=”content-type” content=”text/html; charset=ISO-8859-2″

Oczywiście warto też podać Squidowi prawidłowy adres e-mailowy administratora (ustawia się go w linii cache_mgr w pliku squid.conf).

===

Osobną sprawą jest wymuszenie na użytkownikach korzystania ze squida. W tym celu musimy go skonfigurować jako transparentny proxy. Składają się na to dwa elementy: regułka ipfwadm oraz zmiana w squid.conf.

Najpierw element pierwszy:

ipfwadm -I -i accept -P tcp -S 10.0.0.0/24 -D 0.0.0.0/0 80 -r 3128
Jest to reguła, która przekierowuje wszystkie pakiety pochodzące z sieci 10.0.0.0 i zmierzające gdziekolwiek na port 80 na własny interfejs Freesco, na port 3128, gdzie nasłuchuje Squid (przy domyślnej instalacji). Jeśli reguła wpisana jest prawidłowo, możemy ją przetestować: wpisanie dowolnego adresu w przeglądarce będzie zwracać błąd Squida „Invalid URL”, zawierający wszystkie znaki z adresu po nazwie domeny (czyli np. / albo /strona.htm). Na tym etapie konfiguracji jest to jak najbardziej prawidłowy objaw.

Teraz element drugi układanki: udajemy się do squid.conf i modyfikujemy podaną niżej sekcję do takiego kształtu:

#transparentny squid
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
hddpd_accel_uses_host_header on

Po czym restartujemy squida i gotowe.

Dla sadystycznych administratorów

Podaję też konfigurację blokowania ściągania binariów (oczywiście, jeśli transfer http odbywa się za pośrednictwem Squida, np. transparentnego).
Postępujemy analogicznie jak wyżej: tworzymy plik zakazane_binarki i wpisujemy w nim (jeden wpis na linię) np. .zip, .avi. A w squid.conf wstawiamy:

acl zakazane_binarki urlpath_regex
„zakazane_binarki”

i poniżej:

http_access deny zakazane_binarki

Należy uważać z blokowaniem .exe, ponieważ sporo wyników kwerend (np. serwis rozkładu jazdy PKP) zawiera w adresie np. ‘query.exe’, więc natychmiast zostaniemy zbombardowani protestami. Można obejść to tworząc np. dozwolone_binarki (z wpisem query.exe) i wstawiając

http_access allow dozwolone_binarki

nad linią http_access deny zakazane_binarki.

Autor: Andrzej Januszkiewicz Data: 2002-11-18 00:00:00


Freesco i modem wdzwaniany

Aby uruchomić Freesco na modemie musimy użyć oryginalnego obrazu freesco, który mozna pobrać z działu Download (freesco-027.zip).

Natępnie wykonujemy czynności:

[1] Nagrywamy obraz dyskietki programem rawrite (dział Download).
[2] Odpalamy i logujemy się jako root (login: root, hasło: root).
[3] Uruchamiamy setup komendą setup.
[4] Wybieramy opcję d (Dialup line router).
[5] Każde wprowadzenie zmian zatwierdzamy klawiszem ENTER.
[6] 711 Hostname of this computer []? serwer – Nazwa dla tego komputera np. serwer
[7] 712 Domain name []? inet – Nazwa lokalnej domeny (każda nie istniejąca w Internecie).
[8] 50 Autoconfigure – odpowiadamy y (yes) i czekamy aż znajdzie Autokonfiguracja modemu (prędkość, nr portu).
[9] 53 Modem init string []? ATZ – dajemy ENTER – String inicjalizacyjny modemu.
[10] 8x Pyta którą kartę sieciową chcemy skonfigurować – Aby skonfigurować pierwszą kartę dajemy 1 i ENTER.
[11] 811 I/O port address of 1st ethernet card []? 0x0 – Zakres portów I/O, dla kart PCI dajemy 0x0.
[12] 812 IRQ line of 1st ethernet card []? 0 – Przerwanie karty sieciowej, dla kart PCI dajemy 0.
[13] 721 Interface name of 1st network, eth0/eth1/eth2 etc []? eth0 – Pyta o nazwę interfejsu dla pierwszej sieci – dajemy eth0.
[14] 724 IP address of 1st network interface []? 10.1.1.1 – Podajemy Ip jakie ma mieś ten interfejs sieciowy.
[15] 725 Network mask []? 255.0.0.0 – Podajemy maskę podsieci.
[16] 726 IP range []? 10.1.1.2 10.1.1.20 – Zakres lokalnych adresów IP dla serwera DHCP.
[17] 411 Enable caching DNS server y/s/n []? s – Włączanie caching DNS (s – lokalnie).
[18] 412 Enable DNS requests logging for debug purpose y/n []? n – Pyta czy chcemy edytować plik konfiguracyjny DNS – dajemy n.
[19] 421 Enable DHCP server y/s/n []? s – Włączanie serwera DHCP (dynamiczne konfigurowanie hostów).
[20] 422 WINS address (if you have one, otherwise – ‚-‚) []? – Ustawianie adresu serwera WINS – dajemy ENTER.
[21] 423 Default-lease-time,max-lease-time (sec) []? 604800,604800 – Czas dzierżawy adresu IP – dajemy ENTER (604800 – 7dni).
[22] 424 Do you want to create/edit static dhcp leases y/n []? n – Edycja lub tworzenie statycznej tablicy dzierżaw numerów IP.
[23] 431 Enable public HTTP server y/s/n []? S – Włączenie serwera HTTP (n – nie, s – lokalnie, y – „na świat”).
[24] 432 Public HTTP server IP port []? 80 – Port na którym będzie pracował serwer www – dajemy 80.
[25] 441 Enable time server and router control via HTTP y/s/n []? s – Włączenie serwera czasu oraz kontroli serwera poprzez WWW.
[26] 442 Control HTTP server IP port []? 82 – Numer portu do zdalnej administracji serwera przez www.
[27] 443 Host Time server address, ‚-‚ – disable time service []? – Ustawienie adresu internetowego serwera czasu (ENTER).
[28] 444 Time offset to UTC(GMT) []? +0200 – Ustawienie strefy czasowej (+0200 – czas letni, +0100 – zimowy).
[29] 451 Enable Print Server(s) y/s/n []? n – Włączenie serwera druku (y – tak, n – nie, s – lokalnie).
[30] 46 Enable telnet server y/s/n []? s – Zdalny dostęp poprzez telnet (s – lokalnie).
[31] 14 Savers – screen(min),hdd(x5 sec) 0 -off [0,0]? – Czas wygaszenia ekranu i uśpienia pracy dysków (ENTER).
[32] 15 Swap file size in Megabytes (on boot device). 0 – disable [0]? – Wielkość pliku wymiany swap, wartość 0 – wyłączony.
[33] 13 Do you want to enable extra modules/programs y/n [y]? n – Dodatkowe moduły (dajemy n, chyba że mamy sporo RAM-u).
[34] 16 Log sizes in bytes. syslog,logins_log [50000,5000]? – Maksymalna wielkość plików syslog i logins_log (dajemy ENTER).
[35] 47 Do you want to export services y/n []? n – Umożliwia forward portów na lokalne komputery (dajemy N).
[36] 480 Do you want to enable the DynDNS client y/n/- []? – Włączanie opcji DynDNS dla serwera (dajemy N).
[37] 30 ISP/connection name (1-8 chars) []? tpsa Nazwa dla połączenia z usługodawcą internetowym.
[38] 31 ISP phone numbers []? T0202122 – Numer telefonu dla połączenia z interntem (T-tone, P-pulse).
[39] 32 Keep up the ppp link for N sec. 0 – use filter.cfg; 1 – forever.[]? 1 Podtrzymanie połączenia po wysłaniu ostatniego pakietuprzez N sekund, 0 wg. pliku filter.cfg, 1 – zawsze podtrzymuj.
[40] 33 Primary DNS address (your providers DNS) []?194.204.159.1 – Adres podstawowego serwera nazw DNS (dns.tpsa.pl).
[41] 34 Secondary DNS address (otherwise – ‚-‚) []?194.204.152.34 – Adres pomocniczego serwera nazw DNS (dns2.tpsa.pl).
[42] 35 ISP http proxy address, (otherwise ‚-‚) []? – Adres serwera proxy usługodawcy internetowego (ENTER – brak).
[43] 36 Does your ISP give you a dynamic IP address []? Y – Czy provider przydziela nam dynamicznie adres IP (dajemy Y).
[44] 39 Custom initialization string (otherwise ‚-‚) []? – Dodatkowe komendy do stringu inicjalizującego (dajemy ENTER).
[45] 40 Authentication method – pap/chap/script []? pap – Ustawienie metody autoryzacji (dajemy ENTER).
[46] R0 Login name []? ppp – Login (dajemy ppp).
[47] R1 Password []? ppp – Hasło (dajemy ppp).
[48] Changing password for root – Zmiana hasła dla root-a (dwukrtonie nowe hasło).
[49] Changing password for user admin – Zmiana hasła dla administratora WWW (dwukrtonie nowe hasło).
[50] Zakończyliśmy konfigurację, dajemy S w celu zapamiętania ustawień i retsrtujemy router komendą reboot.

Pozostaje tylko skonfigurować komputery klienckie i już można szalec po Internecie. Warto również wyedytować plik /mnt/router/etc/filter.cfg w którym określić można które komputery w naszej sieci powodują połączenie z Insternetem, a które nie, jak i czas po jakim ma nastąpić rozłączenie z Internetem po wysłaniu ostatniego pakietu.

Artykuł ten został napisamy na podstawie postu „Konfiguracja Freesco dla modemu, opis” wysłanego na grupę dyskusyjną trzepak.freesco dnia: 23-08-2001 przez Cinas-a. Big THX 🙂

Autor: Łukasz Skłodowski


SAP

SAP to prosty słownik angielsko-polski i polsko-angielski działający na konsoli Freesco. Nie ma żadnych szczególnych wymagań z wyjątkiem ramdisku z polską klawiaturą (jeśli zamierzamy korzystać z niego bezpośrednio, przy łaczeniu się zdalnym nie ma to znaczenia).
installpkg http://info.freesco.pl/packages/sap
Paczuszkę należącą do kategorii przydatnych narzędzi skompilował RaaDaaR i przyrządził z pomocą Maćka. Życzymy, aby stała się niezbędna, szczególnie dla początkujących adminów.

Przykład:
*maciek*helios~/>sap -a refuse
Słownik angielsko-polski
refuse – czasownik odmówić, odrzucić
rzeczownik odpadki, nieczystości, śmieci
refusal – rzeczownik odmowa
*maciek*helios~/>sap
ściana
Słownik polsko-angielski
ściana – rodzaj żeński wall
odmówić
Słownik polsko-angielski
odmówić – czasownik przechodni patrz:
odmawiać
odmawiać
Słownik polsko-angielski
odmawiać – czasownik przechodni a) refuse,
deny; b) (np. modlitwę) say

Autor: W. Trąmpczyński Data: 2003-10-10


LMS

Pakiet oparty jest na oryginalnym programie LMS – strona domowa:
http://lms.rulez.pl – poniżej fragment opisu z tej strony.
„LMS” jest skrótem od „LAN Management System”. Jest to zestaw aplikacji w PHP i Perlu, ułatwiających zarządzanie sieciami osiedlowymi (popularnie zwanymi Amatorskimi Sieciami Komputerowymi), opartych o bazę danych MySQL lub PostgreSQL. Główne założenia to uzyskanie jakości usług oraz obsługi użytkowników na poziomie providera z prawdziwego zdarzenia. Najbardziej podstawowe cechy LMS to:
– baza danych użytkowników (imię, nazwisko, adres, numer telefonu, uwagi);
– baza danych komputerów (adres IP, adres MAC);
– prowadzenie prostego rachunku operacji finansowych oraz stanu funduszów sieci;
– różne taryfy abonamentowe;
– wysyłanie pocztą elektroniczną upomnień do użytkowników;
– automatyczne naliczanie opłat miesięcznych;
– generowanie praktycznie jakiegkolwiek konfigu na podstawie danych o komputerach w bazie (przykładowe configi obejmują rc.masq na iptables, dhcpd.conf, oidentd_masq.conf, /etc/ethers, dns prosty i odwrotny);
Całość kodu publikowana jest na licencji GNU GPL v2.

W systemie Freesco nie będą działać niektóre funkcje LMS (brak wsparcia dla ipfwadm). Jednak może to być przydatna aplikacja do zarządzania siecią i jej finansami, wcześniej wiele osób pytało o możliwość adaptacji LMS na Freesco.
wymagania:
apache 1.3.26, php 4.22, perl 5.61, mysql i komputer który to uciągnie – czyli jakieś P166 i 32 MB RAM (jako minimum);
instalacja:
installpkg http://miniwebportal.and.pl/packages/lms
Po instalacji należy zapoznać się z dokumentacją pod adresem http://twój.serwer/lms/doc/html a następnie utworzyć bazę o nazwie „lms”. Najlepiej to zrobic używając phpMyAdmin. Na lokalny dysk ściągnąć plik http://twój.serwer/lms/lms.mysql i za jego pomocą utworzyć tabele w bazie lms. Następnie wywołać stronę główną:
http://twoj.serwer/lms i zalogować się jako „admin” bez hasła.
Po zalogowaniu można przystąpic do konfiguracji, pamiętając o ustawieniu hasła dla domyślnego admina.
podziękowania:
Po pierwsze dla v|rusa, który pierwszy wpadł na ten pomysł, żeby przystosować LMS do Freesco. Po drugie dla członków PGF, za wsparcie…

Autor: W. Trąmpczyński Data: 2003 -10-10


Exim i teapop

Poczta elektroniczna, tzw. e-mail, jest realizowana przez programy nazywane MTA (Mail Transport Agent). To te programy utrzymują skrzynki pocztowe użytkowników oraz zajmują się skutecznym dostarczaniem listów do odbiorców. Programy wykorzystują standardowo port 25 komunikując się protokołem nazwanym SMTP (Simple Mail Transport Protocol). Niektóre z tych programów potrafią także obsługiwać przekazywanie odebranych listów ze skrzynek do programów obsługi poczty takich jak Outlook, The Bat itp. Tak jest w przypadku eXtremaila ale np. Exim wymaga dodatkowego programu obsługującego protokół odbioru poczty nazywany POP3. Odbiór poczty poprzez protokół POP3 odbywa się na porcie 110. Nowszy protokół IMAP4 posługuje się portem 143.

Do dyspozycji we Freesco mamy kilka programów: eXtremail (SMTP + POP3) albo exim (SMTP) we współpracy z teapopem (POP3) lub pakietem courier. Ponieważ eXtremail ma świetny opis (manual) na swojej stronie domowej, a ponadto działanie tego programu było powodem wielu problemów użytkowników Freesco, dlatego skupimy się na tandemie exim+teapop.
Warto polecić ostatnią wersję tych programów (exim 3.36, teapop 0.3.5) – o przyczynach takiego wyboru później. Ci którzy lubią tzw. kombajny mogą zainteresować się Communigate Pro. Na www.freescosoft można znaleźć też aplikację Delegated, która spełnia podobne zadania. Można też wspomnieć, że właśnie w fazie testów znajduje się postfix.
INSTALACJA
Poleceniem installpkg http://adres.serwera.z.paczkami/exim rozpoczynamy instalację exima a później teapopa (zamiast teapopa można wybrać courier, który ma możliwość posługiwania się protokołem IMAP4) Przykład:
installpkg http://www.freesco.arx.pl/0.2.7/exim
Instalacja jest standardowa i nie powinna sprawić większych kłopotów. Exim jest programem MTA, czyli jedynie przekazuje pocztę pomiędzy komputerami w Internecie. Zatem nie sprawdzimy jego działania przed instalacją programu do odbioru poczty.
KONFIGURACJA
Po instalacji musimy wyedytować plik „configure” w katalogu /mnt/router/packages/exim. Nie ma sensu podawać tu pliku w całości ponieważ większość domyslnych ustawień zachowamy. Natomiast te które są poniżej, musimy koniecznie zmienić. Niektórym zmiennym pliku configure można przypisać kilka wartości – w tym przypadku oddzielamy je dwukropkiem. Spacje można wstawiać ale nie ma obowiązku, są ignorowane. primary_hostname = wpisz.adres.swojego.serwera.pl
# Przykład:
primary_hostname = pp22.miastko.sdi.tpnet.pl
# qualify_domain =
# Zostawiamy zahaszowane, będzie wykorzystana wartość z primary_hostname
local_domains = localhost : wpisz.adres.swojego.serwera.pl
# Przykład:
local_domains=localhost:pp22.miastko.sdi.tpnet.pl:domenakumpla.pl
Te linie wskazują Eximowi, po nawiązaniu połączenia przychodzącego w celu przesłania maila, jakie przesyłki ma dostarczyć do lokalnych skrzynek a jakie należy przesłać dalej (tzw. relaying). Jeśli adres docelowy e-maila nie zgadza się z którąś z wartości local_domains nie powinniśmy domyślnie pozwalać na przesyłkę dalej bez autentykacji, o czym później, ponieważ stworzymy tzw. open relay chętnie wykorzystywany przez spamerów do nadużyć.
# local_domains_include_host_literals
forbid_domain_literals
Pierwszą domyślnie haszujemy znakiem „#”, drugą należy odhaszować, jeśli nie chcemy dostawać maili zaadresowanych do nas za pomocą naszego adresu IP zamiast nazwy domeny. Przykładowo user@[212.100.111.111] – jest to zaszłość używana dawniej choć nadal będąca częścią standardu, jednak obniża odporność na otrzymywanie niepożądanej poczty.
never_users = root
Definiujemy użytkowników dla których lokalne dostarczanie listów nie będzie wykonywane pod ich numerem uid, w zamian będzie użyte konto nobody. Jest to następna opcja bezpieczeństwa tzw. paranoid. Oczywiscie należałoby jeszcze zmienić wpisy w pliku „aliases” (katalog /mnt/router/packages/mail) – tak żeby listy adresowane do roota trafiały do innej skrzynki, posługiwanie się kontem roota do odbioru poczty nie jest bezpieczne.
Teraz pora na ustawienia dotyczące komputerów, które będą mogły korzystać z serwera smtp (wysyłać listy w świat), domyślnie są to komputery w sieci wewnętrznej i ewentualnie zaufane hosty naszych znajomych, czy nasz własny w pracy (lub odwrotnie) Ważne jest, żeby adresy tych komputerów były stałe – nie będzie to działać ze zmiennymi IP przydzielanymi komputerom łączącym się z internetem za pomocą modemów analogowych np. 0202122 w TPSA, usługa Dialnet co dzień itp.
host_accept_relay = localhost : my.friends.host : 192.168.0.0/16
Oczywiście nie wszystkie wpisy muszą być, jeśli jednak chcemy korzystać z logchecka, powiadamiania sms na telefon komórkowy, czy polecenia „mail” w skryptach php czy cgi, musimy tu również umieścić wpis localhost i wewnętrzną nazwę naszego serwera (jeśli jest inna niż nazwa zewnętrzna).
# relay_domains =
# To zostawiamy zahaszowane bo dotyczny tylko sytuacji, gdy jesteśmy wpisani w DNS dla jakiejś domeny zapasowym serwerem MX czyli poczty. Jeśli jednak jesteśmy to wpisujemy tu te domeny dla których prowadzimy taką usługę.
CZYNNOŚCI KOŃCOWE
Odblokujmy jeszcze komunikację programu ze światem. W tym celu wyedytujmy plik /mnt/router/rc/rcuser/rc_exim i wyszukajmy linijek:
# Comment out the next line to make exim accessable from the internet
# [ „$ENAMSQ” = y ] && ipfwadm -I -a reject -P tcp -W $INET -D 0.0.0.0/0 25
ta druga musi zaczynać się znakiem „#”, jeśli go brak wstawmy go tam i zapiszmy zmiany w pliku.
Na tym można zakończyć konfigurację exima dla najprostszej sytuacji, gdy listy wysyłane w świat będą pochodzić tylko z komputerów w naszej sieci lokalnej. Jednak mogą zaistnieć sytuacje, że sami znajdziemy się na zewnątrz sieci, albo udostępniamy komuś konto e-mail. Temu służy tzw. autentykacja albo inaczej uwierzytelnianie.
host_auth_accept_relay = *
Gwiazdka wpisana w tej linii spowoduje, że ze wszystkich hostów zewnętrznych trzeba będzie stosować uwierzytelnianie.
Ostatnia sekcja pliku „configure” zawiera wpisy pozwalające korzystać z haseł systemowych w celu przeprowadzenia uwierzytelniania, w tym zakresie niczego nie zmieniamy.
Pozostałe elementy konfiguracji można pozostwić bez zmian.
EXIM Z TEAPOPEM
Konfiguracja exima daje wiele różnych możliwości we współpracy z teapopem, fetchmailem i procmailem.
Można np. zmusic tandem teapop i exim do przechowywania listów w formacie „mbox”.
Możemy dodać wpis w sekcji DIRECTORS CONFIGURATION pliku configure exima:
users_aliases:
driver = aliasfile
file = /etc/users_aliases
search_type = lsearch
errors_to = root
i dodać plik users_aliases w katalogu /etc, co spowoduje, że można wstawiać dowolne aliasy np.:
webmaster: maciek@helios.workgroup
postmaster: maciek@helios.workgroup
admin: maciek@helios.workgroup
zdefiniowane aliasy nie muszą mieć w systemie użytkowników… Trzeba pamiętać, że plik ten dodajemy do katalogu /mnt/etc i kopiujemy ręcznie do /etc lub robimy restart.
Można również zmienić domyślny format przechowywania poczty. Obecnie jest to najczęściej tzw. maildir. Exim korzysta z tego domyślnie.
W sekcji „Transport Configuration” są następujące ustawienia:
local_delivery:
driver = appendfile
maildir_format = true
directory = /var/mail/$local_part
require_lockfile = true
use_fcntl_lock = true
use_lockfile = true
delivery_date_add
envelope_to_add
return_path_add
headers_add = „Lines: $body_linecount”
group = mail
# mode = 0660
Jeśli zmienimy „directory” na „file” ( i zahaszujemy linię maildir_format = true) exim będzie składował pocztę w tradycyjnym formacie „mbox” czyli w pliku.
Wielu administratorów Freesco pyta o możliwość założenia skrzynek pocztowych w katalogach domowych, które zwykle są na osobnej partycji, zapobiega to zapchaniu partycji systemowej przez użytkowników lubiących przesyłać i przechowywać wiele dużych plików. Musimy dokonać kilku zmian w konfiguracji exima i teapopa. Przedstawiony schemat zakłada, że katalogi użytkowników znajdują się w /mnt/home.
Zmiany w pliku konfiguracyjnym exima:
local_delivery:
driver = appendfile
# maildir_format = true
file = /mnt/home/$local_part/.Mailbox
require_lockfile = true
use_fcntl_lock = true
use_lockfile = true
delivery_date_add
envelope_to_add
return_path_add
headers_add = „Lines: $body_linecount”
group = mail
# mode = 0660
zmiany w pliku teapop.passwd:
empty:*:passwd:~/.Mailbox:0:
W ten sposób poczta będzie składowana w pliku .Mailbox w katalogu domowym użytkownika. Wybrano tu tradycyjny format „mbox” ze względu na zapewnienie dobrej współpracy z linuxowym klientem e-mail i news – Pine. Zastosowano nazwę pliku z kropką, co oznacza w linuxie plik ukryty i ma zapobiec przypadkowemu skasowaniu pliku podczas sesji ftp, oczywiście nie będzie tragedii jeśli plik zniknie, exim założy go gdy następny raz przyjdzie poczta. Po tej zmianie możemy usunąć plik rc_spool z katalogu /mnt/router/rc/rcuser – ponieważ linkowanie katalogów z pocztą nie będzie już potrzebne.
Jeżeli chcemy korzystać z formatu mbox i jednocześnie zostawić domyślny katalog poczty, założony podczas instalacji, musimy również usunąć plik rc_spool i zamiast niego wpisać w rc_exim:
ln -s /mnt/router/packages/mail /var/spool/mail
w pliku teapop.passwd:
empty:*:passwd:/var/spool/mail:0::mail:
Warto również zmienić plik aliases, aby żadne komunikaty nie przychodziły już na konto root.
Dlaczego warto przeprowadzić tę zmianę? Nie tylko ze względu na ulokowanie poczty. Zmiany te pozwalają również na udostępnienie użytkownikom pliku .forward w katalogu domowym (potrzebny np. do powiadamiania sms).
Teapop
Instalacja tej niewielkiej aplikacji jest prosta i w zasadzie nie wymaga, żadnej konfiguracji (jeśli ma działać wg domyślnych ustawień. Jedynie na co trzeba zwrócić uwagę, to zmiana domyślnego hasła użytkownika „ppp”, które instalator proponuje zmienić. Ewentualna konfiguracja programu do współpracy ze skrzynkami „mbox” została opisana wyżej. Powyższy opis wykonany został na podstawie doświadczeń i prób, więc zawiera sprawdzone informacje. Olek i Maciek – autorzy opisu wykorzystali doświadczenia swoje i innych członków grupy trzepak.freesco, w ostatniej części opisu konsultacjami służył Mis’.
Uzupełnienia:
Konfiguracja klienta e-mail
Jeśli korzystamy z autentykacji w eximie, pozwala on na wysłanie poczty każdemu użytkownikowi systemowemu z dowolnego adresu, pod warunkiem prawidłowej konfiguracji klienta pocztowego.
Nie wszystkie programy udostępniają taką opcję. W Outlooku musimy zaznaczyć we właściwościach konta pocztowego „serwer wymaga uwierzytelniania”, The Bat w nowszych wersjach we właściwościach konta i zakładce serwery ma przycisk „autoryzacja” – tam musimy zaznaczyć „sprawdzaj autoryzację dla smtp”. W kliencie pocztowym zestawu Mozilla (również Netscape) – obecnie dla wszystkich kont poczty przychodzącej jest używany jeden, ten sam, serwer obsługujący wysyłkę. Wpisanie następnych nie jest zalecane ani konieczne i może powodować problemy
. (w nawiasach podane są nazwy po zainstalowaniu langplpl.xpi – polskiego
tłumaczenia dla Mozilli)
Wybieramy menu „Edit” -> „Mail & Newsgroups
Account Settings…” -> „Outgoing Server (SMTP)”
(„Edycja” -> „Konfiguracja kont kuriera poczty…” -> „Serwer poczty wychodzącej…”)
Jako nazwę serwera podajemy IP naszego freesco od strony LANu
np. 192.168.0.1 port standardowo 25.
Zaznaczamy ptaszka przy „Use name and password” („Zawsze podawaj identyfikator użytkownika i hasło”) i wpisujemy nazwę użytkownika do okienka przy „User Name” („Użytkownik”).
Ustawienia szyfrowania połączenia SSL pozostawiamy wyłączone
czyli „Never” („Nigdy”).
Courier
Pakiet courier zwiera dwa demony startujące wraz z systemem – pop3d oraz imap. Jest wygodniejszy od teapopa, ponieważ umożliwia odbieranie poczty zgodnie ze specyfikacją IMAP4. Pozwala to na zarządzanie pocztą bezpośrednio z serwera. Jest to jednak pakiet nowy i jeszcze mało znany. Dlatego też oczekujemy na ewentualne uwagi i pomoc w wykonaniu opisu.
Fetchmail
Składnikiem dodatkowym w tandemie exim+teapop może byc fetchmail, program służący do pobierania poczty z kont zewnętrznych i przekazywania listów na konto lokalne.
Instalacja tego pakietu jest prosta i nie wymaga konfiguracji, poza plikiem fetchmail.conf, w którym ustalamy jak często i z jakiego konta zewnętrznego na jakie lokalne ma byc przekazywana poczta. Ze względu na bezpieczeństwo plik ten jest przeznaczony do zapisu i odczytu tylko dla roota. Zawiera nastepujące wpisy:
set daemon 3600 – interwał czasowy podany w sekundach
poll serwer.zdalny.pl with proto POP3 user „xyz” there with password „XXX” is „user@lokalny.serwer.pl”
Istnieje możliwość udostępnienia tej usługi użytkownikom do samodzielnej konfiguracji, jeśli mają dostęp do shella lub ftp…
(i tutaj nie wiem jak to się robi – zapytam co o tym wie Mis’ – pisal cos kiedys…)
Mail2sms
Skrypt przesyłający smsa po otrzymaniu nowej poczt napisał Marek na grupie trzepak.freesco. Skrypt pracuje w sieci PlusGSM i ściągnąć go można z http://miniwebportal.and.pl, tam też został umieszczony opis przedstawiony na grupie.
SKANER ANTYWIRUSOWY
Należy w tym celu zainstalować dwa pakiety ze strony www.webedited.com/freesco – jest to antivir i avmailgate.
Antivir jest darmowy dla zastosowań niekomercyjnych jednak najpierw trzeba się zarejestrować na stronie producenta, który pocztą przyśle nam plik – klucz.
Jednak najważniejsza jest możliwość użycia antywirusowego skanera poczty.
Do tego służy drugi pakiet – avmailgate.
Najpierw trzeba uaktualnić exima wg ostatniej wersji Dagooba. Ponieważ jednak mam pocztę w $HOME/.Mailbox i procmaila – nie instalowałem paczki, a ręcznie podmieniłem wszystkie pliki zawarte w nowej wersji.
Plik configure pozostał ten sam wzbogacony jedynie o wpisy:
unknown_alias_domains:
driver = aliasfile
file = /etc/aliases
search_type = lsearch*@
# user = exim
file_transport = address_file
pipe_transport = address_file
include_domain

unknown_alias:
driver = aliasfile
file = /etc/aliases
search_type = lsearch*
# user = exim
file_transport = address_file
pipe_transport = address_pipe
(Uwaga! Po kilu doświadczeniach, stwierdziłem, że te wpisy nie są niezbędne.) dodajemy to po istniejących wpisach w sekcji Directory Configuration.
Ponadto po zainstalowaniu antivir i avmailgate sugeruję zmienić dwa wpisy:
### Do not perform any delieveries if the loadavg is above this figure
deliver_load_max = 3.5 #było 1.5

### Only ever use 3 threads at once for delieveries – było 3
smtp_accept_queue= 5
smtp_accept_queue_per_connection = 5
To powinno poprawić działanie exima, także pod względem czasu blokowania skrzynki. Tu mała uwaga, exim dostarczając pocztę zakłada lockfile i kasuje dopiero po zakończeniu czynności, dlatego w trakcie procesu teapop nie ma dostępu do skrzynki. A zatem uwaga na wolniejsze komputery. Powyższe zmiany mogą zadziałać wręcz odwrotnie…
No i na koniec instalujemy avmailgate.
W zasadzie nie musimy nic więcej konfigurować.
Avmailgate działa ze wszystkimi formatami i miejscami składowania poczty. Po prostu otwiera w loop0 2 dodatkowe porty nasłuchu – pobiera od exima pocztę przychodzącą i oddaje z powrotem po sprawdzeniu… exim dalej robi swoje zgodnie z tym jak go ustawiliśmy.
http://www.webedited.com/freesco/ – adres strony z paczkami
UZUPEŁNIENIA
1. Od wersji #2 prawidłowo działa ustawienie strefy czasu w eximie. Dzięki temu mogą zniknąć problemy z nieprawidłową godziną utworzonej wiadomości. Wystarczy w końcowej części sekcji MAIN CONFIGURATION dodać wpis:
timezone = +0200 #dla czasu letniego (dla czasu zimowego będzie to +0100)
2. Od wersji #2 mogą wystąpić problemy z przesyłaniem listów do serwerów obsługiwanych przez Communigate. Spowodowane są przez wysyłanie pustego bloku TLS, który jest dla serwera Communigate impulsem do zamknięcia sesji. I na to jest lekarstwo. Należy dopisać w sekcji TRANSPORTS CONFIGURATION następujący string:
hosts_avoid_tls = *
Dopisujemy to na początku sekcji po:
remote_smtp:
driver = smtp
Od tego momentu nie mamy problemów z serwerami CGpro.
3. Zaawansowane filtrowanie poczty.
Ponieważ instalacja skanera antywirusowego nie ma sensu na komputerach słabszych niż P166 i 32 MB RAM, można zastosować filtry poczty, które nie obciążają tak maszyny, a bardzo skutecznie zabezpieczą użytkowników przed spamem i podejrzanymi przesyłkami.
W wersji #4 dołączany jest plik attachments.filter, który jest prekonfigurowanym filtrem systemowym. Żeby go uruchomić, wpisujemy w końcowej części MAIN CONFIGURATION następujące polecenie:
message_body_visible = 5000
message_filter = /mnt/router/packages/exim/attachments.filter
Filtr został napisany w specjalnym języku skryptowym exima, który jest prosty, ale daje wielkie możliwości (szczegóły na www.exim.org). Poniżej w skrócie przedstawię kilka przykładów, które można dodawać do pliku głównego.
#
——————————————————–
# Usuwanie spamu o charakterze pornograficznym
#
———————————————————

if $header_subject: matches
„ADULT|adult|porn!|Adult|Porn|Sex|porn|sex|Amateur|Teens|shit|pussy|nude”
then
fail text „Wiadomosc zostala usunieta, poniewaz
zawieralan
sygnatury wskazujace na spam lub reklamy pornon
————– n
This message has been rejected since it hasn
the signature of a known spam or porn in the header.”
seen finish
endif
if error_message and $header_from: contains
„Mailer-Daemon@”
then
# looks like a real error message – just ignore it
finish
endif
#
———————————————————–
# Usuwanie listów z załącznikami w formacie .exe,
.com itp…
#
———————————————————–
if $header_content-type: matches
„(?:file)?name=(„[^”]+.(?:ad[ep]|ba[st]|chm|cmd|com|scr|vb[se]|ws[fhc])”)”
then
if $return_path is „”
then
seen finish
endif
fail text „Wiadomosc zostala usunieta poniewaz forma zalacznika bylan
typowa dla znanych wirusow mailowychn
Jesli plik byl wyslany swiadomie nalezy wyslac go ponownien
w formie skompresowanejn
———— n
This message has been rejected because it hasn
potentially executable contentn
t$1n
This form of attachment has been used byn
recent viruses or other malware.n
If you meant to send this file then pleasen
package it up as a zip file and resend it.”
seen finish
endif
#
———————————————————–
Filtrowanie poczty może być też realizowane przez plik „.forward” znajdujący się w katalogu domowym użytkownika. Można tam wpisywać polecenia zapisujące pocztę do oddzielnych plików, przesyłanie określonych listów dalej i wiele jeszcze innych. Filtry exima są na tyle zaawansowane, że mogą zastąpić procmaila.
Należy pamietać, że aby uaktywnić zmiany, które zrobiliśmy należy na koniec w linii poleceń wywołać rc_exim z parametrem restart. Dodawanie nowych reguł filtrujących nie wymaga restartu exima.

Aby serwer poczty miał pełne możliwości należy jeszcze pomyśleć o zainstalowaniu Procmaila i Fetchmaila, choć to juz są odrębne zagadnienia.
Autorzy: Maciek i Olek Podziękowania dla: Marka, Lamera, Misia


MRTG

Przydatny każdemu adminowi pakiet, który graficznie pokaże, kto ile ściąga i wysyła, obciążenie na interfejsie ppp0, eth0, eth1 i eth2. Pakiet został wstępnie dopasowany do potrzeb polskiego użytkownika.

Wersja: v0.1.3, 2003/03/22 18:38:16
Oryginał tego dokumentu znajduje się pod adresem:
http://olotest.republika.pl/opismrtg.html
Oryginał paczki MRTGpl znajduje się pod adresem:
http://olotest.republika.pl/0.2.7/mrtgpl

0. Podziękowania
Dziękuję Maćkowi maciek (at) emti (dot) one (dot) pl za pierwszą wersję opisu jeszcze do wersji roboczej pakietu, który był wzorem zakresu tematyki. Wykorzystałem tutaj jego obszerne fragmenty.

1. Co trzeba mieć
Przed instalacją pakietu należy mieć zainstalowane paczki: perl, lewy-lib, utils (ewentualnie utils-2).

2. Instalacja
Po wydaniu polecenia „installpkg” standardowo odpowiadamy na dwa pytania – pierwsze „n” i drugie „y”. Jeśli nie mamy którejś z wyżej wymienionych paczek skrypt instalacyjny przerwie pracę informując o konieczności jej zainstalowania. Jeśli wymagania są spełnione pokażą się tylko linijki zakończone OK. Teraz skrypt instalacyjny wywoła inny skrypt konfiguracyjny do ustawienia zliczanych adresów i nazw komputerów w lanie oraz ruchu na interfejsach naszego serwera.

Przy pytaniu o pracę w IT-FAQ naciskamy [Enter].
Pytanie pojawia się w tym miejscu ponieważ właśnie ten skrypt jest w całości mojego autorstwa i odmawiam prawa używania go pracownikom wydawnictwa i redakcji czasopisma IT-FAQ.

3. Zliczanie ruchu na interfejsach
Jeśli mamy SDI z 1 kartą sieciową przy pytaniu o ppp0 i eth0 odpowiadamy „y”.
O ile mamy 2 lub 3 karty sieciowe w serwerze to „y” także przy eth1 i eth2.
Jeśli nie mamy więcej to „n” – inaczej stworzą się nam wykresy pokazujące wiecznie zero.
Użytkownicy Neo+ włączają ppp0 i eth1 (i ew. eth2).
Przy pytaniu o eth0 wybieramy „n”!

4. Zliczanie ruchu poszczególnych komputerów
W tej części podajemy nazwy komputerów oraz ich adresy IP.
Przykład:
lanstations connected to eth0
(enter name or press enter to exit this section)
name of lanstation: Jarek
IP of lanstation: 192.168.1.5

Konfigurator będzie pytać kolejno o komputery podpięte do kart eth0, eth1, eth2. Kończymy wpisywanie i przechodzimy do następnej podsieci przez naciśnięcie [Enter] przy kolejnym pytaniu o nazwę komputera.
Adresy IP komputerów NIE mogą się powtórzyć. Błędne lub podwójne podanie adresu nie pozwoli generować wykresów dla tego komputera.
Po zakończeniu konfiguracji należy wykonać reboot systemu. Bez tego ruch nie będzie zliczany ponieważ regułki znajdują się w sekcji firewall pliku rc_mrtg. Bardziej zaawansowani obejdą konieczność rebootu jednak nie będę tutaj o tym pisać. Po prostu zrób reboot.

5. Wykresy ruchu
Wykresy generowane są w cyklu pięciominutowym. Z tego wynika, że aby ujrzeć jakieś wykresy trzeba poczekać te 6 lub więcej minut po instalacji no i dokonać w tym czasie jakiegoś transferu. Wykresy obserwujemy jako strony WWW serwowane przez freesco pod adresem http:///mrtg/index.html Chyba nie muszę tłumaczyć dlaczego chcąc używać MRTG należy w setupie freesco włączyć serwer http.

6. Dla zaawansowanych – zmiana lokalizacji plików html
Jeżeli z jakichś powodów (np. instalacja Apache) ktoś ma katalog na strony www w innym miejscu niż /www to należy wyedytować /mnt/router/packages/mrtgpl/bin/mrtgconf i ustawić swój workdir w 6 linii skryptu. Po tym należy uruchomić skrypt mrtgconf i jeszcze raz dokonać konfiguracji. Jeśli odpowiedzi na pytania skryptu są takie same jak przed rebootem nie musimy go powtarzać.

7. Przywrócenie pracy po awaryjnym zatrzymaniu systemu
Pliki tworzone przez mrtg są na bierząco aktualizowane stąd siedzą prawie ciągle w cache. W momencie nagłego wyłaczenia prądu rozsypuje się synchronizacja systemu plików umsdos. Naprawa polega na wydaniu następujących poleceń:
(przywrócenie synchronizacji dos-ext2)
umssync /www/mrtg
(teraz już możliwe usunięcie wszystkich uszkodzonych plików)
rm /www/mrtg/*
(skopiowanie oryginalnych obrazków)
cp /mnt/router/packages/mrtgpl/lib/mrtg2/mrtg*
(wygenerowanie nowego pliku strony)
cd /mnt/router/packages/mrtgpl/bin
./indexmaker –columns=1 ../mrtg.conf > /www/mrtg/index.html

Najczęściej trzeba jeszcze:
umssync /mnt/router/packages/mrtgpl
po którym skasować wszystkie dzikie pliki (oprócz mrtg.conf i runme-mrtg) powstałe w tym katalogu, zaczynające się mrtg , mrtg.conf i runme-mrtg mają zostać!
Teraz już wystarczy poczekać na następny cykl generowania statystyk.

8. Dodanie nowych komputerów do instniejącej konfiguracji
Niestety nie ma możliwości prostego uzupełnienia konfiguracji, trzeba całą zrobić od nowa.

Jeśli nie chcesz utracić dotychczasowej historii transferów, dla już skonfigurowanych komputerów, musisz przed wykonaniem nowej konfiguracji skopiować gdzieś zawartość katalogu /www/mrtg/
przykładowo:
mkdir /mnt/kopiamrtg
cp /www/mrtg/* /mnt/kopiamrtg
rm /mnt/kopiamrtg/index.html

Teraz wejdź do /mnt/router/packages/mrtgpl/bin czyli cd /mnt/router/packages/mrtgpl/bin
wydaj polecenie
mrtgconf
i skonfiguruj wszystko od nowa.

Pozostało jeszcze przywrócić historię z backupa.
Upewnij się, że skasowałeś /mnt/kopiamrtg/index.html
cp /mnt/kopiamrtg/* /www/mrtg
reboot i poczekaj te 10 minut na nowe statystyki. Powodzenia.

Autor:  Aleksander Popiuk Data: 2002-12-03 00:00:00


IPtraf

Każdy administrator prędzej, czy później dostrzega potrzebę sprawdzania transferów w sieci lokalnej oraz łącza z internetem. Powstało sporo pakietów dla FreeSCO wizualizujących na lokalnej stronie www ruch w sieci, ale zawsze brakuje sprawdzania w czasie rzeczywistym.
Takie nadzorowanie umożliwi program IPtraf w wersji 1.4.3 będący monitorem sieci bazującym na konsoli. Program ten potrafi w czasie rzeczywistym prezentować ruch z serwera do sieci lokalnej, z serwera do internetu, wyświetlać używane porty, aktualne połączenia użytkowników z internetem oraz wiele, wiele innych rzeczy.

Niestety, jeżeli chcemy w pełni korzystać z tego programu i robić to stosunkowo komfortowo, musimy poza instalacją samego pakietu wykonać kilka dodatkowych rzeczy.

Podstawowym problemem IPtraf są znikające nazwy użytkowników przypisane do poszczególnych adresów MAC kart sieciowych tych użytkowników.
Na szczęście problem nie jest tak trudny do rozwiązania, wystarczy stworzyć plik ethernet.desc w katalogu z pakietem IPtraf, czyli /mnt/router/packages/iptraf i umieścić w nim następujące wpisy:

0010a707d7f0:serwer
0010a707d922:komputer1
0010a707d6cd:komputer2
0010a707d6a6:komputer3

Ważne jest, aby adresy MAC były pisane nałymi literami. W przeciwnym razie IPtraf nie rozpozna dopisanych adresów MAC. Innymi słowy, Jeżeli dodamy wpis typu:

0010A707D7F0:serwer

to IPtraf nie poradzi sobie z tym.
Kolejnym krokiem jest dopisanie jednej linijki do pliku /mnt/router/rc/rcuser/rc_iptraf o następującej treści:

ln -s /mnt/router/packages/iptraf/ethernet.desc /var/log/iptraf/ethernet.desc 2> /dev/null

tuż pod linijką z komentarzem „# prepare environment”. UWAGA: powyższy wpis musi być wpisany w jednej linijce.
W tej chwili nawet po restarcie systemu będziemy mieli aktualne wpisy dla nazw komputerów w IPtraf.

Następnym problemem (dotyczącym tylko uruchamiania IPtraf zdalnie) jest brak dostępu do statystyki „LAN station monitor” i wyświetlanie się komunikatu o treści:
„LAN station monitor already active in another process
Press a key to continue”
Problemem jest tutaj automatyczne (domyślne) uruchamianie się IPtraf na piątej konsoli i niemożność uruchomienia więcej, niż jednej instancji Rozwiązaniem tego problemu będzie zmiana parametru DAEMON w pliku /mnt/router/packages/iptraf/iptrafd.cfg z wartości y na n.
Po ponownym uruchomieniu serwera już nie będzie statystyk na piątej konsoli, ale za to będą dostępne pełne statystyki po zalogowaniu się zdalnie na serwer.

 

Autor: Damian Kaczorowski Data: 2003-03-22 00:53:00


Communigate Pro

Comuni Gate Pro – serwer poczty i nie tylko…

Comuni Gate Pro jest to serwer pocztowy i nie tylko. Obsługuje dostęp na wszelkie możliwe sposoby (POP, IMAP, WWW, itp także w trybie SSL/TLS). Administracja zdalnie z poziomu przeglądarki internetowej.

1. Instalacja:

Zaloguj się jako root i zainstaluj paczkę komendą: installpkg http://freesco.pl//download/polish027/cgpro Paczka jest dość „ciężka”, więc ściąganie trochę potrwa…

2. Konfiguracja podstawowa:

Uruchamiamy program komendą rc_CommunGate start albo dopisujemy w rc_user linię mnt/router/rc/rcuser/rc_CommuniGate start i robimy reboot (i tak trzeba to później zrobić…). Program przy pierwszym uruchomieniu generuje losowe hasło dla konta administratora (postmaster). Musimy je odczytać – znajduje się w pliku /mnt/router/
pakcages/CommuniGate/Accounts/postmaster.macnt/account.settings.

Na komputerze w sieci lokalnej wpisujemy w przeglądarkę http://IP_serwaera:8010. Pokaże nam się „panel admina”. Klikamy na settings i np. general – program poprosi nas o zalogowanie. Login postmaster (albo root) hasło odczytaliśmy wcześniej.

Wchodzimy w „GENERAL”. Pojawi się tam domena, jaką CG przepisał z linuxa jako domyślną. To będzie nasza główna domena, która domyślnie będzie pojawiała się w programie, adresach poczty itp. Później możemy dodać do niej aliasy, jeżeli to będzie potrzebne. Jeżeli chcemy ją zmienić, to wpisujemy nową (u mnie np. okna.one.pl) i dajemy update. Decydujemy też, co ma znajdować się w logach – domyślnie problems i to wystarcza. Dodatkowo opcja „Crash Recovery” włącza automatyczne odzyskiwanie danych w przypadku „wykrzaczenia” się serwera (przyznam jednak, że jest wyjątkowo stabilny i u mnie jeszcze nigdy nie padł).

Kolejną rzeczą jest skonfigurowanie dostępu – „ACCESS”. Tu możemy ustawić na ilu kanałach będzie chodziła dana usługa (ilość należy dobrać do ilości userów i wydajności serwera) i przydzielić dla niej porty do „nasłuchu”. Jeżeli uważamy, że któraś usługa jest nam zbędna, to zamiast nr portu wpisujemy 0. Ze względów bezpieczeństwa należy umożliwić dostęp do panelu admina wyłącznie w trybie SSH a wg mnie także logowanie userów z poziomu www też lepiej zrobić w SSH. Ma to taką zaletę, że jeżeli ustawimy nasłuch UserPort na port 443 i włączymy SSH, to logowanie usera będzie polegało na wpisaniu https://adres_serwera już bez numeru portu.

Tak więc klikamy na listener dla UserPort i ustawiamy port 443 SSL ON i kasujemy (wpisujemy 0 w miejsce portu) inne „nasłuchy”. Później podobnie robimy z adminem – wybieramy dogodny dla nas port, włączamy SSH i kasujemy resztę. Możemy jeszcze ustalić, czy nasłuch będzie tylko na IP zewnętrznym, czy inaczej (np all). Teraz sprawdzamy logowanie w trybie SSH – logujemy się https://adres_serwera:port gdzie port oznacza ustawiony przez nas dla admina numer. Także w access ustawiamy porty nasłuch usług POP3, IMAP i innych (są wpisane domyślne porty dla tych usług).

Uszczelnimy teraz nieco nasz serwer przed „hakierami” a właściwie spamerami. Wchodzimy w SMTP i ustawiamy w sekcji “Receiving” na everybody następujące elementy: AUTH TO, NTLM AUTH TO, Verify HELO and Returm Path for, Force AUTH for.

Teraz z sekcji “Relaying” ustawiamy: Relay to Any IP Address: If Received from: clients IP Address oraz Relay to Client IP Addresses: If Sent to „simple” E-mail Address. Zmiany zatwierdzamy przez kliknięcie „update”. Należy także dodać w sekcji Settings, Protection, Client IP Addresses adresy IP komuterów, które mają mieć możliwość „relayowania” poczty, czyli wysyłania na zewnątrz.

Możemy już tworzyć konta userów. Wchodzimy w opcję „ACCOUNTS”:

Domain Settings” i wyłączamy usługi, których nie będziemy używać. Na pewno wyłączamy „relay” – reszta wg uznania. Z ważnych rzeczy, możemy jeszcze zdecydować co robić z pocztą wysłaną do nieistniejącego usera (Mail to Unknown Names is) i dopisać aliesy domeny. Jeżeli używamy SDI, to jako alias wpiszemy np adres xxx.miasto.sdi.tpnet.pl. Dzięki temu dojdzie do nas poczta adresowana zarówno na konto@wykupiona_domena jak i konto@domena_z_tpsa. Zmiany zatwierdzamy przez kliknięcie „update”

Accounts defaults” „Settings” – pozwalamy userom na używanie hasła i jego modyfikowanie (Allow to Use, Allow to Modify) i ustalamy, czy hasła będą przechowywane w formie jawnej, czy kodowanej (Encryption). Ustalamy domyślne wartości limitów skrzynek: (Mail Storage, Web Storage, Web Files). Te wartości będziemy mogli zmieniać dla poszczególnych userów – to będą tylko „propozycje”..

Możemy jeszcze w „WebUser Prefs” zmienić domyślne kodowanie znaków dla userów łączących się przez http (Text Encoding – central European ISO). Zmiany jak zawsze zatwierdzamy przez kliknięcie „update”

Wchodzimy ponownie w „Accounts” klikamy konto POSTMASTER. Zmieniamy hasło:

Pamiętajmy, że to hasło daje nam nieograniczony dostęp do Communi Gate, więc podanie swojej daty urodzenia czy imienia psa to lamerstwo J (U mnie jest oczywiście login root i hasło admin J – w końcu jestem lamerem).

Wchodzimy w „Accounts” i możemy już dodawać userów! To jest banalnie proste: W okienku na prawo od „Create Account” wpisujemy nazwę konta, np lamer i klikamy „Create Account”.

Otworzy się okno konfiguracji konta, w którym możemy podać „Real name”, ustawiamy hasło dla usera, ewentualnie blokujemy mu pewne usługi (np WebSite), zmieniamy limity i dodajemy aliasy (np. konto marek.markowski alias m.markowski albo/i markos, itp).

Klikamy „update” i konto założone! Z przydatnych rzeczy, są tu jeszcze prawa dostępu „Access Rights” (możemy np pozwolić userowi na przeglądanie logów serwera), zasady „Rules” czyli definiowane „zachowania” konta w przypadku spełnienia warunku (np. powiadomienie SMS), „RPOP” – czyli obsługa zewnętrzynych skrzynek – jeżeli mamy kilka skrzynek na różnych serwerach a chcemy wszystko odbierać na jednym koncie, to tutaj wpisujemy: co ile minut ma być sprawdzana poczta, nazwa konta, nazwa serwera, hasło i decydujemy czy pozostawiać wiadomości na obcym serwerze, czy je kasować. Zakładka „Web Site” pozwala uploadować pliki na prywatną stronę usera (opis później).

3. HTTP access

Logowanie usera do programu z poziomu przeglądarki wygląda tak:

Po zalogowaniu mamy panel usera a w nim opcje:

– Mailboxes – to nasze skrzynki pocztowe.
– Compose – nowa wiadomość.
– Rules – zasady wiadomości.
– Settings – ustawienia naszej skrzynki (które możemy zmienić sami).
– External – zewnętrzne skrzynki, które chcemy sprawdzać.
– Web Site – opcje dotyczące prywatnej strony www usera.
– Log Out – wylogowanie z konta.

4. Monitors

Bardzo przydatne miejsce dla każdego admina. Najistotniejsza część, to logi (LOGs). Możemy tu przede wszystkim zobaczyć logi, które generuje program i ustalić zasady ich tworzenia. Co jaki czas tworzyć nowy log – Start new file every , kiedy kasować stare logi – Delete old Files in, albo po przekroczeniu jakiego rozmiaru tworzyć nowy log – or if larger than. Jest tam możliwość monitorowania wszystkich dostępnych usług CG – najlepiej zobaczyć samemu, co kryje się pod daną opcją (zresztą nazwy są jednoznaczne).

Autor: Błażej Runowski (Lamer)
Data: 2002-08-08 22:08:50


SSH i puTTy

Putty i SSH – bezpieczne zdalne połączenie. —
Jak podłączać się przy pomocy PuTTY do usługi SSH uruchomionej na firewallu Freesco.

Materiałów na temat SSH jest w internecie mnóstwo, więc ograniczę się tylko do niezbędnych, praktycznych szczegółów.
Freesco może pracować na komputerze pozbawionym monitora i klawiatury, często stojącym w odległym miejscu. Zarządzać systemem można przy pomocy usługi telnet, która jest standardowo obecna we Freesco. Niestety – telnet nie posiada wbudowanych mechanizmów ochronnych, m. in. przesyła hasło logowania odkrytym tekstem, przez co może być ono przechwycone i wykorzystane przez osoby trzecie. Dlatego też chyba pierwszą rzeczą do zrobienia po pomyślnym postawieniu systemu, jest zainstalowanie pakietu ssh i wyłączenie telnetu na stałe jako usługi, która od tej chwili staje się zbędna.
Pakiet openssh instalujemy standardowo, poleceniem installpkg – opis znajduje się np. na stronie z pakietami, na serwerze http://download.freesco.pl.
Open SSH posiada opcje generowania kluczy, ale przyznam szczerze, że łatwiej było mi skorzystać z programu puttygen, więc do niego się ograniczę.
Pobieramy więc puttygen.exe, np. z adresu www.chiark.greenend.org.uk/~sgtatham/putty/download) i uruchamiamy go. W oknie konfiguracyjnym wybieramy najpierw rodzaj klucza. (Przyznam szczerze, że udało mi się zmusić do pracy z PuTTY tylko SSH 1 i SSH2/DSA; wygenerowanego klucza SSH2/RSA PuTTY przyjąć nie chce…). Teraz naciskamy klawisz ‘Generate’ i ruszamy myszą w obrębie szarego pola, aby dostarczyć programowi trochę liczb losowych. Gdy uzbiera się ich odpowiednio dużo, program wygeneruje parę kluczy – publiczny i prywatny.
Klucz prywatny zapisujemy na dysku komputera, z którego łączyć się będziemy z Freesco – należy strzec tego pliku – będzie on przepustką do naszego firewalla. Dobrze jest też zabezpieczyć go hasłem (nie musi ono mieć nic wspólnego z hasłem konta, na które będziemy się logować – wręcz przeciwnie).
Natomiast klucz publiczny musimy przekazać na serwer Freesco. W tym celu zaznaczamy go w okienku puttygen (dokładnie i w całości) i kopiujemy do schowka (Ctrl+C). Teraz łączymy się przy pomocy PuTTYz firewallem (np. jeszcze poprzez usługę telnet) i przechodzimy do foldera /mnt/router/packages/opensshd/etc. W tym katalogu tworzymy teraz plik o nazwie ‘authorized_keys’ i otwieramy go do edycji (można odwrotnie: uruchomić edytor, a na końcu zapisać plik pod tą nazwą). W edytorze wklejamy zawartość schowka do otwartego pliku, klikając w obrębie ekranu PuTTY prawym klawiszem myszy. Wklejany ciąg znaków klucza powinien utworzyć jedną, długą linię. (Jeśli wygenerowaliśmy więcej par kluczy, kolejne klucze publiczne wklejamy w kolejnych liniach). Jeśli nie chcemy korzystać z hasła konta na serwerze Freesco przy logowaniu (a tylko z klucza prywatnego, który mamy na dysku) musimy teraz otworzyć plik ssh_config. Znajdujemy w nim linie RSAAuthentication i PasswordAuthentication i nadajemy im brzmienie:
RSAAuthentication yes PasswordAuthentication no
Zapisujemy plik, zamykamy edytor restartujemy sshd i wylogowujemy się ze zdalnej sesji (Ctrl+d).
Teraz musimy skon figurować PuTTY do korzystania z klucza. Uruchamiamy program, definiujemy połączenie: podajemy adres hosta, port ssh (przeważnie 22), po czym przechodzimy do opcji SSH – wybieramy typ protokołu SSH (1 lub 2), uaktywniamy kompresję, a w opcji ‘SSH/AUTH’ podajemy ścieżkę dostępu do naszego pliku z kluczem prywatnym. Jeśli chcemy, aby łączenie przebiegało całkowicie automatycznie, musimy jeszcze przejść do opcji ‘Connection’ i w polu ‘Auto-login username’ wpisać nazwę użytkownika, na którego konto będziemy się logować.
Na koniec wracamy do pozycji ‘Session’, zapisujemy sesję pod jakąś nazwą i naciskamy klawisz ‘Open’.
Putty nawiąże teraz połączenie z serwerem, opcjonalnie pytając o hasło do klucza prywatnego i … miłej zabawy.
Jeśli chcemy pełnej automatyki przy otwieraniu połączenia, możemy w linii poleceń skrótu do PuTTY umieścić nazwę sesji do otwarcia w postaci
c:…putty.exe @nazwasesji
spowoduje to automatyczne wybranie przez PuTTY sesji zapisanej pod nazwą umieszczoną po znaczku @. Można to wykorzystać do wysyłania do Freesco jakiegoś polecenia przy pomocy kliknięcia ikonki; komendę tę umieszczamy w konfiguracji PuTTY w gałęzi SSH/Data send to the server/remote command.
P.S. Pod adresem http://drvandv.com/freesco/VNC można znaleźć opis wykorzystania OpenSSH i PuTTY do tunelowania połączeń VNC z internetu do komputerów za firewallem. Tłumaczenie dokumentu jest dostępne na stronach www.freesco.arx.pl.
Uzupełnienie Dla użytkowników Linuksa posługiwanie się protokołem ssh w konsoli nie jest niczym trudnym, więc nie warto tworzyć szczegółowych opisów. Natomiast użytkownikom Windows na pewno warto polecić putty jako świetny program do zdalnego dostępu.
Jednak metody autora – czyli logowanie na podstawie klucza nie polecałbym. Podczas instalacji pakietu ssh (obecnie najnowszy pakiet to wersja 3.7p1) mamy możliwość wygenerowania klucza i radziłbym z tego skorzystać. W opcjach ssh nie ustawiamy logowania bez hasła, a raczej sugerowałbym zabronić logowania rootowi ( używać za to su)
Podczas pierwszego logowania w putty program pobierze sobie klucz z serwera i potem będzie z niego korzystał. Rozwiązanie to ma tę zaletę, że w razie padu systemu i ponownym przeinstalowaniu Windows (co średnio zdarza się raz na miesiąc :>) nie będziemy mieli kłopotów z zalogowaniem się do serwera. No i będzie to bezpieczniejsze przy użyciu hasła.
przypis dodany 21-12-03 przez: W.T.

Autor: Andrzej Januszkiewicz Data: 2002-09-12 00:00:00