Autentificare
facebook MW pe Facebook
twitter MW pe Twitter
© Mobilewave.ro
versiunea desktop
Inițiator acum 12 ani
Darklord
MW Lurker
Ultimul acum 12 ani
Darklord
MW Lurker
Cauta in topic
Unelte topic
Dacă vă place acest articol trimiteți mai departe!

Securizare linux(un mic ajutor pt sisadmini)

845 vizualizări
11 răspunsuri
autor subiect #1
Darklord
MW Lurker
294 mesaje
din 02/06/2006
2 aprecieri
01 august 2008, 10:29:01
ipfilter este un program cu ajutorul caruia se pot filtra IP`urile
freestone firewall
deslogin login de la distanta
satan pt analizarea retelei si vulnerabilitatilor ei

coutney monitrizeaza reteaua si identifica masina sursa a unui atac/scanarii
merlin interfata grafica pentru programele de securitate COPS,Tiger,Crack si Tripwire
raseuro instrumente pentru criptare
cops verifica securitatea sistemelor UNIX
sara scaner pentru a depista vulnerabilitatile din retea
saint cauta computere in retea,scaneaza porturile si ofera utilizatorului un raport asupra securitatii (produs comercial)
tiger scaneaza sisteme UNIX cautand probleme de securitate,asemanator cu COPS
securizarea conexiunilor: SSH(Secure Shell) si SSL(Secure Socket Layer)
sshSecure Shell
OpenSSH versiunea 'open' a ssh; necesita open ssl
OpenSSL Secure Socket Layer (necesara OpenSSH)
zlib (necesara OpenSSH)
ssh versiunile comerciale pentru SSH1 si SSH2
ssl Telnet incriptat-Clienti Windows
unu dintre cele mai mari pericole la care se poate expune un server(sistem)sunt porturile deschise.pentru verificarea porturilor exista programe precum:
nmap acest program este un scanner de porturi si instrument de investigare a securitatii
nmapFe o interfata grafica pentru nmap
ndiff compara diversele rezultate obtinute de nmap pentru a determina schimbarile care au avut loc
strobe scaner de retea
sper sa va fie de folos ceea ce am postat eu aici...daca aveti nelamuriri nu ezitati sa ma intrebati..
Publicitate
Publicitate
#2
DSF
zZz ツ
6921 mesaje
din 28/04/2005
281 aprecieri
01 august 2008, 17:50:33 • actualizat 01 august 2008, 17:51:02 (1 ori)
Super.. multumim :coolup:

unu dintre cele mai mari pericole la care se poate expune un server(sistem)sunt porturile deschise.
tot timpul vor fi porturi deschise mai ales daca folosesti ca server.. de ex: pt pop3, http, ssh/telnet ..
intrebarea este cum ne dam seama ca "traficul" ce se realizeaza prin aceste porturi e ok si nu se incearca altceva?
#3
agresiv
MW Addicted
941 mesaje
din 03/06/2005
1 aprecieri
SonyEricssonW950i
01 august 2008, 17:57:40
Darklord 01-08-2008 10:29:01
coutney monitrizeaza reteaua si identifica masina sursa a unui atac/scanarii
Logheaza infiltrarile,intrusii,ip-ul lor etc.? Sub ce forma? Si in ce folder?  :D
autor subiect #4
Darklord
MW Lurker
294 mesaje
din 02/06/2006
2 aprecieri
01 august 2008, 19:18:22
coutney monitorizeaza doar atacurile SATAN..nu aveti pt ce...in domeniul serverelor linux va pot ajuta cu orice..in limita timpului...si da ai dreptate porturi deschise vor fi tot timpul..dar pt asta exista loguri le citesti si vezi ce iti face trafic aiurea..un server va fi 100% sigur in momentul in care il stingi  :D
autor subiect #5
Darklord
MW Lurker
294 mesaje
din 02/06/2006
2 aprecieri
01 august 2008, 19:38:19 • actualizat 01 august 2008, 19:42:29 (1 ori)
pt a te verifica daca ai vreun rootkit instalat de catre vreun asa zis "hacer" folositi programul chkrootkit
daca crezi ca esti infectat rescrii toate binarele si reboot la server. + te scanezi de afara cu nmap pe toate porturile.oricum se poate sa ai un backdoor si pe icmp sau udp sau sa se deschida cand primeste un anumit tip de pachete..dar o rescriere de binare + schimbat kernel te scapa de toate problemele
autor subiect #6
Darklord
MW Lurker
294 mesaje
din 02/06/2006
2 aprecieri
11 august 2008, 15:03:19 • actualizat 12 august 2008, 10:31:22 (1 ori)
iptables_logger_v0.4.tar un foarte bun script pt cei care folosesc iptables`ul...acest script ajuta la citirea logurilor iptable
firestarter-1.0.3.tarun foarte puternic firewall si cu interfata grafica  ;)
autor subiect #7
Darklord
MW Lurker
294 mesaje
din 02/06/2006
2 aprecieri
13 august 2008, 08:52:56 • actualizat 13 august 2008, 09:00:48 (3 ori)
Cum poti evita Ping`urile
daca vreti sa evitati ca serverul vostru sa nu raspunda la ping este necesar sa aveti un kernel 2.1.x sau superior
in consola se da urmatoarea comenda:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Cu aceasta evitati ca serverul sa raspunda la orice ping venit
pentru a raspunde la ping se da urmatoare comanda

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

si acum veti zice ca cu ce ma ajuta faptul ca serverul nu raspunde la ping..ei bine asa zisii "haceri" mai au si prostul obicei sa floodeze anumite servere...dar inainte verifica TTL`ul dand ping pe ip`ul serverului..eh daca el nu primeste nici un raspuns nu se mai oboseste  ;)
SECURITATE
indiferent ca e server de productie sau o statie desktop o securitate minima trebuie sa existe ceea ce se poate realiza foarte usor si rapid in citiva pasi
in primul rind logarea pe contul de root este necesara o singura data imediat dupa instalare pt a stabili citeva setari:
1- crearea unui user nou (cel ce va fi folosit in mod uzual)
# useradd nume_user
# passwd nume_user
--se completeaza parola--
2- editarea /etc/group
eu unul prefer sa-mi adaug userul pa grupul wheel (nu e obligatoriu totusi)
pe linia "wheel:x:10:root" se adauga numele de user si va fi ceva de genul "wheel:x:10:root,nume_user"
3- editarea /etc/sudoers
se activeaza linia "%wheel ALL=(ALL) NOPASSWD: ALL" (se sterge # din fata)
in caz ca se sare peste punctul 2 se va crea o linie de genul:
"nume_user ALL=(ALL) NOPASSWD: ALL"
4- editarea /etc/ssh/sshd_config (daca se va folosi ssh)
linia "#PermitRootLogin yes" se modifica in "PermitRootLogin no"
se adauga o linie noua: "Allowusers nume_user"
dupa salvarea fisierului se da un restart la serviciul ssh
# service sshd restart
din acest moment userul poate oricind lua permisiuni de root prin comanda # sudo su - pt intreaga sesiune atunci cind este necesar
Firewall-ul
fedora vine cu o mica aplicatie care faciliteaza crearea unui script de firewall decent de inceput ce ulterior poate fi imbunatatit prin simpla adaugare de noi linii in el si restart la serviciul iptables (# service iptables restart)
#system-config-securitylevel
de aici se bifeaza activarea firewall-ului, dupa care la sectiunea customise se specifica ce porturi vor fi lasate deschise; scriptul generat va fi in /etc/sysconfig/iptables

Note: Posts were merged
#8
ov1d1u
MW Moderator
5624 mesaje
din 12/12/2007
89 aprecieri
Opera Mini
13 august 2008, 09:18:35
Multam' mult, Darklord. Uitasem de comanda aia pt ignorarea ping-urilor si am cautat-o o buna vreme; mersi si pentru comenzile de setare a utilizatorilor :) Te mai asteptam cu cat mai multe astfel de mini-tutoriale - consola este ceva de baza in Linux si majoritatea nu prea stim sa o folosim.
autor subiect #9
Darklord
MW Lurker
294 mesaje
din 02/06/2006
2 aprecieri
13 august 2008, 09:52:43
va rog doar sa`mi scuzati gramatica..dar nu mi`a prea placut romana in scoala :))) aceeasi problema am avut`o si in facultate.. :))
autor subiect #10
Darklord
MW Lurker
294 mesaje
din 02/06/2006
2 aprecieri
13 august 2008, 10:07:59
instalare si configurare squid

