Linux за българи: Форуми

Сигурност => Системна Сигурност => Темата е започната от: dunix в Mar 03, 2012, 20:45



Титла: Защита на apache
Публикувано от: dunix в Mar 03, 2012, 20:45
Здравейте,
имам няколко конкретни въпроса:
1: какво представлява open_basedir и как да го конфигурирам
2: в php.ini съм сложил disable_functions = "phpinfo, dir, readfile, shell_exec, exec,virtual, passthru, proc_close, proc_get_status, proc_open, proc_terminate, system, popen,dl, show_source, highlight_file, pcntl_exec". Има ли още някои които мога да забраня?
3: как да забраня всички портове освен този на апачето и mysql?
4: сложих phpmyadmin, но той се вижда от абсолютно всички. Как да го направя да се вижда само от определени IP-адреси?

отделно
1: как да направя да не може да се влиза от ssh с root потребителя
2: как мога да сложа сертификат на ssh-а
3: малко повече информация относно denyhosts - функции, конфигуриране, ползи и минуси
4:
Слагаме пас фраза на ключа. Преди работа добавяме ключа в ssh-agent с ssh-add. По време на работа ползваме ssh-key forwarding с ssh -A myserver1, ssh -A myserver2, ssh -A myserver3 и т.н. След работа изтриваме ключа от ssh-agent с ssh-add -D. Може дори да зададем време на живот на ключа в агента с ssh-add -t XX. Копираме само публичния ключ навсякъде, частния си остава на лаптопа. За мобилните - носим си го на флашка. За параноиците - на криптирана. А относно смени на ключа - аз имам два, единият е 10, другият 5 годишен, досега не съм сменил никой от двата, нито пък съм ги губил. Пък и да е копиране ще е ssh-copy-id (вярно, малко неприятно като се срещнат много уних-и от времето на Балканските войни без ssh-copy-id ). Като замижа на тема сигурност си правя някой временен за rsync между две машини, да не оставям частния си ключ насам-натам и да няма нужда от пас фраза. За мен този алгоритъм е задоволителен, но ако има какво да допълните ще прочета с удоволствие.
малко повече информация относно горе цитираното
5:
инсталирай си fail2ban и го настрой да блокира на 3 опита за по час:
bantime  = 3600
maxretry = 3
findtime = 3600
с тези настройки бързо минава мерака да ръчкат, и няма да ти товарят трафика
освен това в /etc/rc.local вмъкваш това:

Код
GeSHi (Bash):
  1. /sbin/modprobe iptable_filter
  2. /sbin/iptables -N SSH_WHITELIST
  3. /sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
  4. /sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_WHITELIST
  5. /sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_brute_force "
  6. /sbin/iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP

и после гледаш логовете, ако някой IP адрес е много упорит може да го блокираш за вечни времена през iptables
това има ли ефект?



http://www.linux-bg.org/forum/index.php?topic=41516.0 - грешката оправена ли е вече?
  Edit: ako ima i drugi nachinoli za zashtita molq da gi spodelite (ot tela sum i zatova e na latinica)


Титла: Re: Защита на apache
Публикувано от: dejuren в Mar 08, 2012, 17:07
Извинявай, че така малко направо, но скоро (или въобще) чел ли си документация по apache, php, iptables или ssh? Ако не си крайно време е да започнеш, или да започнеш наново. Последно: посочваш CVE, след като те интересува статуса не е ли по-добре да го погледнеш сам?

PS А, да, да не забравя - сигурността, в частност системната не е акт, а процес. След като назабраниш всьо и вся не е дошъл момента за отпускане, а за още четене и следене на бюлетините по сигурност. Също така вече съм споменавал и за оценка на риска при прилагане на решения за сигурност, не е зле да започнеш с това, а не с тикане наляво и надясно на каквото попадне под ръка. Това в някой случаи може дори да влоши положението.