设为首页 收藏本站
查看: 1024|回复: 0

[经验分享] 初入linux安全

[复制链接]

尚未签到

发表于 2018-5-18 10:49:05 | 显示全部楼层 |阅读模式
  linux 是开源的操作系统,这样带来的好处是可以免费获取和使用。也可以定制自己的linux系统。由于开源也导致了系统安全的问题,
linux也会收到一些系统底层的攻击。
    一般的攻击手段:
        1.密码暴力破解。用来破解用户密码。(主要针对系统口令,一般可以修改密码难度加入防范多次错误连接机制)
        2.拒绝服务攻击。Dos  (DDos)原理是:利用合理的服务请求来占用过多的服务器资源。向目标服务器发起大量请求,由于服务器短时间内无法接受太多请求,造成系统资源耗尽,服务挂起,严重造成服务器瘫痪。
        3.应用程序漏洞攻击。常见的SQL注入漏洞攻击,网页权限漏洞。已知系统程序的漏洞。
  防范攻击策略
        1.网络传输安全。
            网络传输由网络安全设备构成。一般由硬件防火墙,网络入侵监测(IDC Intrusion Detection System),路由器,交换机。通过给这些设备合理的配置,防范危险。
        2.操作系统安全
            经常进行的系统安全设置:系统内核定期升级,系统自带软件更新,配置防火墙IPtables防范策略。
            SYN攻击属于DDoS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施
            Linux syn攻击是一种黑客攻击,如何处理和减少这种攻击是系统管理员比较重要的工作.
            SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。
            Linux内核提供了若干SYN相关的配置,用命令: sysctl -a | grep syn 看到:
            net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_syncookies = 0
            net.ipv4.tcp_synack_retries = 5 net.ipv4.tcp_syn_retries = 5
            tcp_max_syn_backlog是SYN队列的长度,tcp_syncookies是一个开关,是否打开SYN Cookie 功能,该功能可以防止部分SYN攻击。tcp_synack_retries和tcp_syn_retries定义SYN 的重试次数。加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYN Cookie功能可以阻止部分 SYN攻击,降低重试次数也有一定效果。
            调整上述设置的方法是:
            增加SYN队列长度到2048:
            sysctl -w net.ipv4.tcp_max_syn_backlog=2048
            打开SYN COOKIE功能:
            sysctl -w net.ipv4.tcp_syncookies=1
            降低重试次数:
            sysctl -w net.ipv4.tcp_synack_retries=3 sysctl -w net.ipv4.tcp_syn_retries=3
            为了系统重启动时保持上述配置,可将上述命令加入到/etc/rc.d/rc.local文件中。
            防止同步包洪水(Sync Flood)
            # iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
            也有人写作
            #iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
            --limit 1/s 限制syn并发数每秒1次,可以根据自己的需要修改
            防止各种端口扫描
            # iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
            Ping洪水攻击(Ping of Death)
            # iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
            这些是处理linux sync攻击的思路。
        3.应用软件安全
            服务器上运行的软件程序本身进行安全策略配置和优化。常见www服务的apache安全设置。ftp服务访问授权控制等。
Linux操作系统安全策略
        1.软件的升级
            系统软件一般用yum update (yum工具自动升级。要有网络)
        2.端口和服务。
           端口。其实一个有效的连接的建立,就是客户端的端口和服务器的端口建立连接的过程。端口在系统中有自己的一套划分规律。
           linux 可以通过查看  more  /etc/services
           linux 下,共有655536个可用端口,这些端口以 1024为分割点,分别是;
           ‘只有root用户才能启动的端口’和‘客户端的端口’
           1. 只有root才能开启的端口
                0-1023  端口,主要用于系统一些常见的通信服务中。常见的:ftp  21; telnet 23;mail 25; wwww 80;
           2. 客户端的端口
              1024及以上的端口主要给客户端软件使用,这些端口由软件随机分配。比如 msyql  3306;tomcat 8080 8009;
              oneproxy 4041(管理); php-fpm 9000;当然这些是默认的都可以在配置文件修改的。
              一般查看这些的命令组合: netstat -anltup
            3.服务和端口是一个一一对应的关系。相互依赖,相互衬托的。服务开启,端口也就启动了。
                真正影响安全的是服务,而非端口。
            4.关闭不必要的服务。一般系统需要的服务有syslog(记录日志功能),sshd(远程连接服务器系统)network(激活网络接口的脚本,
                使用网络必须的)xinetd(支持多种网络服务的核心守护进程。包括telnet .vsftpd) iptables(内置的防火墙软件)
                atd(特定时间的指定事物服务)crond(自动安排进程提供运行服务)
                这些是必须开启支撑linux工作。此外,还有些和业务相关的可以开启外,其它的建议关闭。
    密码登录安全:
        密码设置安全:一般8位以上的。数字,字母和特殊字符。定期更换密码等。可以加入防止密码探测机制(一个帐号几次失败后。拒绝访问)
            此外,还可以设置密钥认证登录(限于secureCRT等远程登录程序)可以不通过密码登录。
            在 secureCRT上  工具=创建密钥
            上传密钥到linux,导入密钥
            # ssh-keygen -i -f Identity.pub >>/root/.ssh/authorized_keys
            然后修改登录方式为公钥登录找到生成密钥的路径选中。
            进入linux:修改 ssh2的配置文件:
            Port 22  #这个是ssh连接的默认端口可以改变
            Protocol 2   #使用ssh2
            PubkeyAuthentication yes  #启动 pubkey 认证
            AuthorizedKeysFile     .ssh/authorized_keys    #publickey 文件路径
            PasswordAuthentication no    #不使用密码认证
            # service  sshd  restart    #重启服务使新配置的ssh生效。
    其它设置:
        1.禁止外部ping 测试:
          #  echo "1"> /proc/sys/net/ipv4/icmp_echo_ignore_all
          将忽略ping响应策略开启。
        2.删除系统默认的不必要的服务和账户
            /etc/passwd    /etc/group
            这2个目录存放账户和组的信息:
            可以删除的有  adm  lp sync shutdown halt new  uucp operator ames gopher 等。
            此外  默认shell为 /sbin/nologin 的为不可登录账户
        3.限制 shell记录历史条数
            编辑  /etc/profile 修改  HISTSIZE 参数。
            这里还有个小技巧  : 在命令行下输入  HISTCONTROL=ignorespace   然后在输入命令的时候前面多个空格则history不记录。
        4.关闭 selinux   
            临时关闭 :  setenforce 0
            永久关闭: vi /etc/selinux/conf  (centos 6 下)
                SELINUX=disabled   重启启动系统。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-461625-1-1.html 上篇帖子: Linux内核介绍 下篇帖子: linux下安装Jmeter
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表