24. huhtikuuta 2008
Luokittelu ja avainsanat: sovellukset, FireHOL, get-iana, get-iana.sh, RESERVED_IPS
- Lähtökohta
- Pakettienhallinnassa
firehol on asennettuna.
- Ongelma
-
Käynnistyksen yhteydessä FireHOL antaa seuraavanlaisen varoituksen:
WARNING
File '/etc/firehol/RESERVED_IPS' is more than 90 days old.
You should update it to ensure proper operation of your firewall.
Run the supplied get-iana.sh script to generate this file.
Get-iana.sh -komentojono on tallennettu /sbin/get-iana -tiedostoon, joten sen suorittaminen tapahtuu sudo get-iana -komennolla. Komennon suorittaminen antaa kuitenkin seuraavanlaisen virheilmoituksen:
Failed to find reserved IPs.
Possibly the file format has been changed, or I cannot fetch the URL.
- Ongelman syy
- FireHOLin asetustiedostoihin kuuluva
RESERVED_IPS on vanhentunut, samoin kuin sen päivittämiseen käytettävä komentojonotiedosto.
- Ratkaisu
-
Lataan tuoreen version komentojonotiedostosta, ja suoritan sen.
- Lataan get-iana.sh -tiedoston uusimman version suoraan FireHOLin versionhallintajärjestelmästä, ja tallennan sen kotihakemistooni.
-
Korvaan järjestelmässäni olevan, vanhentuneen version komentojonotiedostosta sen uudella versiolla, seuraavalla komennolla:
sudo cp ~/get-iana.sh /sbin/get-iana
-
Suoritan komentojonotiedoston varattujen IP-osoitteiden listan päivittämiseksi:
sudo get-iana
Ladattuaan tarvitsemansa tiedot Internetistä komentojono esittää seuraavan kysymyksen:
Would you like to save this list to /etc/firehol/RESERVED_IPS
so that FireHOL will automatically use it from now on?
yes or no >
Vastaan myöntävästi kirjoittamalla yes ja painamalla sen jälkeen rivinvaihtonäppäintä.
Tämän jälkeen FireHOL ei enää käynnistyksen yhteydessä näytä varoitustaan, ennen kuin yhdeksänkymmentä päivää on kulunut, jonka jälkeen sudo get-iana -komento täytyy suorittaa jälleen.
- Huomautus
- Tuntuisi luontevalta määrätä get-iana suoritettavaksi automaattisesti vaikkapa kerran kuussa, mutta komentojonotiedostossa ei ole valitsinta, jota käyttämällä se kirjoittaisi muutokset asetustiedostoon kysymättä varmistusta. Olisi ilmeisesti varsin yksinkertaista muokata komentojonoa tältä osin, mutta aion toistaiseksi suorittaa komentojonon komentoriviltä aina 90 päivän välein.
Kommentiton »
1. maaliskuuta 2008
Luokittelu ja avainsanat: sovellukset, DCC, FireHOL, IRC, palomuuri, Pidgin, porttialue, tiedostojen siirtäminen, tiedoston lähettäminen, tiedostonsiirto
- Lähtökohta
-
Olen asentanut firehol-paketin, asettanut /etc/default/firehol -tiedostossa olevan START_FIREHOL -parametrin arvoksi YES ja muokannut /etc/firehol/firehol.conf -tiedostoa niin, että lähtökohtaisesti useimmat verkkoyhteyteni porteista on suljettu.
Olen käynnistänyt Pidgin-pikaviestimen. Olen lisännyt Pidginiin IRC-protokollan välityksellä yhdistettävän tuttavan. Olen avannut keskustelun tuttavan kanssa, ja keskusteluyhteys toimii.
Haluan lähettää tuttavalle kuvatiedoston, joten valitsen keskusteluikkunan Keskustelu-valikosta Lähetä tiedosto... -kohteen, etsin avautuneesta tiedostonvalitsimesta lähetettävän tiedoston, valitsen sen ja painan Avaa-nappia. Tiedostonsiirtoikkuna avautuu, ja sen listalla valitsemani tiedoston mainitaan odottavan lähetyksen alkamista.
- Ongelma
- Tiedoston lähetys ei käynnisty. Mikäli tuttavani saa ilmoituksen tiedostonsiirtopyynnöstäni, sen hyväksymisellä ei ole vaikutusta yhteyden tässä päässä. Joillain yrityskerroilla tuttava ei saa edes ilmoitusta tiedostonsiirtopyynnöstäni.
- Ongelman syy
FireHOL-palomuuri on tukkinut portit, joita Pidgin yrittää käyttää tiedoston siirtämiseen.
- Ratkaisu
-
Avaan palomuurista yhden portin ja määrään sen jälkeen Pidginin käyttämään juuri sitä porttia tiedostonsiirtoihin.
-
Avaan portin muokkaamalla /etc/firehol/firehol.conf -tiedostoa komentamalla sudo gedit /etc/firehol/firehol.conf avaamastani Päätteestä. Asetustiedoston avauduttua tekstieditorissa lisään siihen määrittelyn palvelulle, jonka nimeän pdcc:ksi:
# Pidgin file transfer
server_pdcc_ports="tcp/2048"
client_pdcc_ports="any"
Sen jälkeen määrittelen tämän portin interface any world -osion alla avattavaksi:
# Let Pidgin file transfer through
server "pdcc" accept
client "pdcc" accept
Muutosten jälkeen tiedoston keskiosa näyttää tässä tapauksessa seuraavalta, kun edellä lisäämäni rivit on korostettu lihavoinnilla:
# Windows Live Messenger
server_wlm_ports="tcp/1863 tcp/443"
client_wlm_ports="any"
# Pidgin's file transfer
server_pdcc_ports="tcp/2048"
client_pdcc_ports="any"
interface any world
# Accept all client traffic on any interface
#client all accept
# Let Windows Live Messenger through
server "wlm" accept
client "wlm" accept
# Let Pidgin's file transfer through
server "pdcc" accept
client "pdcc" accept
- Muutokset tehtyäni ja tallennettuani käynnistän FireHOL-palomuurin uudestaan
sudo /etc/init.d/firehol restart -komennolla.
- Palomuurin käynnistyttyä uudestaan avaan Pidginin pääikkunan, ja otan Pidginin asetukset esille valitsemalla
Työkalut-valikosta kohdan Asetukset. Avautuvasta ikkunasta otan esille Verkko-välilehden.
- Valitsen
Portit-otsikon alla olevan Aseta kuunneltava porttialue -kohdan käyttöönotetuksi.
- Edelleen Portit-otsikon alla olevan porttialueen
Ensimmäiseksi portiksi asetan edellä palomuurista avaamani portin 2048. Varmistan, että myös porttialueen Viimeinen portti on 2048.
- Suljen asetusikkunan sen
Sulje-napista, jonka jälkeen sammutan Pidginin valitsemalla sen pääikkunan Tuttavat-valikosta kohdan Lopeta. Pidginin sulkeuduttua käynnistän sen uudestaan.
Tämän jälkeen tiedostojen siirtäminen IRC-protokollaa käyttävälle tuttavalleni onnistuu.
- Huomautus
-
En ole varma, mutta epäilen, että mikäli tiedostonsiirtoon varattuja portteja on vain yksi kuten yllä olevan ratkaisun jälkeen on, tiedostoja voi siirtää Pidginissä vain yhden kerrallaan. Lisäksi tiedostojen siirtäminen ei onnistu, mikäli jokin toinen ohjelma käyttää sekin ratkaisussa valitsemaani porttia.
Mikäli näin on, ja mikäli minulla ilmenee tarvetta useammille yhtäaikaisille tiedostonsiirroille Pidginissä, tai tarvetta käyttää tiedostonsiirron tapahtuessa muita ohjelmia, jotka käyttävät samaa porttia, voin määrätä yhden portin sijasta haluamani kokoisen porttialueen avatuksi palomuurin asetuksissa. Sen jälkeen kerron Pidginille (ja mahdollisesti myös toiselle ohjelmalle) sen asetuksissa, että se voi käyttää tätä porttialuetta tiedostojen siirtämiseen.
Kommentiton »
14. helmikuuta 2008
Luokittelu ja avainsanat: sovellukset, dmesg, FireHOL, loki, lokitiedosto, lokitiedostot, palomuuri, syslog, syslogd, ulog, ulogd
- Lähtökohta
-
Haluan katsoa käynnistyksen aikana ylöskirjattuja tapahtumia dmesg-komennolla ja /var/log/syslog -tiedoston sisältöä lukemalla.
Olen asentanut FireHOL-palomuurin ja asettanut sen käynnistymään järjestelmän käynnistymisen yhteydessä.
- Ongelma
-
Dmesg-komennon antama tuloste on täynnä palomuurin ylöskirjaamia tietoja pakettien välityksestä. Tuloste sisältää pelkästään seuraavan kaltaisia rivejä:
:08:00 SRC=130.234.192.48 DST=130.234.195.255 LEN=211 TOS=0x00 PREC=0x00 TTL=128 ID=63892 PROTO=UDP SPT=138 DPT=138 LEN=191
Myös /var/log/syslog on täynnä samanlaisia rivejä niin, että lokin muu sisältö hukkuu kokonaan niiden sekaan.
Haluan, että palomuurin ilmoitukset kirjataan erilliseen lokitiedostoon. Jos tämä ei ole mahdollista, haluan, että palomuuri kirjaa ylös ainoastaan nykyistä rajaa tärkeämmät toimet pakettien kanssa niin, että palomuurin ilmoitukset eivät hukuta lokeissa olevaa muuta tietoa alleen. Jos tämäkään ei ole mahdollista, haluan, että palomuuri ei kirjaa lokiin mitään.
- Ongelman syy
- FireHOL käyttää lokinpitoon
syslogd:tä.
- Ratkaisu
-
Asennan pakettienhallinnassa ulogd-paketin, ja asetan sen jälkeen FireHOLin käyttämään ulogd:tä lokinpidossaan.
Asetan FireHOLin käyttämään ulogd:tä avaamalla /etc/default/firehol -tiedoston muokattavaksi sudo gedit /etc/default/firehol -komennolla ja lisäämällä siihen sitten seuraavan rivin:
FIREHOL_LOG_MODE="ULOG"
Tallennettuani muutokset tiedostoon käynnistän FireHOLin uudestaan sudo /etc/init.d/firehol restart -komennolla. Tämän jälkeen palomuurin ilmoitukset tallentuvat /var/log/ulog/syslogemu.log -tiedostoon, eivätkä enää tallennu /var/log/syslog -tiedostoon tai dmesgin puskuriin.
Kommentiton »
11. helmikuuta 2008
Luokittelu ja avainsanat: sovellukset, FireHOL, MSN, palomuuri, Pidgin, pikaviestipalvelut, portit, Windows Live Messenger
- Lähtökohta
-
Olen määritellyt Pidgin-pikaviestimessä Windows Live Messenger -tilin. Pystyn kirjautumaan tilille, jos en asenna palomuuria.
Olen asentanut firehol-paketin, asettanut /etc/default/firehol -tiedostossa olevan START_FIREHOL -parametrin arvoksi YES, asentanut moblock-nfq -paketin ja muokannut /etc/firehol/firehol.conf -tiedostoa niin, että sen sisältö on Ubuntu Forumilla annetun esimerkin mukainen:
version 5
# Moblock chain
iptables --new MOBLOCK
iptables -A MOBLOCK -j NFQUEUE
# Example udp ports
server_exampleport_ports="udp/15001:15011"
client_exampleport_ports="any"
# "any" means any interface, you can substitute it
# for eth0 or whatever.
interface any world
# Let torrent and exampleport through, and
# filter them in moblock.
server "exampleport" MOBLOCK
# This will send http traffic directly
# to accept instead of moblock
# thus whitelisting it...
client http accept
# Filter all outgoing connections, and their replies.
client all MOBLOCK
Olen käynnistänyt järjestelmän uudelleen ja kirjautunut sisään. Sisäänkirjautumisen yhteydessä käynnistyväksi ja pikaviestitileilleni sisäänkirjautuvaksi asetettu Pidgin käynnistyy, ja siihen asettelemieni IRC- ja Gtalk-tilien sisäänkirjautuminen onnistuu.
- Ongelma
- Windows Live Messenger -tilin sisäänkirjautuminen ei onnistu. Pidgin ilmoittaa pitkän yhteydenottoyrityksen lopuksi
Yhteys katkennut ja Yhteysvirhe palvelimelta Notification: Yhteyden muodostaminen epäonnistui.
- Ongelman syy
- Firehol-palomuuri on sulkenut Windows Live Messenger -tilille kirjautumisessa käytettävät portit
443 ja 1863.
- Ongelman ratkaisu
-
Avaan tarvittavat portit, jonka jälkeen käynnistän palomuurin uudelleen ja käsken Pidginin kirjautumaan Windows Live Messenger -tililleni uudestaan.
-
Avaan tarvittavat portit muokkaamalla /etc/firehol/firehol.conf -tiedostoa komentamalla sudo gedit /etc/firehol/firehol.conf avaamastani Päätteestä. Asetustiedoston avauduttua tekstieditorissa lisään siihen määrittelyn palvelulle, jonka nimeän wlm:ksi:
# Windows Live Messenger
server_wlm_ports="tcp/1863 tcp/443"
client_wlm_ports="any"
Sen jälkeen määrittelen nämä portit interface any world -osion alla avattaviksi:
# Let Windows Live Messenger through
server "wlm" accept
client "wlm" accept
Muutosten jälkeen tiedoston keskiosan tulisi näyttää seuraavalta, kun Lähtökohta-osiossa annettuun listaukseen lisäämäni rivit on korostettu lihavoinnilla:
# Example udp ports
server_exampleport_ports="udp/15001:15011"
client_exampleport_ports="any"
# Windows Live Messenger
server_wlm_ports="tcp/1863 tcp/443"
client_wlm_ports="any"
interface any world
# Let Windows Live Messenger through
server "wlm" accept
client "wlm" accept
# Let torrent and exampleport through, and
- Muutokset tehtyäni ja tallennettuani käynnistän
FireHOL-palomuurin uudestaan komentamalla Päätteestä sudo /etc/init.d/firehol restart
- Palomuurin käynnistyttyä uudestaan otan Windows Live Messenger -tilini pois käytöstä Pidginissä valitsemalla
Tuttavalista-näkymän Käyttäjätilit-valikosta Windows Live Messenger -tilini alta kohdan Poista käytöstä. Sen jälkeen otan tilin uudestaan käyttöön valitsemalla Windows Live Messenger -tilini Käyttäjätilit-valikon Ota tili käyttöön -alivalikosta.
Tämän jälkeen sisäänkirjautuminen Windows Live Messenger -tililleni onnistuu.
- Huomautus
- Fireholissa on varattu MSN:ää varten oma nimetty porttinsa,
msn, mutta Windows Live Messenger käyttää eri portteja.
Kommentiton »