CentOS Linux服务器安全设置
来源:互联网 发布:电台录制软件 编辑:程序博客网 时间:2024/06/04 23:20
CentOS Linux
服务器安全设置
2011
年
11
月
03
日
⁄
CentOS
⁄
评论数
2
引言:
我们必须明白:
最小的权限
+
最少的服务
=
最大的安全
所以,无论是配置任何服务器,我们都必须把不用的服务关闭、把系统权限设
置到最小话,
这样才能保证服务器最大的安全。
下面是
CentOS
服务器安全设置,
供大家参考。
系统运维
www.osyunwei.com
温馨提醒:
qihang01
原创内容©版权所
有
,
转载请注明出处及原文链接
一、注释掉系统不需要的用户和用户组
注意:不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦。
cp /etc/passwd /etc/passwdbak #
修改之前先备份
vi /etc/passwd #
编辑用户,在前面加上
#
注释掉此行
#adm:x:3:4:adm:/var/adm:/sbin/nologin
#lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#sync:x:5:0:sync:/sbin:/bin/sync
#shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
#halt:x:7:0:halt:/sbin:/sbin/halt
#uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
#operator:x:11:0:operator:/root:/sbin/nologin
#games:x:12:100:games:/usr/games:/sbin/nologin
#gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
#ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin #
注释掉
ftp
匿名账
号
cp /etc/group /etc/groupbak #
修改之前先备份
vi /etc/group
#
编辑用户组,在前面加上
#
注释掉此行
#adm:x:4:root,adm,daemon
#lp:x:7:daemon,lp
#uucp:x:14:uucp
#games:x:20:
#dip:x:40:
二、关闭系统不需要的服务
service acpid stop chkconfig acpid off #
停止服务,取消开机启动
#
电源进阶设定,常用在
Laptop
上
service autofs stop chkconfig autofs off #
停用自动挂载档桉系统与週
边装置
service bluetooth stop chkconfig bluetooth off #
停用
Bluetooth
蓝芽
service cpuspeed stop chkconfig cpuspeed off #
停用控制
CPU
速度
主要用来省电
service cups stop chkconfig cups off #
停用
Common UNIX Printing
System
使系统支援印表机
service ip6tables stop chkconfig ip6tables off #
禁止
IPv6
####################################################################
################################
如果要恢复某一个服务,可以执行下面操作
service acpid start chkconfig acpid on
三、禁止非
root
用户执行
/etc/rc.d/init.d/
下的系统命令
chmod -R 700 /etc/rc.d/init.d/*
chmod -R 777 /etc/rc.d/init.d/* #
恢复默认设置
系统运维
www.osyunwei.com
温馨提醒:
qihang01
原创内容©版权所有
,
转
载请注明出处及原文链接
四、给下面的文件加上不可更改属性,从而防止非授权用户获得权限
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
chattr +i /etc/services #
给系统服务端口列表文件加锁
,
防止未经许可
的删除或添加服务
lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/
services #
显示文件的属性
注意:执行以上权限修改之后,就无法添加删除用户了。
如果再要添加删除用户,需要先取消上面的设置,等用户添加删除完成之后,
再执行上面的操作
chattr -i /etc/passwd #
取消权限锁定设置
chattr -i /etc/shadow
chattr -i /etc/group
chattr -i /etc/gshadow
chattr -i /etc/services #
取消系统服务端口列表文件加锁
现在可以进行添加删除用户了,操作完之后再锁定目录文件
五、限制不同文件的权限
chattr +a .bash_history #
避免删除
.bash_history
或者重定向
到
/dev/null
chattr +i .bash_history
chmod 700 /usr/bin
恢复
chmod 555 /usr/bin
chmod 700 /bin/ping
恢复
chmod 4755 /bin/ping
chmod 700 /usr/bin/vim
恢复
chmod 755 /usr/bin/vim
chmod 700 /bin/netstat
恢复
chmod 755 /bin/netstat
chmod 700 /usr/bin/tail
恢复
chmod 755 /usr/bin/tail
chmod 700 /usr/bin/less
恢复
chmod 755 /usr/bin/less
chmod 700 /usr/bin/head
恢复
chmod 755 /usr/bin/head
chmod 700 /bin/cat
恢复
chmod 755 /bin/cat
chmod 700 /bin/uname
恢复
chmod 755 /bin/uname
chmod 500 /bin/ps
恢复
chmod 755 /bin/ps
六、禁止使用
Ctrl+Alt+Del
快捷键重启服务器
cp /etc/inittab /etc/inittabbak
vi /etc/inittab #
注释掉下面这一行
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
七、使用
yum update
更新系统时不升级内核,只更新软件包
由于系统与硬件的兼容性问题,
有可能升级内核后导致服务器不能正常启动,
这
是非常可怕的,没有特别的需要,建议不要随意升级内核。
cp /etc/yum.conf /etc/yum.confbak
1
、修改
yum
的配置文件
vi /etc/yum.conf
在
[main]
的最后添加
exclude=kernel*
2
、直接在
yum
的命令后面加上如下的参数:
yum --exclude=kernel* update
查看系统版本
cat /etc/issue
查看内核版本
uname -a
八、关闭
Centos
自动更新
chkconfig --list yum-updatesd #
显示当前系统状态
yum-updatesd 0:
关闭
1:
关闭
2:
启用
3:
启用
4:
启用
5:
启用
6:
关闭
service yum-updatesd stop #
关闭
开启参数为
start
停止
yum-updatesd
:
[
确定
]
service yum-updatesd status #
查看是否关闭
yum-updatesd
已停
chkconfig
--level
35
yum-updatesd
off #
禁止开启启动
(系统模式为
3
、
5
)
chkconfig
yum-updatesd
off #
禁止开启启动
(所有启动模式全部禁止)
chkconfig --list yum-updatesd #
显示当前系统状态
yum-updatesd 0:
关闭
1:
关闭
2:
启用
3:
关闭
4:
启用
5:
关闭
6:
关闭
九、关闭多余的虚拟控制台
我们知道从控制台切换到
X
窗口,
一般采用
Alt-F7
,
为什么呢?因为系统
默认定义了
6
个虚拟控制台,
所以
X
就成了第
7
个。实际上,很多人一般不会需要这么多虚拟控制台的,
修改
/etc/inittab
,注释掉那些你不需要的。
cp /etc/inittab /etc/inittabbak
vi /etc/inittab
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6
十、删除
MySQL
历史记录
系统运维
www.osyunwei.com
温馨提醒:
qihang01
原创内容©版权所有
,
转载请注明出处及原文链接
用户登陆数据库后执行的
SQL
命令也会被
MySQL
记录在用户目录
的
.mysql_history
文件里。
如果数据库用户用
SQL
语句修改了数据库密码,也会因
.mysql_history
文
件而泄漏。
所以我们在
shell
登陆及备份的时候不要在
-p
后直接加密码,而是在提示
后再输入数据库密码。
另外这两个文件我们也应该不让它记录我们的操作,以防万一。
cd
cp .bash_history .bash_historybak #
备份
cp .mysql_history .mysql_historybak
rm .bash_history .mysql_history
ln -s /dev/null .bash_history
ln -s /dev/null .mysql_history
十一、修改
history
命令记录
cp /etc/profile /etc/profilebak
vi /etc/profile
找到
HISTSIZE=1000
改为
HISTSIZE=50
十二、隐藏服务器系统信息
在缺省情况下,
当你登陆到
linux
系统,
它会告诉你该
linux
发行版的名
称、版本、内核版本、服务器的名称。
为了不让这些默认的信息泄露出来,
我们要进行下面的操作,
让它只显示
一个
"login:"
提示符。
删除
/etc/issue
和
/etc/issue.net
这两个文件,
或者把这
2
个文件改名,
效果是一样的。
mv /etc/issue /etc/issuebak
mv /etc/issue.net /etc/issue.netbak
十三、优化
Linux
内核参数
cp /etc/sysctl.conf /etc/sysctl.confbak
vi /etc/sysctl.conf #
在文件末尾添加以下内容
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_tw_recycle = 1
#net.ipv4.tcp_tw_len = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
#net.ipv4.tcp_fin_timeout = 30
#net.ipv4.tcp_keepalive_time = 120
net.ipv4.ip_local_port_range
=
10024 65535 #
(表示用于向外连接
的端口范围。缺省情况下很小:
32768
到
61000
注意:这里不要将最低值设的
太低,否则可能会占用掉正常的端口!
)
/sbin/sysctl -p #
使配置立即生效
系统运维
www.osyunwei.com
温馨提醒:
qihang01
原创内容©版权所有
,
转载
请注明出处及原文链接
十四、
CentOS
系统优化
cp /etc/profile /etc/profilebak2
vi /etc/profile #
在文件末尾添加以下内容
ulimit -c unlimited
ulimit -s unlimited
ulimit -SHn 65535
source /etc/profile #
使配置立即生效
ulimit -a #
显示当前的各种用户进程限制
十五、服务器禁止
ping
cp /etc/rc.d/rc.local /etc/rc.d/rc.localbak
vi /etc/rc.d/rc.local #
在文件末尾增加下面这一行
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
参数
0
表示允许
1
表示禁止
至此,
CentOS Linux
服务器安全设置基本完成,
以上设置经过笔者实战测试
(
CentOS-5.5-x86_64
)完
- linux(centos)服务器安全设置
- CentOS Linux服务器安全设置
- CentOS Linux服务器安全设置
- CentOS Linux服务器安全设置
- CentOS Linux服务器安全设置
- CentOS Linux服务器安全设置
- CentOS Linux服务器安全设置
- CentOS Linux服务器安全设置
- Linux/Centos服务器ssh安全设置
- centos服务器安全设置
- centos服务器安全设置
- CentOS 服务器安全设置
- CentOS 服务器安全设置
- CentOS服务器安全设置
- CentOS服务器安全设置
- CentOS 服务器安全设置
- CentOS 5服务器安全设置
- CentOS 5服务器安全设置
- iOS cocos2d 收集(刚开始,不断完善)
- tomcat 配映射路径
- CSS控制图片大小不变形
- Facebook表态不放弃中国市场,还在跟政府谈判
- 怎么让cocos2d能用ARC
- CentOS Linux服务器安全设置
- 十一、初学Java多线程:使用Synchronized块同步变量
- Cocos2Dx 内存管理封装
- 五个砝码问题(用三进制)
- Struts2 单文件上传
- Python enumerate用法
- Android中软键盘的显示和隐藏
- Comments Off18 Tools and Source Code Components for Cocos2D iOS Game Development
- ruby 读取yaml文件