配置linux web服务器 有哪些安全方面要注意

配置linux web服务器 有哪些安全方面要注意,第1张

主要有下面几方面:

1、禁用root用户并配置相应权限

2、指定一个账户可以SSH,禁用其他用户ssh登录

3、启用IPTASBLE

4、安装相应监控软件(具体百度)

5、对web目录设置可写权限

修改/etc/logindefs文件,控制密码的有效期

chage -l 用户名

控制密码复杂度,需已安装pam_cracklib,centos已默认安装

修改/etc/etc/pamd/system-auth文件,添加如下语句,需放置在最前面,否则可能不生效

参数说明

Linux登录失败

1 修改/etc/hostsallow文件,增加允许通过SSH连接的客户端IP

2 修改/etc/hostsdeny文件,增加禁止通过SSH连接的客户端IP

3 重启sshd服务和xinetd(可选)服务,使之生效

如果hostsallow和hostsdeny文件均包含同一ip,则以hostsall文件为准,如果只是单独配置了hostsall文件,并没有在hostsdeny文件禁止,依然不生效

LINUX下使用SMTP安全手册—Qmail安全?

Qmail有一个名为rcpthosts(该文件名源于RCPTTO命令)的配置文件,其决定了是否接受一个邮件。只有当一个RCPTTO命令中的接收者地址的域名存在于rcpthosts文件中时,才接受该邮件,否则就拒绝该邮件。若该文件不存在,则所有的邮件将被接受。当一个邮件服务器不管邮件接收者和邮件接收者是谁,而是对所有邮件进行转发(relay),则该邮件服务器就被称为开放转发(openrelay)的。当qmail服务器没有rcpthosts时,其是开放转发的。

设置自己服务器为非openrelay的最简单的办法就是将你的邮件服务器的所有域名(若DNS的MX记录指向该机器,也应该包括该域名。例如你的机器有三个域名maillinxuaidcomcn、mail1linuxaidcomcn,而且linuxaidcomcn的MX指向maillinuxaidcomcn,则qmail的rcphosts的应该包括maillinuxaidcomcn、mail1linuxaidcomcn和linuxaidcomcn)。

但是这将导致你的本地客户也被拒绝使用你的服务器转发邮件,而要支持客户使用MUA来发送邮件,必须允许客户使用服务器转发邮件。qmail-smtpd支持一种有选择性的忽略rcpthosts文件的方法:若qmail-smtpd的环境变量RELAYCLIENT被设置,则rcpthost文件将被忽略,relay将被允许。但是如何识别一个邮件发送者是否是自己的客户呢?qmail并没有采用密码认证的方法,而是判断发送邮件者的源IP地址,若该IP地址属于本地网络,则认为该发送者为自己的客户。

这里就要使用ucspi-tcp软件包。在这里我们要使用该软件包的tcpserver程序。该程序的功能类似于inetd-监听进入的连接请求,为要启动的服务设置各种环境变量,然后启动指定的服务。

tcpserver的配置文件是/etc/tcpsmtp,该文件定义了是否对某个网络设置RELAYCLIENT环境变量。例如,本地网络是地址为192168100/24的C类地址,则tcpsmtp的内容应该设置如下:127001:allow,RELAYCLIENT=""19216810:allow,RELAYCLIENT="":allow

这几个规则的含义是指若连接来自127001和19216810则允许,并且为其设置环境变量RELAYCLIENT,否则允许其他连接,但是不设置RELAYCLIENT环境变量。这样当从其他地方到本地的25号连接将会被允许,但是由于没有被设置环境变量,所以其连接将会被qmail-smptd所拒绝。

但是tcopserver并不直接使用/etc/tcpsmtp文件,而是需要先将该文件转化为cbd文件:

___FCKpd___1nbsp;#tcprulestcpsmtpcdbtcpsmtptemp

然后再回头看在/service/qmail-smtpd目录下的run文件中有

/usr/local/bin/tcpserver-v-p-x/etc/tcpsmtpcdb

可以看到,tcpserver利用了/etc/smtpcbd文件。若本地有多个网络,则需要这些网络都出现在/etc/tcpsmtp文件中。

这样就实现了允许本地客户relay邮件,而防止relay被滥用。

linux中/etc/passwd与/etc/shadow文件权限设置多少最安全?

默认的设置就可以,尽量不要修改。/etc/passwd文件存放用户的宿主目录、shell环境等资料,用户必须有权限查看,所以不能设置为700。而/etc/shadow文件的默认权限一般是400,比你的700更安全。

linux中覆盖程序的命令?

以下是linux覆盖程序命令的详细说明:

一、使用unaliascp命令解除对cp的别名(仅本次终端连接会话临时取消),我们先输入alias命令,查看系统内部已经设置的别名

复制代码代码如下:

#alias

aliascp=cp-i

aliasl=ls-d--color=tty

aliasll=ls-l--color=tty

aliasls=ls--color=tty

aliasmv=mv-i

aliasrm=rm-i

aliaswhich=alias|/usr/bin/which--tty-only--read-alias--show-dot--show-tilde

输入unaliascp命令,取消cp命令的别名

复制代码代码如下:

#unaliascp

#cpfilenamenew/filename

#

使用unaliascp命令后,即可使用cpfilenamenew/filename就不会提示输入yes或no了,是不是很方便

二、直接输入cp命令,作用也是取消cp的别名

复制代码代码如下:

#cpfilenamenew/filename

#

是不是比上一个方法更省事

三、使用管道的方式,自动输入yes

复制代码代码如下:

#yes|cpfilenamenew/filename

cp:overwrite`new/filename#

自己替我们输入了yes

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

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 配置linux web服务器 有哪些安全方面要注意

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情