首页 > 网络资讯 > 常见问题 > 其他问题 >
如何做好centos安全设置?
分享至:0
2013-12-09 22:34:16     来源:互联网     点击:
导读: 云主机第一件事修改root密码。。[root@ebandao ~] passwd复制代码1、用防火墙关闭不须要的任何端口,别人PING不到服务器,威胁自然减少
云主机第一件事修改root密码。。
  1. [root@ebandao ~]# passwd
复制代码
1、用防火墙关闭不须要的任何端口,别人PING不到服务器,威胁自然减少了一大半

防止别人ping的方法: 

1)命令提示符下打
echo 1 > /proc/sys/net/ipv4/icmp_ignore_all

2)用防火墙禁止(或丢弃) icmp 包
iptables -A INPUT -p icmp -j DROP

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

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

vi /etc/ssh/sshd_config 
将PORT改为1000以上端口

同时,创建一个普通登录用户,并取消直接root登录
useradd 'username'
passwd 'username'

vi /etc/ssh/sshd_config 
在最后添加如下一句:
PermitRootLogin no         #取消root直接远程登录

3、删除系统臃肿多余的账号: 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
4、更改下列文件权限,使任何人没有更改账户权限: chattr +i /etc/passwd chattr +i /etc/shadow chattr +i /etc/group chattr +i /etc/gshadow
5、chmod 600 /etc/xinetd.conf
6、关闭FTP匿名用户登陆

CentOS安装好,默认只打开了22端口,如果希望开放其他端口的话,需要打开所需端口。
比如打开http的默认端口80
编辑iptables 

vi /etc/sysconfig/iptables 

添加

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3001 -j ACCEPT  

重新启动服务

/sbin/service iptables restart

查看端口是否开放

/sbin/iptables -L -n
CentOS 5服务器安全设置
一.Centos 系统安全方面
1、用防火墙关闭不须要的任何端口,别人PING不到服务器,威胁自然减少了一大半
2、更改SSH端口,最好改为10000以上,别人扫描到端口的机率也会下降
3、删除系统臃肿多余的账号:
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
  1. vi /etc/passwd
  2. #userdel adm
  3.      #userdel lp
  4.      #userdel sync
  5.      #userdel shutdown
  6.      #userdel halt
  7.      #userdel news
  8.      #userdel uucp
  9.      #userdel operator
  10.      #userdel games
  11.      #userdel gopher
  12.      #userdel ftp 
  13.      vi /etc/group
  14.      #groupdel adm
  15.      #groupdel lp
  16.      #groupdel news
  17.      #groupdel uucp
  18.      #groupdel games
  19.      #groupdel dip
  20.      #groupdel pppusers
复制代码
4、更改下列文件权限,使任何人没有更改账户权限:
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
5、chmod 600 /etc/xinetd.conf
6、关闭FTP匿名用户登陆
7.修改口令文件属性
  1. <div>//添加属性,禁止修改</div><div>chattr +i /etc/passwd</div><div>chattr +i /etc/shadow</div><div>chattr +i /etc/group</div><div>chattr +i /etc/gshadow</div><div>//去除属性</div><div># chattr -i /etc/passwd</div><div># chattr -i /etc/shadow</div><div># chattr -i /etc/group</div><div># chattr -i /etc/gshadow</div>
复制代码
8.禁止[Ctrl+Alt+Delete]重启命
  1. <div>vi /etc/inittab</div><div>//注释掉下面这行</div><div>#ca::ctrlaltdel:/sbin/shutdown -t3 -r now</div><div>//设置 /etc/rc.d/init.d/ 目录下文件的权限</div><div>chmod -R 700 /etc/rc.d/init.d/*</div>
复制代码
9禁止ping
  1. echo 1 > /proc/sys/net/ipv4/icmp_ignore_all
  2. //用防火墙禁止(或丢弃) icmp 包
  3. iptables -A INPUT -p icmp -j DROP
复制代码
二.PHP 安全篇
1、开启安全模式(做为商业应用的服务器不建议开启)
#vi /usr/local/Zend/etc/php.ini (没装ZO时php.ini文件位置为:/etc/php.ini)
safe_mode = On
2、锁定PHP程序应用目录
#vi /etc/httpd/conf.d/virtualhost.conf
加入
php_admin_value open_basedir /home/*** (***为站点目录)
3、千万不要给不必要的目录给写权限,也就是777权限,根目录保持为711权限,如果不能运行PHP请改为755
4、屏蔽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
linux修改ssh端口22
vi /etc/ssh/ssh_config
vi /etc/ssh/sshd_config
然后修改为port 8888
以root身份service sshd restart (redhat as3)
使用putty,端口8888
Linux下SSH默认的端口是22,为了安全考虑,现修改SSH的端口为1433,修改方法如下:
/usr/sbin/sshd -p 1433
===============================================================================
第一 种:
01假如要改SSH的默认端口(22),那么你只要修改:/etc/ssh/sshd_config中Port 22,这里把22改成自己要设的端口就行了,不过千万别设和现已有的端口相同哦,以防造成未知后果。
02假如要限制SSH登陆的IP,那么可以如下做:
先:修改/etc/hosts.deny,在其中加入sshd:ALL
然后:修改:/etc/hosts.allow,在其中进行如下设置:sshd:192.168.0.241
这样就可以限制只有192.168.0.241的IP通过SSH登陆上LINUX机器了。当然在做为服务器方面,我都不装gnome和KDE的,而且很多东东都不装,这样增加安全系数。
第二种:
首先修改配置文件
vi /etc/ssh/sshd_config
找到#Port 22一段,这里是标识默认使用22端口,修改为如下:
Port 22
Port 50000
然后保存退出
执行/etc/init.d/sshd restart
这样SSH端口将同时工作与22和50000上。
现在编辑防火墙配置:vi /etc/sysconfig/iptables
启用50000端口。
执行/etc/init.d/iptables restart
现在请使用ssh工具连接50000端口,来测试是否成功。
如果连接成功了,则再次编辑sshd_config的设置,将里边的Port22删除,即可。
之所以先设置成两个端口,测试成功后再关闭一个端口,是为了方式在修改conf的过程中,
万一出现掉线、断网、误操作等未知情况时候,还能通过另外一个端口连接上去调试
以免发生连接不上必须派人去机房,导致问题更加复杂麻烦。
内核参数调整
  1. #vi /etc/sysctl.conf
  2.       sysctl -w net.ipv4.conf.default.accept_source_route=0
  3.       sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
  4.       #sysctl -w net.ipv4.icmp_echo_ignore_all=1
  5.       sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1
  6.       sysctl -w net.ipv4.ip_conntrack_max=65535
  7.       sysctl -w net.ipv4.tcp_syncookies=1
  8.       sysctl -w net.ipv4.tcp_syn_retries=1
  9.       sysctl -w net.ipv4.tcp_fin_timeout=5
  10.       sysctl -w net.ipv4.tcp_synack_retries=1
  11.       sysctl -w net.ipv4.tcp_syncookies=1
  12.       sysctl -w net.ipv4.route.gc_timeout=100
  13.       sysctl -w net.ipv4.tcp_keepalive_time=500
  14.       sysctl -w net.ipv4.tcp_max_syn_backlog=10000
复制代码