所有通过网络传输的数据都是可以被监听的,因此只要有可能就要使用密码、证书等方式加密你的通讯数据。
2、最小化软件安装原则。
你确实需要服务器上安装的所有服务吗?避免安装不必要的服务就是避免漏斗。使用 RPM 包管理工具,例如 yum 或者 apt-get 、dpkg 来检查系统上安装的软件包,同时删除不必要的包。
3、每个系统或实例上只运行一种服务。
将不同的服务运行在单独的服务器或虚拟化实例中。例如:如果黑客攻破Apache进入到系统中,他就可以访问部署在这台服务器上的Mysql、E-Mail等其他服务,尽量不要这么做。
1、 关闭不需要的服务
这个应该很容易理解的,凡是我们的系统不需要的服务,一概关闭,这样一个好处是减少内存和CPU时间的占用,另一个好处相对可以提高安全性
那么哪些服务是肯定要保留的呢
在linux机器上通常有四项服务是必须保留的
iptables
linux下强大的防火墙,只要机器需要连到网上,哪里离得开它
network
linux机器的网络,如果不上网可以关闭,只要上网当然要打开它
sshd
这是openssh server,如果你的机器不是本地 *** 作,而是托管到IDC机房,
那么访问机器时需要通过这个sshd服务进行
syslog
这是linux系统的日志系统,必须要有,
否则机器出现问题时会找不到原因
除了这四项必需的服务之外,其他的服务需要保留哪些呢
这时就可以根据系统的用途而定,比如:数据库服务器,就需要启用mysqld(或oracle)
web服务器,就需要启用apache
2、 关闭不需要的tty
请编辑你的/etc/inittab
找到如下一段:
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
这段命令使init为你打开了6个控制台,分别可以用alt+f1到alt+f6进行访问
此6个控制台默认都驻留在内存中,事实上没有必要使用这么多的
你用ps auxf这个命令可以看到,是六个进程
root 3004 00 00 1892 412 tty1 Ss+ Jun29 0:00 /sbin/mingetty tty1
root 3037 00 00 2492 412 tty2 Ss+ Jun29 0:00 /sbin/mingetty tty2
root 3038 00 00 2308 412 tty3 Ss+ Jun29 0:00 /sbin/mingetty tty3
root 3051 00 00 1812 412 tty4 Ss+ Jun29 0:00 /sbin/mingetty tty4
root 3056 00 00 2116 412 tty5 Ss+ Jun29 0:00 /sbin/mingetty tty5
root 3117 00 00 2396 412 tty6 Ss+ Jun29 0:00 /sbin/mingetty tty6
3 如何关闭这些进程
通常我们保留前2个控制台就可以了,
把后面4个用#注释掉就可以了
然后无需重启机器,只需要执行 init q 这个命令即可
init q
q作为参数的含义:重新执行/etc/inittab中的命令
修改完成后需重启机器使之生效
4 、如何关闭atime
一个linux文件默认有3个时间:
atime:对此文件的访问时间
ctime:此文件inode发生变化的时间
mtime:此文件的修改时间
如果有多个小文件时通常没有必要记录文件的访问时间,
这样可以减少磁盘的io,比如web服务器的页面上有多个小
如何进行设置呢
修改文件系统的配置文件:vi /etc/fstab
在包含大量小文件的分区中使用noatime,nodiratime两项
例如:
/dev/md5 /data/pics1 ext3 noatime,nodiratime 0 0
这样文件被访问时就不会再产生写磁盘的io
5、 一定要让你的服务器运行在level 3上
做法:
vi /etc/inittab
id:3:initdefault:
让服务器运行X是没有必要的
6, 优化sshd
X11Forwarding no //不进行x图形的转发
UseDNS no //不对IP地址做反向的解析
7、 优化shell
修改命令history记录
# vi /etc/profile
找到 HISTSIZE=1000 改为 HISTSIZE=100
然后 source /etc/profile
看到各种广告回答我也是醉了,这个东西嘛我还是比较了解的,从cpanel,kangle到国内的一些wdcp,appnode,bt等,感觉千篇一律,毫无创新,而且这个领域看来竞争十分激烈,不过近来发现一个全新理念的SaaS化的平台,旗鱼云梯我稍微体验了下,讲真还真让人有点耳目一新,个人觉得这种平台化的理念还算是有点新意,而且还有一些特色的安全防御功能。至于到底选择那个,那个好用,我觉得这是见仁见智的事情,最终还是产品服务为王,能否不断吸取用户的反馈,能否始终为用户创造价值,能否始终提供高质量的产品与服务,这才是决定一个产品能否获得用户认可,取得市场地位的根本决定因素吧。下面是我体验旗鱼云梯的几个简单的功能介绍,可以了解一下。
你这种问题很难回答的,只能给你简单答一下。1、怎么入侵的
你的是服务器,架上internet上,大家都可以访问。服务器为了方便别人访问,总会开启一些服务如>
比如你在linux上面运行了一个网站,那么CC攻击的特征是:
1、CC攻击的ip都是真实的,分散的;
2、CC攻击的数据包都是正常的数据包;
3、CC攻击的请求都是有效请求,且无法拒绝;
4、CC攻击的是网页,服务器可以连接,ping也没问题,但是网页就是访问不了。
5、但是IIS一开,服务器很快就死,容易丢包。
判断好CC攻击的特征,就需要做好安全防御,我给你推荐:抗D保。防御CC攻击很不错。
首页最新文章在线课程业界开发 IT技术 设计 创业IT职场投稿更多 »
伯乐在线 > 首页 > 所有文章 > IT技术 > 如何保证Linux服务器的安全
如何保证Linux服务器的安全
2013/06/29 | 分类: IT技术 | | 标签: Linux, 服务器
分享到: 99
less即学即用
iOS-动画进阶
洪大师带你解读Symfony2框架
HTML5存储
本文由 伯乐在线 - 贾朝藤 翻译。未经许可,禁止转载!
英文出处:Spenser Jones。欢迎加入翻译小组。
很少见有人马上为一台新安装的服务器做安全措施,然而我们生活所在的这个社会使得这件事情是必要的。不过为什么仍旧这么多人把它拖在最后?我也做过相同的事,这通常可以归结为我们想要马上去折腾那些有趣的东西。希望这篇文章将向大家展示,确保服务器安全没有你想得那样难。在攻击开始后,俯瞰你的“堡垒”,也相当享受。
这篇文章为 Ubuntu 12042 LTS 而写,你也可以在任何其他 Linux 分发版上做相同的事情。
我从哪儿开始?
如果服务器已经有了一个公有IP,你会希望立即锁定 root 访问。事实上,你得锁定整个ssh访问,并确保只有你可以访问。增加一个新用户,把它加入admin组(在/etc/sudoers预配置以拥有sudo访问权限)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ sudo addgroup admin
Adding group 'admin' (GID 1001)
Done
$ sudo adduser spenserj
Adding user `spenserj'
Adding new group `spenserj' (1002)
Adding new user `spenserj' (1001) with group `spenserj'
Creating home directory `/home/spenserj'
Copying files from `/etc/skel'
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for spenserj
Enter the new value, or press ENTER for the default
Full Name []: Spenser Jones
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct [Y/n] y
$ sudo usermod -a -G admin spenserj
你也将希望在你电脑上创建一个私有key,并且在服务器上禁用讨厌的密码验证。
1
2
$ mkdir ~/ssh
$ echo "ssh-rsa [your public key]" > ~/ssh/authorized_keys
/etc/ssh/sshd_config
1
2
3
4
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication no
AllowUsers spenserj
重新加载SSH,使用修改生效,之后尝试在一个新会话中登陆来确保所有事情正常工作。如果你不能登陆,你将仍然拥有你的原始会话来做修改。
1
2
3
$ sudo service ssh restart
ssh stop/waiting
ssh start/running, process 1599
更新服务器
既然你是访问服务器的唯一用户,你就不用担心黑客鬼鬼祟祟进入,再次正常呼吸。当有一些针对你服务器的更新时,正是修补的机会,所以动手吧,就现在。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$ sudo apt-get update
Hit >
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)