配置linux web服务器 有哪些安全方面要注意
主要有下面几方面:
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
0条评论