Moi!
Minulla on toisessa koneessa openssh-serveri, ja konetta käytän siis lähennä siihen, että voin irkata muualtakin kuin kotoa.
Koneessa on Ubuntu 6.06LTS ja server-asennus, eli x:ää ei ole.
Kysyisin, miten saan iptablesin avulla portit piiloon?
Muita portteja kuin tuo ssh-portti ei ole auki, ja sekin on vaihdettu muuhun kuin oletuksena olevaan 22-porttiin.
Olen koittanut etsiä neuvoja googlaamalla, mutta suurin osa neuvoo miten saa vain tavallisen työpöytäkoneen iptablesin conffattua, tai ohjeissa käytetään firestarteria, mitä minulla ei ole mahdollista käyttää.
Itselläni on yleispätevästi toimiva järjestely, jossa hakemistossa /etc/rc2.d (palvelinkäytössä hakemisto voisi siis olla /etc/rc1.d ehkä?) on symbolinen linkki nimeltä S21firewall, joka osoittaa puolestaan tiedostoon /sbin/myfirewall (joka on rootin omistama ja jonka voi ajaa).
myfirewall-tiedosto puolestaan sisältää tällaista:
#!/bin/sh
#malli
#iptables -I INPUT -j ACCEPT -p tcp -m osf --genre Linux --log 1 --smart
# prep
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# high ports
iptables -A OUTPUT -p tcp --sport 1024: -j ACCEPT
iptables -A INPUT -p tcp --dport 1024: ! --syn -j ACCEPT
# udp
iptables -A INPUT -p udp --dport 1: -j ACCEPT
iptables -A OUTPUT -p udp --dport 1: -j ACCEPT
# ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
# Skype
iptables -A INPUT -p tcp --dport 62930 -j ACCEPT
# web
#iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
#iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
# icmp
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
Tätä nyt pitää tietysti soveltaa hiukan, sillä siinä UDP-portit ovat auki ja Skypellekin on aukaistu reikä erikseen ja ssh:kin ottaa vastaan nimenomaan portissa 22. Tuo icmp-osio puolestaan piilottaa koneen icmp-paketeilta (mm. ping), mutta sallii kuitenkin pingaamisen koneelta muualle verkkoon. Koodissa siis merkki # toimii kommenttimerkkinä luonnollisesti, esimerkiksi http- ja https-porttien osio on kommentoitu pois kokonaan itseltänikin, portit siis ovat kiinni.
Lyhykäisyydessään ilmeisesti tämän järjestelmän luominen sujuisi siis näin:
sudo nano /sbin/myfirewall
->liitetään yllä oleva myfirewallin sisältö ja muokataan halutulla tavalla. Lopuksi tietysti tallennetaan.
sudo chmod u+x /sbin/myfirewall
sudo ln -s /sbin/myfirewall /etc/rc1.d/S21firewall
Palomuuri (oikeammin kyseessä lie pakettisuodatin?) lähtee käyntiin vaikka ihan sanomalla
sudo /etc/rc1.d/S21myfirewall
mutta myös jokaisen buutin yhteydessä.