You are currently browsing the category archive for the ‘Linux’ category.

Nu-mi place UFW-ul, firewall-ul care vine implicit cu Ubuntu.  Poate si pentru ca atunci cind e vorba de firewall-uri prefer sa il configurez eu singur. Cum arata la mine scheletul de la care pornesc?

touch /opt/tools/script/firewall
sudo chown root:root /opt/tools/script/firewall
sudo chmod 755 /opt/tools/script/firewall
sudo ln -s /opt/tools/script/firewall /etc/init.d/firewall

Continutul fisierul /opt/tools/script/firewall este:
#!/bin/sh -e

### BEGIN INIT INFO
# Provides:          My own Firewall
# Required-Start:    mountall
# Required-Stop:     
# Default-Start:     S
# Default-Stop:      
# Short-Description: start firewall
### END INIT INFO

PATH="/sbin:/bin:/usr/sbin:/usr/bin"

. /lib/lsb/init-functions

error=0
case "$1" in
start)
 log_action_begin_msg "Appling the firewall rules:"
 iptables --table filter --flush
 iptables --table filter --delete-chain
 iptables --table filter --zero
 #iptables --table filter --policy INPUT DROP
 #iptables --table filter --policy OUTPUT DROP
 #Accept ICMP Type 8 Echo Replay Request and Type 0 Echo Replay.
 iptables --table filter --append INPUT --protocol icmp --icmp-type 8 -s 0/0 --match state --state NEW,ESTABLISHED,RELATED --jump ACCEPT
 iptables --table filter --append INPUT --protocol icmp --icmp-type 0 -s 0/0 --match state --state ESTABLISHED,RELATED --jump ACCEPT
 iptables --table filter --append OUTPUT --protocol icmp --icmp-type 0 -d 0/0 --match state --state ESTABLISHED,RELATED --jump ACCEPT
 iptables --table filter --append OUTPUT --protocol icmp --icmp-type 8 -d 0/0 --match state --state NEW,ESTABLISHED,RELATED --jump ACCEPT
 #Accept Localhost
 iptables --table filter --append INPUT --source 127.0.0.1 --destination 127.0.0.1 --match state --state NEW --jump ACCEPT
 iptables --table filter --append OUTPUT --source 127.0.0.1 --destination 127.0.0.1 --match state --state NEW --jump ACCEPT
 #Accept DHCP    
 iptables --table filter --append INPUT --protocol udp --destination-port 67 --jump ACCEPT
 iptables --table filter --append INPUT --match state --state ESTABLISHED,RELATED --jump ACCEPT
 #Drop windows broadcast
 iptables --table filter --append INPUT --protocol udp --match udp --dport 137:138 --jump DROP
 iptables --table filter --append INPUT --jump LOG --match limit --limit 5/min --log-level 4 --log-prefix "INPUT CHAIN DROP"
 iptables --table filter --append INPUT --jump DROP
 log_action_end_msg $error
 exit $error
 ;;

stop)
 log_action_begin_msg "Removing the firewall rulles:"
 iptables --table filter --flush
 iptables --table filter --delete-chain
 iptables --table filter --zero
 log_action_end_msg $error
 exit $error
 ;;
status)
 iptables -L
 log_action_end_msg $error
 exit $error
 ;;
*)
 echo "Usage: /etc/init.d/ufw {start|stop|restart|force-reload|status}"
 exit 1
 ;;
esac

si la sfirsit:

sudo update-rc.d -f ufw remove # to remove the ufw firewall

sudo update-rc.d firewall defaults
Reclame

Mitul consta in faptul ca pentru a sterge „sigur” un mediu de stocare este nevoie de o stergere repetata de 6-10 ori, iar in cazul diskete-lor, pina la 35 de ori. Exista pentru acest task o gramada de softuri comerciale cit si softuri OpenSource cum ar fii utilitarul DBan. Companiile si-au facut „stergerea sigura a datelor” un obiectiv strategic care poate duce pina la gaurirea HDD-ului.

Ce inseamna de fapt si de unde a pornit? Trebuie sa va inchipuiti putin mecanismul de functionare a scrierii pe hard-disk-uri. O unitate de stocare, adica un bit, este pe suprafata HDD-ului un interval, unde capul se pozitioneaza pentru a stoca informatia. Dar datorita imperfectiunii mecanismului de pozitionare pe acest interval, capul poate ateriza exact la mijloc, iar la a doua rescriere la 2/3 de una din margini. Deci teoretic avem pe acelasi interval stocate 2 informatii. Deci este posibila reconstruirea informatiei chiar dupa ce HDD-ul a fost rescris de mai multe ori.

O echipa de cercetatori au presentat la conferinta ICISS 2008 un studiu recent despre acesta teorie. Rezultatul a fost ca dupa o rescriere completa a mediului este aproape imposibil sa se reconstruiasca datele existente. Acest studiu nu provoaca valuri de bucurie intre firmele ofertante de soft pentru ca ar insemna scoaterea lor de pe piata.

Dar ce se poate face pentru a se sterge in mod sigur un mediu. Formatul din Windows nu ajuta. Reprezinta doar stergerea tabelei de partitie,  adica localul unde se stocheaza locatia fisierelor pe HDD. In rest ele ramin acolo, neatinse.

Cel mai usor se poate sterge boot-ind o distributie live de linux si folosind comanda dd.

dd if=/dev/random of=/dev/yourHDD bs=512.

Dureaza ceva timp, adica pina la citeva ore, dar nimeni nu va mai putea citi ce ati avut acolo stocat. Sau daca nu DBan „do the magic”.

PS. Acum putem sa pornim o discutie despre /dev/random sau /dev/zero.

Voi ce folositi, random, zero sau unu?

Mai toata literatura de specialitate care trateaza problema certificatelor SSL pentru serverele Apache recomanda folosirea certificatelor fara parola. Motivul? Pentru ca de fiecare data cind serverul trebuie restartat este nevoie sa se introduca parola pentru certifcate. 😀

Dar de la versiunea 2.1 mod_ssl a implementat optiunea exec pentru „SSLPassPhraseDialog”.Aceasta optiune accepta ca argument calea catre un script care nu faca altceva decit sa scrie parola in <stdout>.

Exemplu:
SSLPassPhraseDialog exec:/etc/httpd/conf.d/echo_passwd.sh

Serverul in sine va furniza 2 argumente acestui script. Primule este combinatia servarename:port si al doilea este tipul de certificat RSA sau DSA. De ce este important?
In cazul in care se ruleaza scenariul Apache in configuratia multihost se pot folosi diferite parole pentru diferite certificate. Cum arata un asemenea script?

#!/bin/sh
case "$1" in
localhost.localdomain*)
echo "Par0lamea"
;;
esac

Acest fisier trebuie bineinteles protejat:

sudo chown root:root echo_password/etc/httpd/conf.d/echo_password.sh
sudo chmod 500 echo_password.sh/etc/httpd/conf.d/echo_password.sh

In cazul distribuitiei Fedora unde Selinux este funtional, este necesar schimbare contextului de securitate:

sudo chcon -h -t httpd_exec_t /etc/httpd/conf.d/echo_passwd.sh

So, let’s do thinks better.

noiembrie 2018
L M M J V S D
« mart.    
 1234
567891011
12131415161718
19202122232425
2627282930  
Reclame