downloadam sursele de pe squid-cache.org
tar -zxvf squid-2.6.STABLE18.tar.gz
intram in directorul cu sursele
cd squid-2.6.STABLE18
configuram squid-ul dupa necesitati, o sa dau momentan un exemplu pentru ce am eu nevoie:
./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/squid --localstatedir=/var/lib/squid --enable-storeio=aufs,ufs,diskd,coss,null --enable-removal-policies=lru,heap --enable-icmp --enable-delay-pools --enable-snmp --enable-wccp --enable-arp-acl --enable-ssl --enable-linux-netfilter --enable-basic-auth-helpers=NCSA,YP,multi-domain-NTLM,MSNT,SMB,getpwnam --enable-truncate --enable-kill-parent-hack
compilam
make
si instalam
make install
ok, daemonul squid va rula sub un user foarte restrictiv ca permisii, nu va avea shell de login si va avea casuta in /dev/null
ii adaugam si un grup aferent
groupadd squid
useradd squid -g squid -d /dev/null -s /bin/false
daca dam un cat /etc/passwd | grep squid, ar trebui sa avem un output de genul :
squid:x:1002:102::/dev/null:/bin/false
vom crea directoarele care le vom folosi pentru cache si pentru log-uri, si le vom da drepturile corespunzatoare si ownership-ul corespunzator :
cd /var/log
mkdir squid
cd /var/spool
mkdir squid
chown squid.squid -R /var/log/squid
chmod 770 -R /var/log/squid
chown squid.squid -R /var/spool/squid
ok, putem trece mai departe
cd /etc/squid
voi sterge squid.conf default intrucat voi folosi un squid.conf personalizat
rm -fr squid.conf
voi posta aici squid.conf pe care il folosesc eu momentan Darklord
#
http_port 3128
icp_port 3130
#
udp_incoming_address 0.0.0.0
udp_outgoing_address 255.255.255.255
#
hierarchy_stoplist cgi-bin php asp jsp ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
#
cache_mem 64 MB
cache_swap_low 90
cache_swap_high 95
#
maximum_object_size 10 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 2 MB
#
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 1024
#
cache_replacement_policy heap GDSF
memory_replacement_policy heap LRU
cache_dir UFS /var/spool/squid 100 16 256
#cache_dir UFS /data/squid2 6000 16 256
store_dir_select_algorithm least-load
#
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
cache_swap_log /var/log/squid/swap.log
#
emulate_httpd_log on
#
log_ip_on_direct off
#
mime_table /etc/squid/mime.conf
#
#pid_filename /etc/squid/logs/squid.pid
#
debug_options ALL,1
#
client_netmask 255.255.255.0
#
dns_retransmit_interval 2 seconds
dns_timeout 5 minutes
dns_nameservers 84.247.21.253
#
hosts_file /etc/hosts
#
redirect_rewrites_host_header off
#
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
#
request_header_max_size 10 MB
request_body_max_size 50 MB
#
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
#
#quick_abort_min 16 KB
#quick_abort_max 16 KB
#quick_abort_pct 95
#
negative_ttl 1 minutes
positive_dns_ttl 6 hours
negative_dns_ttl 1 minutes
#
range_offset_limit 0 KB
#
connect_timeout 20 seconds
peer_connect_timeout 15 seconds
read_timeout 5 minutes
request_timeout 30 seconds
#
#client_lifetime 1 day
#half_closed_clients off
#pconn_timeout 30 seconds
#shutdown_lifetime 5 seconds
#
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
#acl to_localhost dst 127.0.0.0/8
acl denied_ports port 135-139 445
acl SSL_ports port 443 563
acl Safe_ports port 80 81 82 83 # http
acl Safe_ports port 20 # ftp
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
#acl purge method PURGE
acl CONNECT method CONNECT
#
http_access allow manager localhost
http_access deny manager
#
#http_access allow purge localhost
#http_access deny purge
#
http_access deny !Safe_ports
#http_access allow CONNECT
http_access deny CONNECT !SSL_ports
#
http_access allow localhost
#
#http_access deny all
#
#http_reply_access allow all
#
acl xavier src 86.105.199.139
http_access allow xavier
acl kriss src 86.104.253.5
http_access allow kriss
acl rebelins src 86.55.236.125
http_access allow rebelins
acl ou src 86.55.161.77
http_access allow ou
acl ronaldo src 86.104.189.2
http_access allow ronaldo
icp_access allow all
http_access deny all
#
miss_access allow all
#
tcp_outgoing_address 255.255.255.255
#
reply_header_max_size 100 KB
#
cache_mgr office@fag-systems.ro
cache_effective_user squid
cache_effective_group squid
#
visible_hostname master-cache
#

