Linux 服务器安全配设置

1、用防火墙关闭不须要的任何端口,别人PING不到服务器,威胁自然减少了一大半。

防止别人ping的方法:

1)命令提示符下打,0表示允许,1表示禁止

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

2)用防火墙禁止(或丢弃) icmp 包

iptables -A INPUT -p icmp -j DROP

3)对所有用ICMP通讯的包不予响应,比如:

PING TRACERT 

2、开启安全模式(做为商业应用的服务器不建议开启)

#vi /usr/local/Zend/etc/php.ini(没装ZO时php.ini文件位置为:/etc/php.ini) .
safe_mode = On

3、锁定PHP程序应用目录

#vi /etc tpd/conf.d irtualhost.conf
php_admin_value open_basedir /home/*** (***为站点目录) !

4、千万不要给不必要的目录给写权限,也就是777权限,根目录保持为711权限,如果不能运行PHP请改为755 。

5、屏蔽PHP不安全的参数(webshell)

#vi /usr/local/Zend/etc/php.ini (没装ZO时php.ini文件位置为:/etc/php.ini)
disable_functions = system,exec,shell_exec,passthru,popen 

以下为我的服务器屏蔽参数:

disable_functions = passthru,exec,shell_exec,system,set_time_limit,ini_alter,dl, .
pfsockopen,openlog,syslog,readlink,symlink,link,leak,fsockopen,popen,escapeshell ..
cmd,error_log .

以上的方法,就很轻松的解决了CentOS服务器的安全问题。

6、更改SSH端口并限制SSH登陆的IP

  更改SSH端口,最好改为10000以上,别人扫描到端口的机率也会下降

vi /etc/ssh/sshd_config

  将PORT改为1000以上端口。同时,创建一个普通登录用户,并取消直接root登录

useradd  'username'
passwd 'username'

vi /etc/ssh/sshd_config

  在最后添加如下一句:

PermitRootLogin no        #取消root直接远程登录

7、更改下列文件权限,使任何人没有更改账户权限:

chattr +i /etc/passwd chattr +i /etc/shadow chattr +i /etc/group chattr +i /etc/gshadow

chmod 600 /etc/xinetd.conf

8、删除系统臃肿多余的账号:

userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
userdel ftp #如果你不允许匿名FTP,就删掉这个用户帐号
groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip
groupdel pppusers

更改下列文件权限,使任何人没有更改账户权限:

chattr i /etc/passwd
chattr i /etc/shadow
chattr i /etc/group
chattr i /etc/gshadow

最后记得关闭FTP匿名用户登陆。

posted @ 2011-10-13 12:24  Rayol  阅读(177)  评论(0编辑  收藏  举报