#
logfile_rotate 10
#
forwarded_for off
#
log_icp_queries off
#
store_avg_object_size 100 KB
#
store_objects_per_bucket 100
#
query_icmp off
#
buffered_logs on
#
reload_into_ims on

ie_refresh on
vary_ignore_expire on
apoi, initializam cache-ul la squid
/usr/sbin/squid -z
daca totul este ok, ar trebui sa primiti mesajul acesta :
2008/02/05 01:02:44| Creating Swap Directories
apoi, pornim squid-ul
/usr/sbin/squid
verificam daca ruleaza procesul:
root@darklord:/var/spool# ps aux | grep squid
root 14574 0.0 0.1 5908 908 ? Ss 01:03 0:00 /usr/sbin/squid
squid 14576 1.5 0.5 8232 5280 ? S 01:03 0:00 (squid)
squid 14577 0.0 0.0 1504 300 ? Ss 01:03 0:00 (unlinkd)
root 14580 0.0 0.0 2004 636 pts/0 R+ 01:04 0:00 grep squid
deci, totul este ok...
dam si un nmap pe localhost
root@darklord:/var/spool# nmap localhost

Starting Nmap 4.20 ( http://insecure.org ) at 2008-02-05 01:04 GMT+2
Interesting ports on localhost (127.0.0.1):
Not shown: 1689 closed ports
PORT STATE SERVICE
22/tcp open ssh
37/tcp open time
53/tcp open domain
80/tcp open http
113/tcp open auth
953/tcp open rndc
3128/tcp open squid-http
6000/tcp open X11

Nmap finished: 1 IP address (1 host up) scanned in 0.175 seconds
deci, 3128 este identificat ca fiind un port pe care ruleaza squid-http ( lucru foarte corect de altfel )
acum , bagam in browser ip-ul squid-ului, fara a uita inainte sa ne trecem in acl
bafta  ;)
autor subiect #11
Darklord
MW Lurker
294 mesaje
din 02/06/2006
2 aprecieri
13 august 2008, 10:21:24
cum sa resetati parola mysql

/etc/rc.d/rc.mysqld stop - slackware
/etc/init.d/mysqld stop - debian, gentoo, suse
service mysqld stop - fedora core, mandriva
mysqld_safe --skip-grant-tables --user=root
sql> mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('newpassword') WHERE User='root';
mysql> FLUSH PRIVILEGES;
autor subiect #12
Darklord
MW Lurker
294 mesaje
din 02/06/2006
2 aprecieri
13 august 2008, 10:37:03
Instalare folosind apt-get:
apt-get install nume_pachet1 [nume_pachet2] [nume_pachet3]
[] = chestii optionale - se pot instala mai multe printr-o singura comanda, dependintele sunt satisfacute automat

Dezinstalare folosind apt-get:
apt-get remove [--purge] nume_pachet1 [nume_pachet2] [nume_pachet3]
--purge face ce face si in cazul dpkg folosit mai sus - sterge fisierele de configurare cu exceptia celor create de tine!

Instalare de pachete 32-bit pe arhitectura de 64-bit, Debian & Co.:
dpkg --force-architecture -i nume_pachet.deb

Detectarea numarului de core-uri CPU pe care le are instalata o masina (util pentru chestii menite sa scaleze in functie de numarul disponibil de proace):
cat /proc/cpuinfo | grep -c "core id"

Creare RAMDisk sub Linux:
Incepand cu v2.4, kernelul suporta in mod implicit crearea de RAMDisks. Device-urile se gasesc in /dev sub denumirea ram0, ram1, ... desi nu toate sunt utilizabile. 0, 1, 2 - mai pe scurt indecsii mici functioneaza OK.
mkfs.ext3 /dev/ram0;mkdir /media/ramdisk0;mount -t ext3 /dev/ram0 /media/ramdisk0
Chestia de mai sus formateaza RAMDisk-ul 0 ca ext3 si il monteaza in /media/ramdisk0

Dimensiunea RAMDisk-ul se seteaza la boot prin parametrii ce se trimit kernelului, in caz contrar, se ia dimensiunea implicita (care o fi aia). In grub se editeaza fisierul de configurare (/boot/grub/grub.conf sau /boot/grub/menu.lst - in functie de distro, poate mai sunt si altele) si se editeaza linia cu

kernel /vmlinuz-whatever-version whatever-parameters ramdisk_size=10000
Chestia de mai sus creeaza un RAMDisk-urile ca avand dimensiunea de 10MB (atentie, nu 10MiB!!! Wikipedia pentru divergente). Crearea se poate verifica cu un dmesg | grep RAMDISK

Alternativa: din meniul de boot al grub se poate edita temporar boot setup-ul. Se alege kernelul si configul, se tasteaza e (edit), se alege linia din config si se tasteaza iar e. Se adauga la sfarsit ce ziceam eu mai sus, return (enter), si b pentru boot. Are valoare doar la acel boot, la urmatorul configul fiind cel salvat pe disk.

Vedeti voi de ce dimensiune aveti nevoie si de asemenea unde se poate aplica cu succes folosirea unui RAMDisk in locul disk-ului clasic. Se pot scripta solutii foarte flexibile si rapide in functie de anumite necesitari speciale gen caching-ul fisierelor unei aplicatii ce le acceseaza frecvent.

DISCLAIMER: RAMDisk-urile isi pierd datele la reboot. NU pastrati date in ele ... sunt bune pentru date temporare sau pentru fisiere ce nu isi modifica continutul dar care au nevoie de o citire rapida de pe disk.

PS: exceptand detectia numarului de cores si dmesg, toate comenzile de mai sus necesita drepturi de root.
Înapoi la Linux
cine e aici?
Subiectul a fost creat la .
versiunea desktop
0.023⋅4⋅0